diff --git a/data/etc/revpipyload/revpipyload.conf b/data/etc/revpipyload/revpipyload.conf index ab69a8d..528af45 100644 --- a/data/etc/revpipyload/revpipyload.conf +++ b/data/etc/revpipyload/revpipyload.conf @@ -1,17 +1,17 @@ [DEFAULT] -autoreload=1 -autostart=1 -plcworkdir=/var/lib/revpipyload -plcprogram=program.py +autoreload = 1 +autostart = 1 +plcworkdir = /var/lib/revpipyload +plcprogram = program.py plcarguments= -plcuid=1000 -plcgid=1000 -plcslave=0 -plcslaveacl= +plcuid = 1000 +plcgid = 1000 +plcslave = 0 +plcslaveacl = plcslaveport = 55234 -pythonversion=3 -xmlrpc=0 +pythonversion = 3 +xmlrpc = 0 xmlrpcacl = -xmlrpcport=55123 -zeroonerror=0 -zeroonexit=0 +xmlrpcport = 55123 +zeroonerror = 0 +zeroonexit = 0 diff --git a/revpipyload.e4p b/revpipyload.e4p index bd9eb3b..4bf65ab 100644 --- a/revpipyload.e4p +++ b/revpipyload.e4p @@ -1,7 +1,7 @@ - + en_US @@ -12,7 +12,7 @@ 0.5.0 Sven Sager akira@narux.de - + revpipyload/proginit.py setup.py diff --git a/revpipyload/revpipyload.py b/revpipyload/revpipyload.py index 8ab0a01..6fac32e 100755 --- a/revpipyload/revpipyload.py +++ b/revpipyload/revpipyload.py @@ -597,6 +597,7 @@ class RevPiSlaveDev(Thread): self._deadtime = None self._devcon, self._addr = devcon self._evt_exit = Event() + self._writeerror = False # Sicherheitsbytes self.ey_dict = {} @@ -660,6 +661,7 @@ class RevPiSlaveDev(Thread): block = self._devcon.recv(length) except: proginit.logger.error("error while recv data to write") + self._writeerror = True break fh_proc.seek(position) @@ -671,7 +673,12 @@ class RevPiSlaveDev(Thread): break # Record seperator character - self._devcon.send(b'\x1e') + if control == b'\x1c': + if self._writeerror: + self._devcon.send(b'\xff') + else: + self._devcon.send(b'\x1e') + self._writeerror = False elif cmd == b'\x06\x16': # Just sync @@ -749,6 +756,7 @@ class RevPiSlaveDev(Thread): while True: data = fh_pic.read(1024) if data: + # FIXME: Fehler fangen self._devcon.send(data) else: fh_pic.close()