diff --git a/revpipyload.e4p b/revpipyload.e4p index 097630e..6b48e94 100644 --- a/revpipyload.e4p +++ b/revpipyload.e4p @@ -1,7 +1,7 @@ - + en_US @@ -9,7 +9,7 @@ Python3 Console Dieser Loader wird über das Init-System geladen und führt das angegebene Pythonprogramm aus. Es ist für den RevolutionPi gedacht um automatisch das SPS-Programm zu starten. - 0.6.7 + 0.6.8 Sven Sager akira@narux.de diff --git a/revpipyload/picontrolserver.py b/revpipyload/picontrolserver.py index e30db0f..ab5b651 100644 --- a/revpipyload/picontrolserver.py +++ b/revpipyload/picontrolserver.py @@ -220,10 +220,15 @@ class RevPiSlaveDev(Thread): proginit.logger.error("error while send read data") break - elif cmd == b'SD' and self._acl == 1: + elif cmd == b'SD': # Ausgänge setzen, wenn acl es erlaubt # bCMiiiic0000000b = 16 + # Berechtigung prüfen und ggf. trennen + if self._acl < 1: + self._devcon.send(b'\x18') + break + position = int.from_bytes(netcmd[3:5], byteorder="little") length = int.from_bytes(netcmd[5:7], byteorder="little") control = netcmd[7:8] @@ -271,22 +276,31 @@ class RevPiSlaveDev(Thread): if 0 < timeoutms < 65535: self._deadtime = timeoutms / 1000 self._devcon.settimeout(self._deadtime) + proginit.logger.debug( + "set socket timeout to {0}".format(self._deadtime) + ) # Record seperator character self._devcon.send(b'\x1e') else: proginit.logger.error("timeout value must be 0 to 65535") + self._devcon.send(b'\xff') break elif cmd == b'EY': # Bytes bei Verbindungsabbruch schreiben # bCMiiiix0000000b = 16 + # Berechtigung prüfen und ggf. trennen + if self._acl < 1: + self._devcon.send(b'\x18') + break + position = int.from_bytes(netcmd[3:5], byteorder="little") length = int.from_bytes(netcmd[5:7], byteorder="little") control = netcmd[7:8] - if control == b'\xFF': + if control == b'\xff': # Alle Dirtybytes löschen self.ey_dict = {} @@ -294,7 +308,7 @@ class RevPiSlaveDev(Thread): self._devcon.send(b'\x1e') proginit.logger.info("cleared all dirty bytes") - elif control == b'\xFE': + elif control == b'\xfe': # Bestimmte Dirtybytes löschen if position in self.ey_dict: diff --git a/revpipyload/procimgserver.py b/revpipyload/procimgserver.py index e6d9a52..8085347 100644 --- a/revpipyload/procimgserver.py +++ b/revpipyload/procimgserver.py @@ -143,7 +143,7 @@ class ProcimgServer(): bytebuff = bytearray() for dev in self.rpi.device: bytebuff += bytes(dev) - return Binary(bytebuff) + return Binary(bytes(bytebuff)) else: return None diff --git a/revpipyload/revpipyload.py b/revpipyload/revpipyload.py index 925ce7b..ff3835f 100755 --- a/revpipyload/revpipyload.py +++ b/revpipyload/revpipyload.py @@ -28,7 +28,7 @@ begrenzt werden! __author__ = "Sven Sager" __copyright__ = "Copyright (C) 2018 Sven Sager" __license__ = "GPLv3" -__version__ = "0.6.7" +__version__ = "0.6.8" import gzip import logsystem import picontrolserver diff --git a/setup.py b/setup.py index c9ae824..06fc127 100644 --- a/setup.py +++ b/setup.py @@ -27,7 +27,7 @@ setup( license="LGPLv3", name="revpipyload", - version="0.6.7", + version="0.6.8", scripts=["data/revpipyload"],