From b6077b0ec86185f370d2e4584572551ee0697823 Mon Sep 17 00:00:00 2001 From: Wolfgang Hottgenroth Date: Sat, 27 Jul 2019 23:56:19 +0100 Subject: [PATCH] a couple of fixes and daemon=True disabled --- src/CmdServer.py | 4 ++-- src/CommunicationProcessor.py | 2 +- src/Config.py | 4 ++-- src/Heartbeat.py | 2 +- src/MqttProcessor.py | 6 +++++- src/MyRS485.py | 2 +- src/ScanRateConsideringQueueFeeder.py | 2 +- src/master.py | 11 +++++------ 8 files changed, 18 insertions(+), 15 deletions(-) diff --git a/src/CmdServer.py b/src/CmdServer.py index ab3828c..626aecb 100644 --- a/src/CmdServer.py +++ b/src/CmdServer.py @@ -428,9 +428,9 @@ class CmdServer(threading.Thread): super().__init__() self.config = config self.server = MyThreadingTCPServer((config.cmdAddress, config.cmdPort), CmdHandle, MyCmdUserData(config, notifier, registers)) - self.daemon = True + # self.daemon = True - def start(self): + def run(self): self.server.serve_forever() diff --git a/src/CommunicationProcessor.py b/src/CommunicationProcessor.py index 0d4e086..c5c74a0 100644 --- a/src/CommunicationProcessor.py +++ b/src/CommunicationProcessor.py @@ -20,7 +20,7 @@ class CommunicationProcessor(threading.Thread): self.pubQueue = pubQueue # wiringpi.wiringPiSetup() # wiringpi.pinMode(ERROR_PIN, wiringpi.OUTPUT) - self.daemon = True + # self.daemon = True if self.config.modbusDebug: logging.getLogger('pymodbus').setLevel(logging.DEBUG) else: diff --git a/src/Config.py b/src/Config.py index 98ddd44..1ee9966 100644 --- a/src/Config.py +++ b/src/Config.py @@ -13,5 +13,5 @@ class Config(object): self.serialPort = '/dev/ttyAMA0' self.serialBaudRate = 9600 self.interCommDelay = 0.025 - self.heartbeatTopic = 'Iot/Heartbeat/Modbus2' - self.heartbeatPeriod = 10.0 \ No newline at end of file + self.heartbeatTopic = 'IoT/Heartbeat/Modbus2' + self.heartbeatPeriod = 10.0 diff --git a/src/Heartbeat.py b/src/Heartbeat.py index 02e0c2d..150316a 100644 --- a/src/Heartbeat.py +++ b/src/Heartbeat.py @@ -8,7 +8,7 @@ class Heartbeat(threading.Thread): super().__init__() self.config = config self.pubQueue = pubQueue - self.daemon = True + # self.daemon = True self.logger = logging.getLogger('Heartbeat') def run(self): diff --git a/src/MqttProcessor.py b/src/MqttProcessor.py index 0ab2cab..0e81de5 100644 --- a/src/MqttProcessor.py +++ b/src/MqttProcessor.py @@ -9,6 +9,9 @@ class PublishItem(object): self.topic = topic self.payload = payload + def __str__(self): + return 'Topic: {0}, Payload: {1}'.format(self.topic, self.payload) + def mqttOnConnectCallback(client, userdata, flags, rc): userdata.onConnect() @@ -28,7 +31,7 @@ class MqttProcessor(threading.Thread, AbstractNotificationReceiver): self.client = mqtt.Client(userdata=self) self.subscriptions = [] self.topicRegisterMap ={} - self.daemon = True + # self.daemon = True self.logger = logging.getLogger('MqttProcessor') def __processUpdatedRegisters(self, force=False): @@ -67,6 +70,7 @@ class MqttProcessor(threading.Thread, AbstractNotificationReceiver): while True: pubItem = self.pubQueue.get() if isinstance(pubItem, PublishItem): + self.logger.debug('Publishing {0!s}'.format(pubItem)) self.client.publish(pubItem.topic, pubItem.payload) Pins.pinsWrite('MSG', False) else: diff --git a/src/MyRS485.py b/src/MyRS485.py index e117e58..e02b209 100644 --- a/src/MyRS485.py +++ b/src/MyRS485.py @@ -23,5 +23,5 @@ class MyRS485(serial.Serial): if self.buf[0] & termios.TIOCSER_TEMT: break # wiringpi.digitalWrite(DE_PIN, wiringpi.LOW) - Pins.pinsWrite('DE', False + Pins.pinsWrite('DE', False) diff --git a/src/ScanRateConsideringQueueFeeder.py b/src/ScanRateConsideringQueueFeeder.py index f733196..99364c9 100644 --- a/src/ScanRateConsideringQueueFeeder.py +++ b/src/ScanRateConsideringQueueFeeder.py @@ -10,7 +10,7 @@ class ScanRateConsideringQueueFeeder(threading.Thread, AbstractNotificationRecei self.registers = registers self.queue = queue self.delayEvent = threading.Event() - self.daemon = True + # self.daemon = True self.logger = logging.getLogger('ScanRateConsideringQueueFeeder') def getMinimalScanrate(self): diff --git a/src/master.py b/src/master.py index 9e5c8b6..011fad5 100644 --- a/src/master.py +++ b/src/master.py @@ -49,16 +49,15 @@ if __name__ == "__main__": mp.start() logger.debug('MqttProcessor started') - qf = ScanRateConsideringQueueFeeder.ScanRateConsideringQueueFeeder(config, datapoints, queue) - nf.register(qf) - qf.start() - logger.debug('ScanRateConsideringQueueFeeder started') - cs = CmdServer.CmdServer(config, nf, datapoints) cs.start() logger.debug('CmdServer started') - hb = Heartbeat.HeartBeat(config, pubQueue) + hb = Heartbeat.Heartbeat(config, pubQueue) hb.start() logger.debug('Heartbeat started') + qf = ScanRateConsideringQueueFeeder.ScanRateConsideringQueueFeeder(config, datapoints, queue) + nf.register(qf) + qf.start() + logger.debug('ScanRateConsideringQueueFeeder started')