Simulate more correct counter resetting
Some checks failed
Example Action / Lint (push) Successful in 2s
Example Action / BuildAndTest (push) Has been cancelled

This commit is contained in:
2025-09-10 12:47:56 +02:00
parent eefb8c2053
commit bf9921ab05
2 changed files with 7 additions and 3 deletions

View File

@@ -4,7 +4,7 @@ include /ioc/tools/driver.makefile
MODULE=sinqDAQ
BUILDCLASSES=Linux
EPICS_VERSIONS=7.0.7
ARCH_FILTER=RHEL%
ARCH_FILTER=RHEL8%
# additional module dependencies
REQUIRED+=asyn

View File

@@ -50,7 +50,7 @@ class DAQ:
]
def clearCount(self, counter):
self.counts[counter-1] = 0
self.counts[counter] = 0
def clearCounts(self):
self.counts = [0] * self.total_channels
@@ -260,7 +260,11 @@ with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
elif re.fullmatch(r'CC (\d+)', data):
counter = int(re.fullmatch(r'CC (\d+)', data).group(1))
daq.clearCount(counter)
num_bits = daq.total_channels
bits = [(counter >> bit) & 1 for bit in range(num_bits - 1, -1, -1)]
for ch, bit in enumerate(bits):
if bit:
daq.clearCount(ch)
send('')
elif re.fullmatch(r'TP (\d+(\.\d+)?)', data):