mirror of
https://github.com/naruxde/revpipyload.git
synced 2025-11-08 23:23:52 +01:00
Übertragung der replace_io über das Netzwerk begonnen
This commit is contained in:
@@ -12,7 +12,7 @@ Main functions of our program.
|
|||||||
<h3 style="background-color:#FFFFFF;color:#FF0000">
|
<h3 style="background-color:#FFFFFF;color:#FF0000">
|
||||||
Global Attributes</h3>
|
Global Attributes</h3>
|
||||||
<table>
|
<table>
|
||||||
<tr><td>__author__</td></tr><tr><td>__copyright__</td></tr><tr><td>__license__</td></tr><tr><td>forked</td></tr><tr><td>globalconffile</td></tr><tr><td>logapp</td></tr><tr><td>logger</td></tr><tr><td>logplc</td></tr><tr><td>pargs</td></tr><tr><td>picontrolreset</td></tr><tr><td>rapcatalog</td></tr><tr><td>startdir</td></tr>
|
<tr><td>__author__</td></tr><tr><td>__copyright__</td></tr><tr><td>__license__</td></tr><tr><td>conf</td></tr><tr><td>forked</td></tr><tr><td>globalconffile</td></tr><tr><td>logapp</td></tr><tr><td>logger</td></tr><tr><td>logplc</td></tr><tr><td>pargs</td></tr><tr><td>picontrolreset</td></tr><tr><td>rapcatalog</td></tr><tr><td>startdir</td></tr>
|
||||||
</table>
|
</table>
|
||||||
<h3 style="background-color:#FFFFFF;color:#FF0000">
|
<h3 style="background-color:#FFFFFF;color:#FF0000">
|
||||||
Classes</h3>
|
Classes</h3>
|
||||||
|
|||||||
@@ -72,6 +72,7 @@ proginit.__author__?9
|
|||||||
proginit.__copyright__?9
|
proginit.__copyright__?9
|
||||||
proginit.__license__?9
|
proginit.__license__?9
|
||||||
proginit.cleanup?4()
|
proginit.cleanup?4()
|
||||||
|
proginit.conf?7
|
||||||
proginit.configure?4()
|
proginit.configure?4()
|
||||||
proginit.forked?7
|
proginit.forked?7
|
||||||
proginit.globalconffile?7
|
proginit.globalconffile?7
|
||||||
|
|||||||
@@ -11,7 +11,6 @@ from threading import Event, Thread
|
|||||||
from timeit import default_timer
|
from timeit import default_timer
|
||||||
|
|
||||||
|
|
||||||
# NOTE: Sollte dies als Process ausgeführt werden?
|
|
||||||
class RevPiSlave(Thread):
|
class RevPiSlave(Thread):
|
||||||
|
|
||||||
"""RevPi PLC-Server.
|
"""RevPi PLC-Server.
|
||||||
@@ -386,6 +385,29 @@ class RevPiSlaveDev(Thread):
|
|||||||
# End-of-Transmission character immer senden
|
# End-of-Transmission character immer senden
|
||||||
self._devcon.send(b'\x04')
|
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':
|
elif cmd == b'EX':
|
||||||
# Sauber Verbindung verlassen
|
# Sauber Verbindung verlassen
|
||||||
dirty = False
|
dirty = False
|
||||||
@@ -407,6 +429,7 @@ class RevPiSlaveDev(Thread):
|
|||||||
break
|
break
|
||||||
|
|
||||||
try:
|
try:
|
||||||
|
# FIXME: IOCTL für Dateien implementieren
|
||||||
if proginit.pargs.procimg == "/dev/piControl0":
|
if proginit.pargs.procimg == "/dev/piControl0":
|
||||||
# Läuft auf RevPi
|
# Läuft auf RevPi
|
||||||
ioctl(fh_proc, request, arg)
|
ioctl(fh_proc, request, arg)
|
||||||
|
|||||||
@@ -7,7 +7,9 @@ import logging
|
|||||||
import os
|
import os
|
||||||
import sys
|
import sys
|
||||||
from argparse import ArgumentParser
|
from argparse import ArgumentParser
|
||||||
|
from configparser import ConfigParser
|
||||||
|
|
||||||
|
conf = ConfigParser()
|
||||||
forked = False
|
forked = False
|
||||||
globalconffile = None
|
globalconffile = None
|
||||||
logapp = "revpipyloadapp.log"
|
logapp = "revpipyloadapp.log"
|
||||||
|
|||||||
@@ -71,6 +71,7 @@ class RevPiPyLoad():
|
|||||||
self.replaceiosmtime = 0
|
self.replaceiosmtime = 0
|
||||||
self.evt_loadconfig = Event()
|
self.evt_loadconfig = Event()
|
||||||
self.globalconfig = ConfigParser()
|
self.globalconfig = ConfigParser()
|
||||||
|
proginit.conf = self.globalconfig
|
||||||
self.logr = logsystem.LogReader()
|
self.logr = logsystem.LogReader()
|
||||||
self.xsrv = None
|
self.xsrv = None
|
||||||
self.xml_ps = None
|
self.xml_ps = None
|
||||||
@@ -197,6 +198,7 @@ class RevPiPyLoad():
|
|||||||
"loading config file: {0}".format(proginit.globalconffile)
|
"loading config file: {0}".format(proginit.globalconffile)
|
||||||
)
|
)
|
||||||
self.globalconfig.read(proginit.globalconffile)
|
self.globalconfig.read(proginit.globalconffile)
|
||||||
|
proginit.conf = self.globalconfig
|
||||||
|
|
||||||
# Merker für Subsystem-Neustart nach laden, vor setzen
|
# Merker für Subsystem-Neustart nach laden, vor setzen
|
||||||
restart_plcmqtt = self._check_mustrestart_mqtt()
|
restart_plcmqtt = self._check_mustrestart_mqtt()
|
||||||
@@ -706,6 +708,8 @@ class RevPiPyLoad():
|
|||||||
if self.mqtt and self.th_plcmqtt is not None:
|
if self.mqtt and self.th_plcmqtt is not None:
|
||||||
self.th_plcmqtt.reload_revpimodio()
|
self.th_plcmqtt.reload_revpimodio()
|
||||||
|
|
||||||
|
# FIXME: ProcImgServer muss alle Verbindungen vernichten
|
||||||
|
|
||||||
# XML Prozessabbildserver neu laden
|
# XML Prozessabbildserver neu laden
|
||||||
if self.xml_ps is not None:
|
if self.xml_ps is not None:
|
||||||
self.xml_psstop()
|
self.xml_psstop()
|
||||||
@@ -1085,6 +1089,7 @@ class RevPiPyLoad():
|
|||||||
# conf-Datei schreiben
|
# conf-Datei schreiben
|
||||||
with open(proginit.globalconffile, "w") as fh:
|
with open(proginit.globalconffile, "w") as fh:
|
||||||
self.globalconfig.write(fh)
|
self.globalconfig.write(fh)
|
||||||
|
proginit.conf = self.globalconfig
|
||||||
proginit.logger.info(
|
proginit.logger.info(
|
||||||
"got new config and wrote it to {0}"
|
"got new config and wrote it to {0}"
|
||||||
"".format(proginit.globalconffile)
|
"".format(proginit.globalconffile)
|
||||||
|
|||||||
Reference in New Issue
Block a user