Parameter no_warn in .mainloop eingebaut

This commit is contained in:
2019-01-07 19:36:16 +01:00
parent 770f49ab2d
commit a99203b3c9
6 changed files with 17 additions and 10 deletions

View File

@@ -441,7 +441,7 @@ Funktion wird nach dem letzten Lesen der Inputs
</dl><a NAME="RevPiModIO.mainloop" ID="RevPiModIO.mainloop"></a> </dl><a NAME="RevPiModIO.mainloop" ID="RevPiModIO.mainloop"></a>
<h3 style="background-color:#FFFFFF;color:#FF0000"> <h3 style="background-color:#FFFFFF;color:#FF0000">
RevPiModIO.mainloop</h3> RevPiModIO.mainloop</h3>
<b>mainloop</b>(<i>blocking=True</i>) <b>mainloop</b>(<i>blocking=True, no_warn=False</i>)
<p> <p>
Startet den Mainloop mit Eventueberwachung. Startet den Mainloop mit Eventueberwachung.
</p><p> </p><p>
@@ -460,6 +460,9 @@ Startet den Mainloop mit Eventueberwachung.
<dt><i>blocking</i></dt> <dt><i>blocking</i></dt>
<dd> <dd>
Wenn False, blockiert das Programm NICHT Wenn False, blockiert das Programm NICHT
</dd><dt><i>no_warn</i></dt>
<dd>
Keine Warnungen bei langsamen Funktionen ausgeben
</dd> </dd>
</dl><dl> </dl><dl>
<dt>Returns:</dt> <dt>Returns:</dt>

View File

@@ -162,7 +162,7 @@ revpimodio2.modio.RevPiModIO.get_jconfigrsc?4()
revpimodio2.modio.RevPiModIO.handlesignalend?4(cleanupfunc=None) revpimodio2.modio.RevPiModIO.handlesignalend?4(cleanupfunc=None)
revpimodio2.modio.RevPiModIO.ioerrors?7 revpimodio2.modio.RevPiModIO.ioerrors?7
revpimodio2.modio.RevPiModIO.length?7 revpimodio2.modio.RevPiModIO.length?7
revpimodio2.modio.RevPiModIO.mainloop?4(blocking=True) revpimodio2.modio.RevPiModIO.mainloop?4(blocking=True, no_warn=False)
revpimodio2.modio.RevPiModIO.maxioerrors?7 revpimodio2.modio.RevPiModIO.maxioerrors?7
revpimodio2.modio.RevPiModIO.monitoring?7 revpimodio2.modio.RevPiModIO.monitoring?7
revpimodio2.modio.RevPiModIO.procimg?7 revpimodio2.modio.RevPiModIO.procimg?7

View File

@@ -1,15 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE Project SYSTEM "Project-5.1.dtd"> <!DOCTYPE Project SYSTEM "Project-5.1.dtd">
<!-- eric project file for project revpimodio2 --> <!-- eric project file for project revpimodio2 -->
<!-- Saved: 2018-12-08, 20:13:17 --> <!-- Saved: 2019-01-07, 19:30:29 -->
<!-- Copyright (C) 2018 Sven Sager, akira@narux.de --> <!-- Copyright (C) 2019 Sven Sager, akira@narux.de -->
<Project version="5.1"> <Project version="5.1">
<Language>en_US</Language> <Language>en_US</Language>
<Hash>7ea159534ad3516e9069331120048abf9b00151e</Hash> <Hash>7ea159534ad3516e9069331120048abf9b00151e</Hash>
<ProgLanguage mixed="0">Python3</ProgLanguage> <ProgLanguage mixed="0">Python3</ProgLanguage>
<ProjectType>Console</ProjectType> <ProjectType>Console</ProjectType>
<Description>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.</Description> <Description>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.</Description>
<Version>2.3.0</Version> <Version>2.3.1</Version>
<Author>Sven Sager</Author> <Author>Sven Sager</Author>
<Email>akira@narux.de</Email> <Email>akira@narux.de</Email>
<Eol index="1"/> <Eol index="1"/>
@@ -17,6 +17,7 @@
<Source>revpimodio2/__init__.py</Source> <Source>revpimodio2/__init__.py</Source>
<Source>revpimodio2/app.py</Source> <Source>revpimodio2/app.py</Source>
<Source>revpimodio2/device.py</Source> <Source>revpimodio2/device.py</Source>
<Source>revpimodio2/devicecon.py</Source>
<Source>revpimodio2/helper.py</Source> <Source>revpimodio2/helper.py</Source>
<Source>revpimodio2/io.py</Source> <Source>revpimodio2/io.py</Source>
<Source>revpimodio2/modio.py</Source> <Source>revpimodio2/modio.py</Source>
@@ -186,6 +187,7 @@
<value> <value>
<list> <list>
<string>setup.py</string> <string>setup.py</string>
<string>devicecon.py</string>
</list> </list>
</value> </value>
<key> <key>
@@ -232,6 +234,7 @@
<value> <value>
<list> <list>
<string>setup.py</string> <string>setup.py</string>
<string>devicecon.py</string>
</list> </list>
</value> </value>
<key> <key>

View File

@@ -22,7 +22,7 @@ __author__ = "Sven Sager <akira@revpimodio.org>"
__copyright__ = "Copyright (C) 2018 Sven Sager" __copyright__ = "Copyright (C) 2018 Sven Sager"
__license__ = "LGPLv3" __license__ = "LGPLv3"
__name__ = "revpimodio2" __name__ = "revpimodio2"
__version__ = "2.3.0" __version__ = "2.3.1"
# Global package values # Global package values
OFF = 0 OFF = 0

View File

@@ -565,7 +565,7 @@ class RevPiModIO(object):
signal(SIGINT, self.__evt_exit) signal(SIGINT, self.__evt_exit)
signal(SIGTERM, self.__evt_exit) signal(SIGTERM, self.__evt_exit)
def mainloop(self, blocking=True): def mainloop(self, blocking=True, no_warn=False):
"""Startet den Mainloop mit Eventueberwachung. """Startet den Mainloop mit Eventueberwachung.
Der aktuelle Programmthread wird hier bis Aufruf von Der aktuelle Programmthread wird hier bis Aufruf von
@@ -581,6 +581,7 @@ class RevPiModIO(object):
werden soll. werden soll.
@param blocking Wenn False, blockiert das Programm NICHT @param blocking Wenn False, blockiert das Programm NICHT
@param no_warn Keine Warnungen bei langsamen Funktionen ausgeben
@return None @return None
""" """
@@ -620,13 +621,13 @@ class RevPiModIO(object):
# ImgWriter mit Eventüberwachung aktivieren # ImgWriter mit Eventüberwachung aktivieren
self._imgwriter._collect_events(True) self._imgwriter._collect_events(True)
e = None e = None
runtime = 0 runtime = -1 if no_warn else 0
while not self._exit.is_set(): while not self._exit.is_set():
# Laufzeit der Eventqueue auf 0 setzen # Laufzeit der Eventqueue auf 0 setzen
if self._imgwriter._eventq.qsize() == 0: if self._imgwriter._eventq.qsize() == 0:
runtime = 0 runtime = -1 if no_warn else 0
try: try:
tup_fire = self._imgwriter._eventq.get(timeout=1) tup_fire = self._imgwriter._eventq.get(timeout=1)

View File

@@ -17,7 +17,7 @@ setup(
license="LGPLv3", license="LGPLv3",
name="revpimodio2", name="revpimodio2",
version="2.3.0", version="2.3.1",
packages=["revpimodio2"], packages=["revpimodio2"],
python_requires="~=3.2", python_requires="~=3.2",