From 37a268fe7b822073696d41c2fa3d60d35b8538c3 Mon Sep 17 00:00:00 2001 From: x01da Date: Mon, 20 Oct 2025 12:58:31 +0200 Subject: [PATCH] add additional CI channels for NIDAQ. Add enable PV for dead time correction --- debye_bec/devices/nidaq/nidaq.py | 131 +++++++++++++++++++++++++++++++ 1 file changed, 131 insertions(+) diff --git a/debye_bec/devices/nidaq/nidaq.py b/debye_bec/devices/nidaq/nidaq.py index 1679e77..5d4c77b 100644 --- a/debye_bec/devices/nidaq/nidaq.py +++ b/debye_bec/devices/nidaq/nidaq.py @@ -146,6 +146,76 @@ class NidaqControl(Device): doc="EPICS counter input 7", auto_monitor=True, ) + ci8 = Cpt( + EpicsSignalRO, + suffix="NIDAQ-CI8", + kind=Kind.normal, + doc="EPICS counter input 8", + auto_monitor=True, + ) + ci9 = Cpt( + EpicsSignalRO, + suffix="NIDAQ-CI9", + kind=Kind.normal, + doc="EPICS counter input 9", + auto_monitor=True, + ) + ci10 = Cpt( + EpicsSignalRO, + suffix="NIDAQ-CI10", + kind=Kind.normal, + doc="EPICS counter input 0", + auto_monitor=True, + ) + ci11 = Cpt( + EpicsSignalRO, + suffix="NIDAQ-CI11", + kind=Kind.normal, + doc="EPICS counter input 1", + auto_monitor=True, + ) + ci12 = Cpt( + EpicsSignalRO, + suffix="NIDAQ-CI12", + kind=Kind.normal, + doc="EPICS counter input 2", + auto_monitor=True, + ) + ci13 = Cpt( + EpicsSignalRO, + suffix="NIDAQ-CI13", + kind=Kind.normal, + doc="EPICS counter input 3", + auto_monitor=True, + ) + ci14 = Cpt( + EpicsSignalRO, + suffix="NIDAQ-CI14", + kind=Kind.normal, + doc="EPICS counter input 4", + auto_monitor=True, + ) + ci15 = Cpt( + EpicsSignalRO, + suffix="NIDAQ-CI15", + kind=Kind.normal, + doc="EPICS counter input 5", + auto_monitor=True, + ) + ci16 = Cpt( + EpicsSignalRO, + suffix="NIDAQ-CI16", + kind=Kind.normal, + doc="EPICS counter input 6", + auto_monitor=True, + ) + ci17 = Cpt( + EpicsSignalRO, + suffix="NIDAQ-CI17", + kind=Kind.normal, + doc="EPICS counter input 7", + auto_monitor=True, + ) di0 = Cpt( EpicsSignalRO, @@ -275,6 +345,36 @@ class NidaqControl(Device): ci7_mean = Cpt( SetableSignal, value=0, kind=Kind.normal, doc="NIDAQ stream counter input 7, MEAN" ) + ci8_mean = Cpt( + SetableSignal, value=0, kind=Kind.normal, doc="NIDAQ stream counter input 8, MEAN" + ) + ci9_mean = Cpt( + SetableSignal, value=0, kind=Kind.normal, doc="NIDAQ stream counter input 9, MEAN" + ) + ci10_mean = Cpt( + SetableSignal, value=0, kind=Kind.normal, doc="NIDAQ stream counter input 10, MEAN" + ) + ci11_mean = Cpt( + SetableSignal, value=0, kind=Kind.normal, doc="NIDAQ stream counter input 11, MEAN" + ) + ci12_mean = Cpt( + SetableSignal, value=0, kind=Kind.normal, doc="NIDAQ stream counter input 12, MEAN" + ) + ci13_mean = Cpt( + SetableSignal, value=0, kind=Kind.normal, doc="NIDAQ stream counter input 13, MEAN" + ) + ci14_mean = Cpt( + SetableSignal, value=0, kind=Kind.normal, doc="NIDAQ stream counter input 14, MEAN" + ) + ci15_mean = Cpt( + SetableSignal, value=0, kind=Kind.normal, doc="NIDAQ stream counter input 15, MEAN" + ) + ci16_mean = Cpt( + SetableSignal, value=0, kind=Kind.normal, doc="NIDAQ stream counter input 16, MEAN" + ) + ci17_mean = Cpt( + SetableSignal, value=0, kind=Kind.normal, doc="NIDAQ stream counter input 17, MEAN" + ) ci0_std_dev = Cpt( SetableSignal, value=0, kind=Kind.normal, doc="NIDAQ stream counter input 0. STD" @@ -300,6 +400,36 @@ class NidaqControl(Device): ci7_std_dev = Cpt( SetableSignal, value=0, kind=Kind.normal, doc="NIDAQ stream counter input 7. STD" ) + ci8_std_dev = Cpt( + SetableSignal, value=0, kind=Kind.normal, doc="NIDAQ stream counter input 8. STD" + ) + ci9_std_dev = Cpt( + SetableSignal, value=0, kind=Kind.normal, doc="NIDAQ stream counter input 9. STD" + ) + ci10_std_dev = Cpt( + SetableSignal, value=0, kind=Kind.normal, doc="NIDAQ stream counter input 10. STD" + ) + ci11_std_dev = Cpt( + SetableSignal, value=0, kind=Kind.normal, doc="NIDAQ stream counter input 11. STD" + ) + ci12_std_dev = Cpt( + SetableSignal, value=0, kind=Kind.normal, doc="NIDAQ stream counter input 12. STD" + ) + ci13_std_dev = Cpt( + SetableSignal, value=0, kind=Kind.normal, doc="NIDAQ stream counter input 13. STD" + ) + ci14_std_dev = Cpt( + SetableSignal, value=0, kind=Kind.normal, doc="NIDAQ stream counter input 14. STD" + ) + ci15_std_dev = Cpt( + SetableSignal, value=0, kind=Kind.normal, doc="NIDAQ stream counter input 15. STD" + ) + ci16_std_dev = Cpt( + SetableSignal, value=0, kind=Kind.normal, doc="NIDAQ stream counter input 16. STD" + ) + ci17_std_dev = Cpt( + SetableSignal, value=0, kind=Kind.normal, doc="NIDAQ stream counter input 17. STD" + ) xas_timestamp = Cpt(SetableSignal, value=0, kind=Kind.normal, doc="NIDAQ stream XAS timestamp") @@ -320,6 +450,7 @@ class NidaqControl(Device): ### Control PVs ### enable_compression = Cpt(EpicsSignal, suffix="NIDAQ-EnableRLE", kind=Kind.config) + enable_dead_time_correction = Cpt(EpicsSignal, suffix="NIDAQ-EnableDTC", kind=Kind.config) kickoff_call = Cpt(EpicsSignal, suffix="NIDAQ-Kickoff", kind=Kind.config) stage_call = Cpt(EpicsSignal, suffix="NIDAQ-Stage", kind=Kind.config) state = Cpt(EpicsSignal, suffix="NIDAQ-FSMState", kind=Kind.config, auto_monitor=True)