diff --git a/doc/revpimodio2.device.html b/doc/revpimodio2.device.html index 21743ff..09fa806 100644 --- a/doc/revpimodio2.device.html +++ b/doc/revpimodio2.device.html @@ -58,7 +58,7 @@ Core

Class Attributes

- +
A3
watchdogtrigger
A3
wdautotoggle

Class Methods

@@ -69,7 +69,7 @@ Class Methods Methods - + @@ -78,13 +78,13 @@ Methods - + - +
__wdtrigger__wdtoggle WD Ausgang alle 10 Sekunden automatisch toggeln.
_devconfigure _get_leda3 Gibt den Zustand der LED A3 vom Connect zurueck.
_get_wdtrigger_get_wdtoggle Ruft den Wert fuer Autowatchdog ab.
_set_leda3 Setzt den Zustand der LED A3 vom Connect.
_set_wdtrigger_set_wdtoggle Setzt den Wert fuer Autowatchdog.
@@ -93,10 +93,10 @@ Static Methods
None
- +

-Connect.__wdtrigger

-__wdtrigger() +Connect.__wdtoggle +__wdtoggle()

WD Ausgang alle 10 Sekunden automatisch toggeln.

@@ -116,10 +116,10 @@ Gibt den Zustand der LED A3 vom Connect zurueck.
0=aus, 1=gruen, 2=rot
- +

-Connect._get_wdtrigger

-_get_wdtrigger() +Connect._get_wdtoggle +_get_wdtoggle()

Ruft den Wert fuer Autowatchdog ab.

@@ -138,10 +138,10 @@ Setzt den Zustand der LED A3 vom Connect.
0=aus, 1=gruen, 2=rot
-
+

-Connect._set_wdtrigger

-_set_wdtrigger(value) +Connect._set_wdtoggle +_set_wdtoggle(value)

Setzt den Wert fuer Autowatchdog.

diff --git a/eric-revpimodio2.api b/eric-revpimodio2.api index 306cc5f..3371e9e 100644 --- a/eric-revpimodio2.api +++ b/eric-revpimodio2.api @@ -12,10 +12,10 @@ revpimodio2.consttostr?4(value) revpimodio2.device.Connect.A3?7 revpimodio2.device.Connect._devconfigure?5() revpimodio2.device.Connect._get_leda3?5() -revpimodio2.device.Connect._get_wdtrigger?5() +revpimodio2.device.Connect._get_wdtoggle?5() revpimodio2.device.Connect._set_leda3?5(value) -revpimodio2.device.Connect._set_wdtrigger?5(value) -revpimodio2.device.Connect.watchdogtrigger?7 +revpimodio2.device.Connect._set_wdtoggle?5(value) +revpimodio2.device.Connect.wdautotoggle?7 revpimodio2.device.Core.A1?7 revpimodio2.device.Core.A2?7 revpimodio2.device.Core._devconfigure?5() diff --git a/revpimodio2.e4p b/revpimodio2.e4p index 30e9b52..11a437a 100644 --- a/revpimodio2.e4p +++ b/revpimodio2.e4p @@ -1,7 +1,7 @@ - + en_US @@ -9,7 +9,7 @@ Python3 Console Das Modul stellt alle Devices und IOs aus der piCtory Konfiguration in Python3 zur Verfügung. Es ermöglicht den direkten Zugriff auf die Werte über deren vergebenen Namen. Lese- und Schreibaktionen mit dem Prozessabbild werden von dem Modul selbst verwaltet, ohne dass sich der Programmierer um Offsets und Adressen kümmern muss. Für die Gatewaymodule wie ModbusTCP oder Profinet sind eigene 'Inputs' und 'Outputs' über einen bestimmten Adressbereich definierbar. Auf diese IOs kann mit Python3 über den Namen direkt auf die Werte zugegriffen werden. - 2.2.1 + 2.2.2 Sven Sager akira@narux.de diff --git a/revpimodio2/__init__.py b/revpimodio2/__init__.py index 26bb056..ae8ffae 100644 --- a/revpimodio2/__init__.py +++ b/revpimodio2/__init__.py @@ -25,7 +25,7 @@ __all__ = [ __author__ = "Sven Sager " __name__ = "revpimodio2" __package__ = "revpimodio2" -__version__ = "2.2.1" +__version__ = "2.2.2" # Global package values OFF = 0 diff --git a/revpimodio2/device.py b/revpimodio2/device.py index 68e79c8..7e60641 100644 --- a/revpimodio2/device.py +++ b/revpimodio2/device.py @@ -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): diff --git a/revpimodio2/modio.py b/revpimodio2/modio.py index a367f77..4501c88 100644 --- a/revpimodio2/modio.py +++ b/revpimodio2/modio.py @@ -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) diff --git a/setup.py b/setup.py index 892d30f..a332834 100644 --- a/setup.py +++ b/setup.py @@ -16,7 +16,7 @@ setup( license="LGPLv3", name="revpimodio2", - version="2.2.1", + version="2.2.2", packages=["revpimodio2"], python_requires="~=3.2",