diff --git a/doc/proginit.html b/doc/proginit.html
index 61d58df..c1901e6 100644
--- a/doc/proginit.html
+++ b/doc/proginit.html
@@ -12,7 +12,7 @@ Main functions of our program.
Global Attributes
-| __author__ |
| __copyright__ |
| __license__ |
| forked |
| globalconffile |
| logapp |
| logger |
| logplc |
| pargs |
| picontrolreset |
| rapcatalog |
| startdir |
+| __author__ |
| __copyright__ |
| __license__ |
| conf |
| forked |
| globalconffile |
| logapp |
| logger |
| logplc |
| pargs |
| picontrolreset |
| rapcatalog |
| startdir |
Classes
diff --git a/eric-revpipyload.api b/eric-revpipyload.api
index 813f47c..fa7112a 100644
--- a/eric-revpipyload.api
+++ b/eric-revpipyload.api
@@ -72,6 +72,7 @@ proginit.__author__?9
proginit.__copyright__?9
proginit.__license__?9
proginit.cleanup?4()
+proginit.conf?7
proginit.configure?4()
proginit.forked?7
proginit.globalconffile?7
diff --git a/revpipyload/picontrolserver.py b/revpipyload/picontrolserver.py
index 8105ced..cb3501d 100644
--- a/revpipyload/picontrolserver.py
+++ b/revpipyload/picontrolserver.py
@@ -11,7 +11,6 @@ from threading import Event, Thread
from timeit import default_timer
-# NOTE: Sollte dies als Process ausgeführt werden?
class RevPiSlave(Thread):
"""RevPi PLC-Server.
@@ -386,6 +385,29 @@ class RevPiSlaveDev(Thread):
# End-of-Transmission character immer senden
self._devcon.send(b'\x04')
+ elif cmd == b'RP':
+ # piCtory Konfiguration senden
+ proginit.logger.debug(
+ "transfair replace_io configuration: {0}"
+ "".format(proginit.pargs.configrsc)
+ )
+ replace_ios = proginit.conf["DEFAULT"].get("replace_ios", None)
+ try:
+ if replace_ios:
+ with open(replace_ios, "rb") as fh:
+ # Komplette piCtory Datei senden
+ self._devcon.sendall(fh.read())
+ except Exception as e:
+ proginit.logger.error(
+ "error on replace_io transfair: {0}".format(e)
+ )
+ break
+ else:
+ continue
+ finally:
+ # End-of-Transmission character immer senden
+ self._devcon.send(b'\x04')
+
elif cmd == b'EX':
# Sauber Verbindung verlassen
dirty = False
@@ -407,6 +429,7 @@ class RevPiSlaveDev(Thread):
break
try:
+ # FIXME: IOCTL für Dateien implementieren
if proginit.pargs.procimg == "/dev/piControl0":
# Läuft auf RevPi
ioctl(fh_proc, request, arg)
diff --git a/revpipyload/proginit.py b/revpipyload/proginit.py
index a0bf0fd..63dddf3 100644
--- a/revpipyload/proginit.py
+++ b/revpipyload/proginit.py
@@ -7,7 +7,9 @@ import logging
import os
import sys
from argparse import ArgumentParser
+from configparser import ConfigParser
+conf = ConfigParser()
forked = False
globalconffile = None
logapp = "revpipyloadapp.log"
diff --git a/revpipyload/revpipyload.py b/revpipyload/revpipyload.py
index c25dcee..ea6b286 100755
--- a/revpipyload/revpipyload.py
+++ b/revpipyload/revpipyload.py
@@ -71,6 +71,7 @@ class RevPiPyLoad():
self.replaceiosmtime = 0
self.evt_loadconfig = Event()
self.globalconfig = ConfigParser()
+ proginit.conf = self.globalconfig
self.logr = logsystem.LogReader()
self.xsrv = None
self.xml_ps = None
@@ -197,6 +198,7 @@ class RevPiPyLoad():
"loading config file: {0}".format(proginit.globalconffile)
)
self.globalconfig.read(proginit.globalconffile)
+ proginit.conf = self.globalconfig
# Merker für Subsystem-Neustart nach laden, vor setzen
restart_plcmqtt = self._check_mustrestart_mqtt()
@@ -706,6 +708,8 @@ class RevPiPyLoad():
if self.mqtt and self.th_plcmqtt is not None:
self.th_plcmqtt.reload_revpimodio()
+ # FIXME: ProcImgServer muss alle Verbindungen vernichten
+
# XML Prozessabbildserver neu laden
if self.xml_ps is not None:
self.xml_psstop()
@@ -1085,6 +1089,7 @@ class RevPiPyLoad():
# conf-Datei schreiben
with open(proginit.globalconffile, "w") as fh:
self.globalconfig.write(fh)
+ proginit.conf = self.globalconfig
proginit.logger.info(
"got new config and wrote it to {0}"
"".format(proginit.globalconffile)
diff --git a/stdeb.cfg b/stdeb.cfg
index 5cbcf63..afbf121 100644
--- a/stdeb.cfg
+++ b/stdeb.cfg
@@ -1,5 +1,5 @@
[DEFAULT]
Debian-Version: 1
-Depends3: python3-revpimodio2 (>= 2.2.5)
+Depends3: python3-revpimodio2 (>= 2.3.3)
Package: revpipyload
Suite: stable