Skip to content

Commit c747168

Browse files
committed
[cytation5] reset trigger on stop
1 parent 1636440 commit c747168

File tree

1 file changed

+18
-0
lines changed

1 file changed

+18
-0
lines changed

pylabrobot/plate_reading/biotek_backend.py

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -434,6 +434,8 @@ async def stop(self) -> None:
434434
await self.io.stop()
435435

436436
if hasattr(self, "cam") and self.cam is not None:
437+
await self._reset_trigger()
438+
437439
self.cam.DeInit()
438440
del self.cam
439441
if hasattr(self, "spinnaker_system") and self.spinnaker_system is not None:
@@ -443,6 +445,22 @@ async def stop(self) -> None:
443445
self._filters = None
444446
self._slow_mode = None
445447

448+
async def _reset_trigger(self):
449+
# adopted from example
450+
nodemap = self.cam.GetNodeMap()
451+
try:
452+
node_trigger_mode = PySpin.CEnumerationPtr(nodemap.GetNode("TriggerMode"))
453+
if not PySpin.IsReadable(node_trigger_mode) or not PySpin.IsWritable(node_trigger_mode):
454+
return
455+
456+
node_trigger_mode_off = node_trigger_mode.GetEntryByName("Off")
457+
if not PySpin.IsReadable(node_trigger_mode_off):
458+
return
459+
460+
node_trigger_mode.SetIntValue(node_trigger_mode_off.GetValue())
461+
except PySpin.SpinnakerException as ex:
462+
pass
463+
446464
async def _purge_buffers(self) -> None:
447465
"""Purge the RX and TX buffers, as implemented in Gen5.exe"""
448466
for _ in range(6):

0 commit comments

Comments
 (0)