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>
<h3 style="background-color:#FFFFFF;color:#FF0000">
RevPiModIO.mainloop</h3>
<b>mainloop</b>(<i>blocking=True</i>)
<b>mainloop</b>(<i>blocking=True, no_warn=False</i>)
<p>
Startet den Mainloop mit Eventueberwachung.
</p><p>
@@ -460,6 +460,9 @@ Startet den Mainloop mit Eventueberwachung.
<dt><i>blocking</i></dt>
<dd>
Wenn False, blockiert das Programm NICHT
</dd><dt><i>no_warn</i></dt>
<dd>
Keine Warnungen bei langsamen Funktionen ausgeben
</dd>
</dl><dl>
<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.ioerrors?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.monitoring?7
revpimodio2.modio.RevPiModIO.procimg?7

View File

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

View File

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

View File

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

View File

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