diff --git a/doc/index.html b/doc/index.html new file mode 100644 index 0000000..418bfe4 --- /dev/null +++ b/doc/index.html @@ -0,0 +1,26 @@ + + +Table of contents + + + +

+Table of contents

+ + + +

+Modules

+ + + + + + + + + + + +
procimgserverStellt Funktionen bereit um das Prozessabbild zu ueberwachen.
proginitMain functions of our program.
revpipyloadRevolution Pi Python PLC Loader.
+ \ No newline at end of file diff --git a/doc/procimgserver.html b/doc/procimgserver.html index 0f398e2..4c37d09 100644 --- a/doc/procimgserver.html +++ b/doc/procimgserver.html @@ -69,6 +69,9 @@ Methods ios Generiert ein dict() der Devices und IOs. +loadrevpimodio +Instantiiert das RevPiModIO Modul. + setvalue Setzt einen Wert auf dem RevPi. @@ -137,7 +140,13 @@ IO Typ inp/out
pickled dict()
- + +

+ProcimgServer.loadrevpimodio

+loadrevpimodio() +

+Instantiiert das RevPiModIO Modul. +

ProcimgServer.setvalue

setvalue(device, io, value) diff --git a/eric-revpipyload.api b/eric-revpipyload.api index 8b39e80..bdcbe29 100644 --- a/eric-revpipyload.api +++ b/eric-revpipyload.api @@ -1,5 +1,6 @@ procimgserver.ProcimgServer.devices?4() procimgserver.ProcimgServer.ios?4(type) +procimgserver.ProcimgServer.loadrevpimodio?4() procimgserver.ProcimgServer.setvalue?4(device, io, value) procimgserver.ProcimgServer.start?4() procimgserver.ProcimgServer.stop?4() diff --git a/revpipyload.e4p b/revpipyload.e4p index b090706..cbbcf57 100644 --- a/revpipyload.e4p +++ b/revpipyload.e4p @@ -1,7 +1,7 @@ - + en_US @@ -212,12 +212,6 @@ setup.py - - noindex - - - True - outputDirectory diff --git a/revpipyload/procimgserver.py b/revpipyload/procimgserver.py index 0248908..06f4c71 100644 --- a/revpipyload/procimgserver.py +++ b/revpipyload/procimgserver.py @@ -41,6 +41,9 @@ class ProcimgServer(): self.logger = logger self.logger.debug("enter ProcimgServer.__init__()") self.acl = aclmode + self.configrsc = configrsc + self.procimg = procimg + self.rpi = None # XML-Server übernehmen self.xmlsrv = xmlserver @@ -55,14 +58,7 @@ class ProcimgServer(): "ps_setvalue": self.setvalue, } - # RevPiModIO-Modul Instantiieren - self.logger.debug("create revpimodio class") - self.rpi = revpimodio.RevPiModIO( - configrsc=configrsc, - procimg=procimg, - ) - self.rpi.devices.syncoutputs(device=0) - self.logger.debug("created revpimodio class") + self.loadrevpimodio() self.logger.debug("leave ProcimgServer.__init__()") @@ -101,6 +97,20 @@ class ProcimgServer(): ]) return Binary(pickle.dumps(dict_ios)) + def loadrevpimodio(self): + """Instantiiert das RevPiModIO Modul.""" + # RevPiModIO-Modul Instantiieren + if self.rpi is not None: + self.rpi.cleanup() + + self.logger.debug("create revpimodio class") + self.rpi = revpimodio.RevPiModIO( + configrsc=self.configrsc, + procimg=self.procimg, + ) + self.rpi.devices.syncoutputs(device=0) + self.logger.debug("created revpimodio class") + def setvalue(self, device, io, value): """Setzt einen Wert auf dem RevPi. diff --git a/revpipyload/revpipyload.py b/revpipyload/revpipyload.py index 912ea3e..270d11f 100755 --- a/revpipyload/revpipyload.py +++ b/revpipyload/revpipyload.py @@ -477,6 +477,7 @@ class RevPiPyLoad(): # Klassenattribute self._exit = True + self.pictorymtime = os.path.getmtime(configrsc) self.evt_loadconfig = Event() self.globalconfig = ConfigParser() self.logr = LogReader() @@ -580,7 +581,7 @@ class RevPiPyLoad(): self.xml_ps = None proginit.logger.warning( "can not load revpimodio module. maybe its not installed " - "or an old version (required at least 0.11.0). if you " + "or an old version (required at least 0.15.0). if you " "like to use the process monitor feature, update/install " "revpimodio: 'apt-get install python3-revpimodio'" ) @@ -751,6 +752,16 @@ class RevPiPyLoad(): while not self._exit \ and not self.evt_loadconfig.is_set(): + + # piCtory auf Veränderung prüfen + if self.pictorymtime != os.path.getmtime(configrsc): + proginit.logger.warning("piCtory configuration was changed") + self.pictorymtime = os.path.getmtime(configrsc) + + if self.xml_ps is not None: + self.xml_psstop() + self.xml_ps.loadrevpimodio() + self.evt_loadconfig.wait(1) if not self._exit: