mirror of
https://github.com/naruxde/revpimodio2.git
synced 2025-11-08 22:03:53 +01:00
Connect-Attribut watchdogtrigger in wdautotoggle umbenannt
Bei handlesignalend wird im monitoring Modus nicht mehr geschrieben
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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):
|
||||
|
||||
@@ -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)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user