mirror of
https://github.com/naruxde/revpipyload.git
synced 2025-11-08 15:13:52 +01:00
Übertragung der Values für Watch-Mode an python3.2 angepasst
Bei falschem ACL Wert mit \x18 melden (Cancel)
This commit is contained in:
@@ -1,7 +1,7 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<!DOCTYPE Project SYSTEM "Project-5.1.dtd">
|
<!DOCTYPE Project SYSTEM "Project-5.1.dtd">
|
||||||
<!-- eric project file for project revpipyload -->
|
<!-- 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 -->
|
<!-- Copyright (C) 2018 Sven Sager, akira@narux.de -->
|
||||||
<Project version="5.1">
|
<Project version="5.1">
|
||||||
<Language>en_US</Language>
|
<Language>en_US</Language>
|
||||||
@@ -9,7 +9,7 @@
|
|||||||
<ProgLanguage mixed="0">Python3</ProgLanguage>
|
<ProgLanguage mixed="0">Python3</ProgLanguage>
|
||||||
<ProjectType>Console</ProjectType>
|
<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>
|
<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>
|
<Author>Sven Sager</Author>
|
||||||
<Email>akira@narux.de</Email>
|
<Email>akira@narux.de</Email>
|
||||||
<Eol index="1"/>
|
<Eol index="1"/>
|
||||||
|
|||||||
@@ -220,10 +220,15 @@ class RevPiSlaveDev(Thread):
|
|||||||
proginit.logger.error("error while send read data")
|
proginit.logger.error("error while send read data")
|
||||||
break
|
break
|
||||||
|
|
||||||
elif cmd == b'SD' and self._acl == 1:
|
elif cmd == b'SD':
|
||||||
# Ausgänge setzen, wenn acl es erlaubt
|
# Ausgänge setzen, wenn acl es erlaubt
|
||||||
# bCMiiiic0000000b = 16
|
# 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")
|
position = int.from_bytes(netcmd[3:5], byteorder="little")
|
||||||
length = int.from_bytes(netcmd[5:7], byteorder="little")
|
length = int.from_bytes(netcmd[5:7], byteorder="little")
|
||||||
control = netcmd[7:8]
|
control = netcmd[7:8]
|
||||||
@@ -271,22 +276,31 @@ class RevPiSlaveDev(Thread):
|
|||||||
if 0 < timeoutms < 65535:
|
if 0 < timeoutms < 65535:
|
||||||
self._deadtime = timeoutms / 1000
|
self._deadtime = timeoutms / 1000
|
||||||
self._devcon.settimeout(self._deadtime)
|
self._devcon.settimeout(self._deadtime)
|
||||||
|
proginit.logger.debug(
|
||||||
|
"set socket timeout to {0}".format(self._deadtime)
|
||||||
|
)
|
||||||
|
|
||||||
# Record seperator character
|
# Record seperator character
|
||||||
self._devcon.send(b'\x1e')
|
self._devcon.send(b'\x1e')
|
||||||
else:
|
else:
|
||||||
proginit.logger.error("timeout value must be 0 to 65535")
|
proginit.logger.error("timeout value must be 0 to 65535")
|
||||||
|
self._devcon.send(b'\xff')
|
||||||
break
|
break
|
||||||
|
|
||||||
elif cmd == b'EY':
|
elif cmd == b'EY':
|
||||||
# Bytes bei Verbindungsabbruch schreiben
|
# Bytes bei Verbindungsabbruch schreiben
|
||||||
# bCMiiiix0000000b = 16
|
# 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")
|
position = int.from_bytes(netcmd[3:5], byteorder="little")
|
||||||
length = int.from_bytes(netcmd[5:7], byteorder="little")
|
length = int.from_bytes(netcmd[5:7], byteorder="little")
|
||||||
control = netcmd[7:8]
|
control = netcmd[7:8]
|
||||||
|
|
||||||
if control == b'\xFF':
|
if control == b'\xff':
|
||||||
# Alle Dirtybytes löschen
|
# Alle Dirtybytes löschen
|
||||||
self.ey_dict = {}
|
self.ey_dict = {}
|
||||||
|
|
||||||
@@ -294,7 +308,7 @@ class RevPiSlaveDev(Thread):
|
|||||||
self._devcon.send(b'\x1e')
|
self._devcon.send(b'\x1e')
|
||||||
proginit.logger.info("cleared all dirty bytes")
|
proginit.logger.info("cleared all dirty bytes")
|
||||||
|
|
||||||
elif control == b'\xFE':
|
elif control == b'\xfe':
|
||||||
# Bestimmte Dirtybytes löschen
|
# Bestimmte Dirtybytes löschen
|
||||||
|
|
||||||
if position in self.ey_dict:
|
if position in self.ey_dict:
|
||||||
|
|||||||
@@ -143,7 +143,7 @@ class ProcimgServer():
|
|||||||
bytebuff = bytearray()
|
bytebuff = bytearray()
|
||||||
for dev in self.rpi.device:
|
for dev in self.rpi.device:
|
||||||
bytebuff += bytes(dev)
|
bytebuff += bytes(dev)
|
||||||
return Binary(bytebuff)
|
return Binary(bytes(bytebuff))
|
||||||
else:
|
else:
|
||||||
return None
|
return None
|
||||||
|
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ begrenzt werden!
|
|||||||
__author__ = "Sven Sager"
|
__author__ = "Sven Sager"
|
||||||
__copyright__ = "Copyright (C) 2018 Sven Sager"
|
__copyright__ = "Copyright (C) 2018 Sven Sager"
|
||||||
__license__ = "GPLv3"
|
__license__ = "GPLv3"
|
||||||
__version__ = "0.6.7"
|
__version__ = "0.6.8"
|
||||||
import gzip
|
import gzip
|
||||||
import logsystem
|
import logsystem
|
||||||
import picontrolserver
|
import picontrolserver
|
||||||
|
|||||||
Reference in New Issue
Block a user