From 3c6c4201780981fc676929bfad1b718dbf11bc1c Mon Sep 17 00:00:00 2001 From: Wolfgang Hottgenroth Date: Wed, 10 Jul 2019 12:21:48 +0200 Subject: [PATCH] better reset stats handling --- src/RegisterDatapoint.py | 11 +++++------ src/master.py | 3 +-- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/src/RegisterDatapoint.py b/src/RegisterDatapoint.py index 589140f..2370f21 100644 --- a/src/RegisterDatapoint.py +++ b/src/RegisterDatapoint.py @@ -170,17 +170,16 @@ class DiscreteInputDatapoint(ReadOnlyDatapoint): -def resetStatsRegisterList(registers): - for r in registers: - r.errorCount = 0 - r.processCount = 0 - r.enqueued = False -def checkRegisterList(registers): +def checkRegisterList(registers, reset=False): for r in registers: if not isinstance(r, AbstractModbusDatapoint): raise ValueError('Entry in register list {0!s} is not derived from class AbstractModbusDatapoint'.format(r)) else: + if reset: + r.errorCount = 0 + r.processCount = 0 + r.enqueued = False print("Datapoint loaded: {0!s}".format(r)) diff --git a/src/master.py b/src/master.py index e057aae..0251796 100644 --- a/src/master.py +++ b/src/master.py @@ -21,8 +21,7 @@ if __name__ == "__main__": datapoints = None with open(config.registerFile, 'rb') as f: datapoints = pickle.load(f) - RegisterDatapoint.checkRegisterList(datapoints) - RegisterDatapoint.resetStatsRegisterList(datapoints) + RegisterDatapoint.checkRegisterList(datapoints, reset=True) cp = CommunicationProcessor.CommunicationProcessor(config, queue, pubQueue) cp.start()