mirror of
https://github.com/naruxde/revpipyload.git
synced 2025-11-08 15:13:52 +01:00
ProcimgServer.loadrevpimodio() erstellt um Veränderungen an piCtory zu laden
RevPiPyLoad prüft Änderungsdatum von piCtory und beendet ggf. ProcimgServer
This commit is contained in:
26
doc/index.html
Normal file
26
doc/index.html
Normal file
@@ -0,0 +1,26 @@
|
||||
<!DOCTYPE html>
|
||||
<html><head>
|
||||
<title>Table of contents</title>
|
||||
<meta charset="UTF-8">
|
||||
</head>
|
||||
<body style="background-color:#FFFFFF;color:#000000">
|
||||
<h1 style="background-color:#FFFFFF;color:#0000FF">
|
||||
Table of contents</h1>
|
||||
|
||||
|
||||
|
||||
<h3 style="background-color:#FFFFFF;color:#FF0000">
|
||||
Modules</h3>
|
||||
<table>
|
||||
<tr>
|
||||
<td><a style="color:#0000FF" href="procimgserver.html">procimgserver</a></td>
|
||||
<td>Stellt Funktionen bereit um das Prozessabbild zu ueberwachen.</td>
|
||||
</tr><tr>
|
||||
<td><a style="color:#0000FF" href="proginit.html">proginit</a></td>
|
||||
<td>Main functions of our program.</td>
|
||||
</tr><tr>
|
||||
<td><a style="color:#0000FF" href="revpipyload.html">revpipyload</a></td>
|
||||
<td>Revolution Pi Python PLC Loader.</td>
|
||||
</tr>
|
||||
</table>
|
||||
</body></html>
|
||||
@@ -69,6 +69,9 @@ Methods</h3>
|
||||
<td><a style="color:#0000FF" href="#ProcimgServer.ios">ios</a></td>
|
||||
<td>Generiert ein dict() der Devices und IOs.</td>
|
||||
</tr><tr>
|
||||
<td><a style="color:#0000FF" href="#ProcimgServer.loadrevpimodio">loadrevpimodio</a></td>
|
||||
<td>Instantiiert das RevPiModIO Modul.</td>
|
||||
</tr><tr>
|
||||
<td><a style="color:#0000FF" href="#ProcimgServer.setvalue">setvalue</a></td>
|
||||
<td>Setzt einen Wert auf dem RevPi.</td>
|
||||
</tr><tr>
|
||||
@@ -137,7 +140,13 @@ IO Typ inp/out
|
||||
<dd>
|
||||
pickled dict()
|
||||
</dd>
|
||||
</dl><a NAME="ProcimgServer.setvalue" ID="ProcimgServer.setvalue"></a>
|
||||
</dl><a NAME="ProcimgServer.loadrevpimodio" ID="ProcimgServer.loadrevpimodio"></a>
|
||||
<h3 style="background-color:#FFFFFF;color:#FF0000">
|
||||
ProcimgServer.loadrevpimodio</h3>
|
||||
<b>loadrevpimodio</b>(<i></i>)
|
||||
<p>
|
||||
Instantiiert das RevPiModIO Modul.
|
||||
</p><a NAME="ProcimgServer.setvalue" ID="ProcimgServer.setvalue"></a>
|
||||
<h3 style="background-color:#FFFFFF;color:#FF0000">
|
||||
ProcimgServer.setvalue</h3>
|
||||
<b>setvalue</b>(<i>device, io, value</i>)
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE Project SYSTEM "Project-5.1.dtd">
|
||||
<!-- eric project file for project revpipyload -->
|
||||
<!-- Saved: 2017-06-29, 17:52:43 -->
|
||||
<!-- Saved: 2017-07-02, 21:15:03 -->
|
||||
<!-- Copyright (C) 2017 Sven Sager, akira@narux.de -->
|
||||
<Project version="5.1">
|
||||
<Language>en_US</Language>
|
||||
@@ -212,12 +212,6 @@
|
||||
<string>setup.py</string>
|
||||
</list>
|
||||
</value>
|
||||
<key>
|
||||
<string>noindex</string>
|
||||
</key>
|
||||
<value>
|
||||
<bool>True</bool>
|
||||
</value>
|
||||
<key>
|
||||
<string>outputDirectory</string>
|
||||
</key>
|
||||
|
||||
@@ -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.
|
||||
|
||||
|
||||
@@ -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:
|
||||
|
||||
Reference in New Issue
Block a user