-
Notifications
You must be signed in to change notification settings - Fork 6
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Det display #354
base: main
Are you sure you want to change the base?
Det display #354
Conversation
Looks like there was a merge commit to bring your branch up to date with the spc-group repo (or something like that). During that merge, looks like there was a conflict that was not resolved. If git can't figure out how to merge things, it prints a message saying there are conflicts, and telling you they need to be resolved before the merge can be completed. It also puts markers into to file so you can see what the conflict is. In this case, it looks like you completed the merge without actually resolving the conflicts so the markers were left in. Since those markers are not valid XML, Qt cannot open the resulting UI files. Take a look at "Files Changed" tab and find the line_scan.ui file. You'll find a "<<<" and similar are being added by this PR. You need to resolve that conflict. This might be helpful: https://www.geeksforgeeks.org/merge-conflicts-and-how-to-handle-them/#handling-the-merge-conflict |
When I tried to run this at the beamline with the sim detector, I got the following errors when I tried to first open the sim detector window: [2025-01-24 14:24:08,471] [ERROR ] - Unable to create a connection to <PyDMChannel (haven://sim_det_aio.drv.gain)>
Traceback (most recent call last):
File "/home/beams0/S25IDCUSER/miniforge3/envs/haven-dev/lib/python3.10/site-packages/typhos/plugins/core.py", line 340, in add_connection
super().add_connection(channel)
File "/home/beams0/S25IDCUSER/miniforge3/envs/haven-dev/lib/python3.10/site-packages/pydm/data_plugins/plugin.py", line 312, in add_connection
self.connections[connection_id] = self.connection_class(channel, address, self.protocol)
File "/home/beams0/S25IDCUSER/src/haven/src/firefly/pydm_plugin.py", line 165, in connection_class
sig = beamline.devices[address]
File "/home/beams0/S25IDCUSER/miniforge3/envs/haven-dev/lib/python3.10/site-packages/ophydregistry/registry.py", line 181, in __getitem__
return self.find(key)
File "/home/beams0/S25IDCUSER/miniforge3/envs/haven-dev/lib/python3.10/site-packages/ophydregistry/registry.py", line 344, in find
self.findall(any_of=any_of, label=label, name=name, allow_none=allow_none)
File "/home/beams0/S25IDCUSER/miniforge3/envs/haven-dev/lib/python3.10/site-packages/ophydregistry/registry.py", line 499, in findall
first = next(results)
File "/home/beams0/S25IDCUSER/miniforge3/envs/haven-dev/lib/python3.10/site-packages/ophydregistry/registry.py", line 428, in _findall_by_name
cpt_ = getattr(cpt_, attr)
AttributeError: 'ADBaseIO' object has no attribute 'gain'
[2025-01-24 14:24:08,472] [ERROR ] - Unable to create a connection to <PyDMChannel (haven://sim_det_aio.drv.DetectorState_RBV)>
Traceback (most recent call last):
File "/home/beams0/S25IDCUSER/miniforge3/envs/haven-dev/lib/python3.10/site-packages/typhos/plugins/core.py", line 340, in add_connection
super().add_connection(channel)
File "/home/beams0/S25IDCUSER/miniforge3/envs/haven-dev/lib/python3.10/site-packages/pydm/data_plugins/plugin.py", line 312, in add_connection
self.connections[connection_id] = self.connection_class(channel, address, self.protocol)
File "/home/beams0/S25IDCUSER/src/haven/src/firefly/pydm_plugin.py", line 165, in connection_class
sig = beamline.devices[address]
File "/home/beams0/S25IDCUSER/miniforge3/envs/haven-dev/lib/python3.10/site-packages/ophydregistry/registry.py", line 181, in __getitem__
return self.find(key)
File "/home/beams0/S25IDCUSER/miniforge3/envs/haven-dev/lib/python3.10/site-packages/ophydregistry/registry.py", line 344, in find
self.findall(any_of=any_of, label=label, name=name, allow_none=allow_none)
File "/home/beams0/S25IDCUSER/miniforge3/envs/haven-dev/lib/python3.10/site-packages/ophydregistry/registry.py", line 499, in findall
first = next(results)
File "/home/beams0/S25IDCUSER/miniforge3/envs/haven-dev/lib/python3.10/site-packages/ophydregistry/registry.py", line 428, in _findall_by_name
cpt_ = getattr(cpt_, attr)
AttributeError: 'ADBaseIO' object has no attribute 'DetectorState_RBV'
[2025-01-24 14:24:08,473] [ERROR ] - Unable to create a connection to <PyDMChannel (haven://sim_det_aio.drv.acquire_time_auto)>
Traceback (most recent call last):
File "/home/beams0/S25IDCUSER/miniforge3/envs/haven-dev/lib/python3.10/site-packages/typhos/plugins/core.py", line 340, in add_connection
super().add_connection(channel)
File "/home/beams0/S25IDCUSER/miniforge3/envs/haven-dev/lib/python3.10/site-packages/pydm/data_plugins/plugin.py", line 312, in add_connection
self.connections[connection_id] = self.connection_class(channel, address, self.protocol)
File "/home/beams0/S25IDCUSER/src/haven/src/firefly/pydm_plugin.py", line 165, in connection_class
sig = beamline.devices[address]
File "/home/beams0/S25IDCUSER/miniforge3/envs/haven-dev/lib/python3.10/site-packages/ophydregistry/registry.py", line 181, in __getitem__
return self.find(key)
File "/home/beams0/S25IDCUSER/miniforge3/envs/haven-dev/lib/python3.10/site-packages/ophydregistry/registry.py", line 344, in find
self.findall(any_of=any_of, label=label, name=name, allow_none=allow_none)
File "/home/beams0/S25IDCUSER/miniforge3/envs/haven-dev/lib/python3.10/site-packages/ophydregistry/registry.py", line 499, in findall
first = next(results)
File "/home/beams0/S25IDCUSER/miniforge3/envs/haven-dev/lib/python3.10/site-packages/ophydregistry/registry.py", line 428, in _findall_by_name
cpt_ = getattr(cpt_, attr)
AttributeError: 'ADBaseIO' object has no attribute 'acquire_time_auto'
[2025-01-24 14:24:08,473] [ERROR ] - Unable to create a connection to <PyDMChannel (haven://sim_det_aio.drv.gain_auto)>
Traceback (most recent call last):
File "/home/beams0/S25IDCUSER/miniforge3/envs/haven-dev/lib/python3.10/site-packages/typhos/plugins/core.py", line 340, in add_connection
super().add_connection(channel)
File "/home/beams0/S25IDCUSER/miniforge3/envs/haven-dev/lib/python3.10/site-packages/pydm/data_plugins/plugin.py", line 312, in add_connection
self.connections[connection_id] = self.connection_class(channel, address, self.protocol)
File "/home/beams0/S25IDCUSER/src/haven/src/firefly/pydm_plugin.py", line 165, in connection_class
sig = beamline.devices[address]
File "/home/beams0/S25IDCUSER/miniforge3/envs/haven-dev/lib/python3.10/site-packages/ophydregistry/registry.py", line 181, in __getitem__
return self.find(key)
File "/home/beams0/S25IDCUSER/miniforge3/envs/haven-dev/lib/python3.10/site-packages/ophydregistry/registry.py", line 344, in find
self.findall(any_of=any_of, label=label, name=name, allow_none=allow_none)
File "/home/beams0/S25IDCUSER/miniforge3/envs/haven-dev/lib/python3.10/site-packages/ophydregistry/registry.py", line 499, in findall
first = next(results)
File "/home/beams0/S25IDCUSER/miniforge3/envs/haven-dev/lib/python3.10/site-packages/ophydregistry/registry.py", line 428, in _findall_by_name
cpt_ = getattr(cpt_, attr)
AttributeError: 'ADBaseIO' object has no attribute 'gain_auto'
Traceback (most recent call last):
File "/home/beams0/S25IDCUSER/src/haven/src/firefly/action.py", line 71, in show_window
self.create_window()
File "/home/beams0/S25IDCUSER/src/haven/src/firefly/action.py", line 88, in create_window
window.open(str(self.display_file.resolve()), **kwargs)
File "/home/beams0/S25IDCUSER/src/haven/src/firefly/main_window.py", line 125, in open
widget = super().open(*args, **kwargs)
File "/home/beams0/S25IDCUSER/miniforge3/envs/haven-dev/lib/python3.10/site-packages/pydm/main_window.py", line 385, in open
new_widget = load_file(filename, macros=macros, args=args, target=target)
File "/home/beams0/S25IDCUSER/miniforge3/envs/haven-dev/lib/python3.10/site-packages/pydm/display.py", line 69, in load_file
loaded_display = loader(file, args=args, macros=macros)
File "/home/beams0/S25IDCUSER/miniforge3/envs/haven-dev/lib/python3.10/site-packages/pydm/display.py", line 291, in load_py_file
instance = cls(**kwargs)
File "/home/beams0/S25IDCUSER/src/haven/src/firefly/area_detector_viewer.py", line 29, in __init__
super().__init__(parent=parent, args=args, macros=macros)
File "/home/beams0/S25IDCUSER/src/haven/src/firefly/display.py", line 28, in __init__
self.customize_device()
File "/home/beams0/S25IDCUSER/src/haven/src/firefly/area_detector_viewer.py", line 55, in customize_device
img_pv = device.pva.pv_name.get(as_string=True)
AttributeError: 'SimDetector' object has no attribute 'pva' Did you test this with a real detector, and if so what did you do to get it to work? If not, looks like there are some signals missing on the ophyd-async devices that you need. Want to send me a list and I can add them. Would you be willing to give me commit privileges on your github repo so I can add them directly? Otherwise I will fork your repo and make a new PR with these additions. |
In pytest, two tests failed related to 'values'. Not sure how to update. Is it necessary to have the attribute 'values' for the class 'XspressDriverIO'? For Firefly GUI test, display window is emply. No "pva" signal? |
Things to do before merging: