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()