Übertragung der Values für Watch-Mode an python3.2 angepasst

Bei falschem ACL Wert mit \x18 melden (Cancel)
This commit is contained in:
2018-08-23 15:18:33 +02:00
parent 58629a62a4
commit 1b3dc4e595
5 changed files with 22 additions and 8 deletions

View File

@@ -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:

View File

@@ -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

View File

@@ -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