From 9f7e3cc5a4cf9d888d355dd2dd570744593bf733 Mon Sep 17 00:00:00 2001
From: NaruX
Date: Thu, 6 Jul 2017 12:50:26 +0200
Subject: [PATCH] =?UTF-8?q?Wenn=20keine=20piCtory=20Konfiguration=20vorhan?=
=?UTF-8?q?den=20ist,=20dennoch=20Modul=20laden=20Bei=20RevPiModIO=20Insta?=
=?UTF-8?q?ntiierung=20R=C3=BCckgabewert=20False,=20sollte=20piCtory=20lee?=
=?UTF-8?q?r=20sein=20description=20Text=20angepasst?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
doc/procimgserver.html | 14 +++++++++++--
revpipyload.e4p | 4 ++--
revpipyload/procimgserver.py | 40 +++++++++++++++++++++++++-----------
revpipyload/revpipyload.py | 5 ++---
setup.py | 14 ++++++-------
5 files changed, 51 insertions(+), 26 deletions(-)
diff --git a/doc/procimgserver.html b/doc/procimgserver.html
index 4c37d09..12a44e9 100644
--- a/doc/procimgserver.html
+++ b/doc/procimgserver.html
@@ -146,7 +146,12 @@ ProcimgServer.loadrevpimodio
loadrevpimodio()
Instantiiert das RevPiModIO Modul.
-
+
+- Returns:
+-
+True, wenn erfolgreich, sonst False
+
+
ProcimgServer.setvalue
setvalue(device, io, value)
@@ -174,7 +179,12 @@ ProcimgServer.start
start()
Registriert XML Funktionen.
-
+
+- Returns:
+-
+True, wenn erfolgreich
+
+
ProcimgServer.stop
stop()
diff --git a/revpipyload.e4p b/revpipyload.e4p
index cbbcf57..eff7f78 100644
--- a/revpipyload.e4p
+++ b/revpipyload.e4p
@@ -1,7 +1,7 @@
-
+
en_US
@@ -9,7 +9,7 @@
Python3
Console
Dieser Loader wird über das Init-System geladen und führt das angegebene Pythonprogramm aus. Es ist für den RevolutionPi gedacht um automatisch das SPS-Programm zu starten.
- 0.4.1
+ 0.4.2
Sven Sager
akira@narux.de
diff --git a/revpipyload/procimgserver.py b/revpipyload/procimgserver.py
index 06f4c71..c135843 100644
--- a/revpipyload/procimgserver.py
+++ b/revpipyload/procimgserver.py
@@ -98,18 +98,26 @@ class ProcimgServer():
return Binary(pickle.dumps(dict_ios))
def loadrevpimodio(self):
- """Instantiiert das RevPiModIO Modul."""
+ """Instantiiert das RevPiModIO Modul.
+ @return True, wenn erfolgreich, sonst False"""
# 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,
- )
+ try:
+ self.rpi = revpimodio.RevPiModIO(
+ configrsc=self.configrsc,
+ procimg=self.procimg,
+ )
+ except:
+ self.rpi = None
+ self.logger.error("piCtory configuration not loadable")
+ return False
+
self.rpi.devices.syncoutputs(device=0)
self.logger.debug("created revpimodio class")
+ return True
def setvalue(self, device, io, value):
"""Setzt einen Wert auf dem RevPi.
@@ -161,19 +169,27 @@ class ProcimgServer():
return None
def start(self):
- """Registriert XML Funktionen."""
+ """Registriert XML Funktionen.
+ @return True, wenn erfolgreich"""
self.logger.debug("enter ProcimgServer.start()")
+ ec = False
- # Registriere Funktionen
- for xmlfunc in self.xmlreadfuncs:
- self.xmlsrv.register_function(self.xmlreadfuncs[xmlfunc], xmlfunc)
- if self.acl >= 3:
- for xmlfunc in self.xmlwritefuncs:
+ if self.rpi is not None:
+
+ # Registriere Funktionen
+ for xmlfunc in self.xmlreadfuncs:
self.xmlsrv.register_function(
- self.xmlwritefuncs[xmlfunc], xmlfunc
+ self.xmlreadfuncs[xmlfunc], xmlfunc
)
+ if self.acl >= 3:
+ for xmlfunc in self.xmlwritefuncs:
+ self.xmlsrv.register_function(
+ self.xmlwritefuncs[xmlfunc], xmlfunc
+ )
+ ec = True
self.logger.debug("leave ProcimgServer.start()")
+ return ec
def stop(self):
"""Entfernt XML-Funktionen."""
diff --git a/revpipyload/revpipyload.py b/revpipyload/revpipyload.py
index 437c0b6..15938a4 100755
--- a/revpipyload/revpipyload.py
+++ b/revpipyload/revpipyload.py
@@ -53,7 +53,7 @@ from xmlrpc.server import SimpleXMLRPCServer
configrsc = None
picontrolreset = "/opt/KUNBUS/piControlReset"
procimg = "/dev/piControl0"
-pyloadverion = "0.4.1"
+pyloadverion = "0.4.2"
rapcatalog = None
@@ -1069,8 +1069,7 @@ class RevPiPyLoad():
"""Startet den Prozessabbildserver.
@return True, wenn start erfolgreich"""
if self.xml_ps is not None:
- self.xml_ps.start()
- return True
+ return self.xml_ps.start()
else:
return False
diff --git a/setup.py b/setup.py
index e0a6495..64cce8f 100644
--- a/setup.py
+++ b/setup.py
@@ -27,7 +27,7 @@ setup(
license="LGPLv3",
name="revpipyload",
- version="0.4.1",
+ version="0.4.2",
scripts=["data/revpipyload"],
@@ -42,12 +42,12 @@ setup(
description="PLC Loader für Python-Projekte auf den RevolutionPi",
long_description=""
- "Dieses Programm startet beim Systemstart ein angegebenes Python PLC\n"
- "Programm. Es überwacht das Programm und startet es im Fehlerfall neu.\n"
- "Bei Absturz kann das gesamte /dev/piControl0 auf 0x00 gesetzt werden.\n"
- "Außerdem stellt es einen XML-RPC Server bereit, über den die Software\n"
- "auf den RevPi geladen werden kann. Das Prozessabbild kann über ein Tool\n"
- "zur Laufzeit überwacht werden.",
+ "Dieses Programm startet beim Systemstart ein angegebenes Python PLC \n"
+ "Programm. Es überwacht das Programm und startet es im Fehlerfall neu. \n"
+ "Bei Absturz kann das gesamte /dev/piControl0 auf 0x00 gesetzt werden. \n"
+ "Außerdem stellt es einen XML-RPC Server bereit, über den die Software \n"
+ "auf den RevPi geladen werden kann. Das Prozessabbild kann über ein \n"
+ "Tool zur Laufzeit überwacht werden.",
classifiers=[
"License :: OSI Approved :: "