diff --git a/.idea/revpimodio2.iml b/.idea/revpimodio2.iml index 779b2fa..c8efcbb 100644 --- a/.idea/revpimodio2.iml +++ b/.idea/revpimodio2.iml @@ -1,9 +1,7 @@ - - - + diff --git a/revpimodio2/device.py b/revpimodio2/device.py index a269d32..0f33178 100644 --- a/revpimodio2/device.py +++ b/revpimodio2/device.py @@ -659,14 +659,13 @@ class Core(Base): led += int_led & 2 return led - def _set_calculatedled(self, addresslist, shifted_value) -> None: + def _set_calculatedled(self, addresslist: list, shifted_value: int) -> None: """ Berechnet und setzt neuen Bytewert fuer LED byte. :param addresslist: Liste der Vergleicher :param shifted_value: Bits vergleichen """ - # TODO: Docstring # Byte als int holen int_led = int.from_bytes( self._ba_devdata[self._slc_led], byteorder="little" diff --git a/revpimodio2/io.py b/revpimodio2/io.py index f0bcadc..045984d 100644 --- a/revpimodio2/io.py +++ b/revpimodio2/io.py @@ -542,7 +542,7 @@ class IOBase(object): der Fall, wird IMMER aufgerundet! :param func: Funktion die bei Aenderung aufgerufen werden soll - :param delay; Verzoegerung in ms zum Ausloesen wenn Wert gleich bleibt + :param delay: Verzoegerung in ms zum Ausloesen wenn Wert gleich bleibt :param edge: Ausfuehren bei RISING, FALLING or BOTH Wertaenderung :param as_thread: Bei True, Funktion als EventCallback-Thread ausfuehren :param prefire: Ausloesen mit aktuellem Wert, wenn mainloop startet @@ -752,13 +752,15 @@ class IOBase(object): :param okvalue: IO-Wert, bei dem das Warten sofort beendet wird :param timeout: Zeit in ms nach der abgebrochen wird :return: erfolgreich Werte <= 0 - * Erfolgreich gewartet - ** Wert 0: IO hat den Wert gewechselt - ** Wert -1: okvalue stimmte mit IO ueberein - * Fehlerhaft gewartet - ** Wert 1: exitevent wurde gesetzt - ** Wert 2: timeout abgelaufen - ** Wert 100: Devicelist.exit() wurde aufgerufen + + - Erfolgreich gewartet + - Wert 0: IO hat den Wert gewechselt + - Wert -1: okvalue stimmte mit IO ueberein + - Fehlerhaft gewartet + - Wert 1: exitevent wurde gesetzt + - Wert 2: timeout abgelaufen + - Wert 100: Devicelist.exit() wurde aufgerufen + """ # Prüfen ob Device in autorefresh ist if not self._parentdevice._selfupdate: @@ -849,7 +851,7 @@ class IntIO(IOBase): Umwandlung koennen 'Byteorder' (Default 'little') und 'signed' (Default False) als Parameter gesetzt werden. - :ref:`IOBase` + :ref: :class:`IOBase` """ __slots__ = () @@ -1041,9 +1043,9 @@ class IntIOReplaceable(IntIO): Es darf nur ein einzelnes Formatzeichen 'frm' uebergeben werden. Daraus wird dann die benoetigte Laenge an Bytes berechnet und der Datentyp festgelegt. Moeglich sind: - Bits / Bytes: ?, c, s - Integer : bB, hH, iI, lL, qQ - Float : e, f, d + - Bits / Bytes: ?, c, s + - Integer : bB, hH, iI, lL, qQ + - Float : e, f, d Eine Ausnahme ist die Formatierung 's'. Hier koennen mehrere Bytes zu einem langen IO zusammengefasst werden. Die Formatierung muss @@ -1055,17 +1057,19 @@ class IntIOReplaceable(IntIO): :param name: Name des neuen Inputs :param frm: struct formatierung (1 Zeichen) oder 'ANZAHLs' z.B. '8s' - :param kwargs: Weitere Parameter: - - bmk: interne Bezeichnung fuer IO - - bit: Registriert IO als am angegebenen Bit im Byte - - byteorder: Byteorder fuer den IO, Standardwert=little - - defaultvalue: Standardwert fuer IO - - event: Funktion fuer Eventhandling registrieren - - delay: Verzoegerung in ms zum Ausloesen wenn Wert gleich bleibt - - edge: Event ausfuehren bei RISING, FALLING or BOTH Wertaenderung - - as_thread: Fuehrt die event-Funktion als RevPiCallback-Thread aus - - prefire: Ausloesen mit aktuellem Wert, wenn mainloop startet - `https://docs.python.org/3/library/struct.html#format-characters` + :param kwargs: Weitere Parameter + + - bmk: interne Bezeichnung fuer IO + - bit: Registriert IO als am angegebenen Bit im Byte + - byteorder: Byteorder fuer den IO, Standardwert=little + - defaultvalue: Standardwert fuer IO + - event: Funktion fuer Eventhandling registrieren + - delay: Verzoegerung in ms zum Ausloesen wenn Wert gleich bleibt + - edge: Event ausfuehren bei RISING, FALLING or BOTH Wertaenderung + - as_thread: Fuehrt die event-Funktion als RevPiCallback-Thread aus + - prefire: Ausloesen mit aktuellem Wert, wenn mainloop startet + + ``_ """ # StructIO erzeugen io_new = StructIO( @@ -1095,7 +1099,6 @@ class StructIO(IOBase): Sie stellt ueber struct die Werte in der gewuenschten Formatierung bereit. Der struct-Formatwert wird bei der Instantiierung festgelegt. - :ref:`IOBase` """ __slots__ = "__frm", "_parentio_address", "_parentio_defaultvalue", \ diff --git a/revpimodio2/modio.py b/revpimodio2/modio.py index d6a1f07..8a0d143 100644 --- a/revpimodio2/modio.py +++ b/revpimodio2/modio.py @@ -175,9 +175,11 @@ class RevPiModIO(object): and int(dev["position"]) in self._lst_devselect: lst_found.append(dev) - # Devices aus JSON oder Filter übernehmen - lst_devices = jconfigrsc["Devices"] if len(self._lst_devselect) == 0 \ - else lst_found + # Devices Filter übernehmen + lst_devices = lst_found + else: + # Devices aus JSON übernehmen + lst_devices = jconfigrsc["Devices"] # Device und IO Klassen anlegen self.device = devicemodule.DeviceList()