Connect-Attribut watchdogtrigger in wdautotoggle umbenannt

Bei handlesignalend wird im monitoring Modus nicht mehr geschrieben
This commit is contained in:
2018-08-09 08:36:18 +02:00
parent ff7cd3ce7f
commit 27a69488f4
7 changed files with 40 additions and 39 deletions

View File

@@ -25,7 +25,7 @@ __all__ = [
__author__ = "Sven Sager <akira@revpimodio.org>"
__name__ = "revpimodio2"
__package__ = "revpimodio2"
__version__ = "2.2.1"
__version__ = "2.2.2"
# Global package values
OFF = 0

View File

@@ -649,16 +649,16 @@ class Connect(Core):
"""
def __wdtrigger(self):
def __wdtoggle(self):
"""WD Ausgang alle 10 Sekunden automatisch toggeln."""
while not self.__evt_wdtrigger.wait(10):
while not self.__evt_wdtoggle.wait(10):
self.wd.value = not self.wd.value
def _devconfigure(self):
"""Connect-Klasse vorbereiten."""
super()._devconfigure()
self.__evt_wdtrigger = Event()
self.__th_wdtrigger = None
self.__evt_wdtoggle = Event()
self.__th_wdtoggle = None
# Echte IOs erzeugen
self.a3green = IOBase(self, [
@@ -694,11 +694,11 @@ class Connect(Core):
led += int_led & 2
return led
def _get_wdtrigger(self):
def _get_wdtoggle(self):
"""Ruft den Wert fuer Autowatchdog ab.
@return True, wenn Autowatchdog aktiv ist"""
return self.__th_wdtrigger is not None \
and self.__th_wdtrigger.is_alive()
return self.__th_wdtoggle is not None \
and self.__th_wdtoggle.is_alive()
def _set_leda3(self, value):
"""Setzt den Zustand der LED A3 vom Connect.
@@ -708,7 +708,7 @@ class Connect(Core):
else:
raise ValueError("led status must be between 0 and 3")
def _set_wdtrigger(self, value):
def _set_wdtoggle(self, value):
"""Setzt den Wert fuer Autowatchdog.
Wird dieser Wert auf True gesetzt, wechselt im Hintergrund das noetige
@@ -723,24 +723,24 @@ class Connect(Core):
@param value True zum aktivieren, Fals zum beenden"""
if self._modio._monitoring:
raise RuntimeError(
"can not trigger watchdog, while system is in monitoring mode"
"can not toggle watchdog, while system is in monitoring mode"
)
if self._modio._simulator:
raise RuntimeError(
"can not trigger watchdog, while system is in simulator mode"
"can not toggle watchdog, while system is in simulator mode"
)
if not value:
self.__evt_wdtrigger.set()
self.__evt_wdtoggle.set()
elif not self._get_wdtrigger():
# Watchdogtrigger erstellen
self.__evt_wdtrigger.clear()
self.__th_wdtrigger = Thread(target=self.__wdtrigger, daemon=True)
self.__th_wdtrigger.start()
elif not self._get_wdtoggle():
# Watchdogtoggler erstellen
self.__evt_wdtoggle.clear()
self.__th_wdtoggle = Thread(target=self.__wdtoggle, daemon=True)
self.__th_wdtoggle.start()
A3 = property(_get_leda3, _set_leda3)
watchdogtrigger = property(_get_wdtrigger, _set_wdtrigger)
wdautotoggle = property(_get_wdtoggle, _set_wdtoggle)
class Gateway(Device):

View File

@@ -103,7 +103,8 @@ class RevPiModIO(object):
if self.__cleanupfunc is not None:
self.readprocimg()
self.__cleanupfunc()
self.writeprocimg()
if not self._monitoring:
self.writeprocimg()
def _configure(self, jconfigrsc):
"""Verarbeitet die piCtory Konfigurationsdatei."""
@@ -459,7 +460,7 @@ class RevPiModIO(object):
self._imgwriter.stop()
self._imgwriter.join(self._imgwriter._refresh)
# Mainloop beenden und darauf waretn
# Mainloop beenden und darauf 1 Sekunde warten
if self._th_mainloop is not None and self._th_mainloop.is_alive():
self._th_mainloop.join(1)