fix(LamNI): push smear composite via new IDSCamera RPC method
dev.cam_xeye.image.put(composite) failed on real hardware -- PreviewSignal is a BECMessageSignal subclass, and BEC hardcodes rpc_access=False for that signal_info, so the client-side device proxy never exposes `image` as an attribute at all (confirmed: this is a structural BEC constraint, not specific to this device -- no existing RPC surface, device or widget, offers a raw-array setter either). Add IDSCamera.push_preview_image(data), a small device-server-side method (alongside the existing get_last_image()) that does self.image.put(data) from within the device-server process, where PreviewSignal is a normal ophyd attribute. _push_smear_composite now calls dev.cam_xeye.push_preview_image(composite) instead of writing to the signal directly. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -395,7 +395,7 @@ def test_push_smear_composite_duty_cycles_live_mode(bec_client_mock):
|
||||
False,
|
||||
True,
|
||||
]
|
||||
dev_mock.cam_xeye.image.put.assert_called_once_with(composite)
|
||||
dev_mock.cam_xeye.push_preview_image.assert_called_once_with(composite)
|
||||
|
||||
|
||||
def test_smear_sweep_max_projection(bec_client_mock):
|
||||
|
||||
Reference in New Issue
Block a user