Simulate more correct counter resetting
This commit is contained in:
2
Makefile
2
Makefile
@@ -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
|
||||
|
||||
@@ -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):
|
||||
|
||||
Reference in New Issue
Block a user