Ü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

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE Project SYSTEM "Project-5.1.dtd">
<!-- eric project file for project revpipyload -->
<!-- Saved: 2018-08-12, 18:40:18 -->
<!-- Saved: 2018-08-23, 10:37:20 -->
<!-- Copyright (C) 2018 Sven Sager, akira@narux.de -->
<Project version="5.1">
<Language>en_US</Language>
@@ -9,7 +9,7 @@
<ProgLanguage mixed="0">Python3</ProgLanguage>
<ProjectType>Console</ProjectType>
<Description>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.</Description>
<Version>0.6.7</Version>
<Version>0.6.8</Version>
<Author>Sven Sager</Author>
<Email>akira@narux.de</Email>
<Eol index="1"/>

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

View File

@@ -27,7 +27,7 @@ setup(
license="LGPLv3",
name="revpipyload",
version="0.6.7",
version="0.6.8",
scripts=["data/revpipyload"],