Version 0.15.1 – Schneller, weniger Ressourcen und bessere .wait() Funktion!

HINWEIS: RevPiModio.devices.wait(…) Funktion nicht mehr kompatibel zu Vorgängerversionen!

Wir haben unser RevPiModIO Modul überarbeitet! Damit bekommen wir bessere Leistungen bei .readprocimg() / .writeprocimg() und verbrauchen weniger Ressourcen.

Die RevPiModio.devices.wait(…) Funktion wurde komplett umgeschrieben. Die alte Version hatte als Rückgabewert lediglich True oder False. Damit konnte man jedoch nicht die unterschiedlichen Abbruchbedingungen auswerten, was aber dringend benötigt wird.
Der Rückgabewert ist nun ein int() Wert! Werte kleiner oder gleich 0 sind dabei ein erfolgreiches Warten, Werte größer 0 sind ausgelöste Abbruchbedingungen, wie das exitevent oder der timeout.
Genaueres in unserer Dokumentation.

Außerdem wurden alle RevPiModIO.devices[0].*procimgdev() Funktionen entfernt, da sie als überflüssig bewertet wurden. Alternativ kann die Funktion durch Parameterübergabe des Devices an RevPiModIO.devices.*procimg(device) erledigt werden. Hier könnte auch eine Liste übergeben werden RevPiModIO.devices.*procimg([device1, device2]).
Genaueres in unserer Dokumentation.

Version 0.10.0 – Bugfixes und Jessie!

Die Kunbus GmbH wird jetzt ihr neues Jessie – Image für den Revolution Pi veröffentlichen! Unser RevPiModIO wurde für das neue Image etwas angepasst und ist jetzt für BEIDE Versionen (wheezy und jessie) freigegeben!

BUGFIXES: Diese Version beinhaltet auch Fehlerkorrekturen und sollte von allen (unabhängig des Jessie-Images) eingespielt werden!

Außerdem können wir stolz verkünden, dass unser Modul im Jessie Image über die Kunbus Repositories bezogen werden kann! Also ist die Installation und das Update ein Kinderspiel!

# Erstmal aktualisieren
pi@RevPi ~/ $ sudo apt-get update

# Und einfach installieren
pi@RevPi ~/ $ sudo apt-get install python3-revpimodio

Die Aktualisierungen bekommt ihr dann natürlich auch automatisch eingespielt, wenn ihr eurem RevPi ein Update unterzieht.

Downloads und Quellen

Version 0.9.6

Unsere neue Version kann die Eventüberwachung nun auch starten, OHNE zu blockieren. Eignet sich gut, wenn man GUIs schreiben will! Dann können Events definiert werden, welche bei IO-Änderung ausgelöst werden. Das eigentliche Programm kann dann weiter laufen.

Beim Aufruf für den Mainloop wird dann einfach der Parameter blocking=False übergeben

mainloop(blocking=False)

Version 0.9.5 – Eventfunktionen mit IO-Name und IO-Value

Wir habe eine neue Version veröffentlicht!

HINWEIS: Änderungen in Event-Funktionen NÖTIG!

Neben ein paar wichtigen Bugfixes sind diese Dinge neu:

  • Den Event-Funktionen, welche der mainloop() auslöst, wird jetzt der Name und der, zum Auslösezeitpunkt, anstehende Wert mit übergeben. Die Eventfunktionen müssen also in euren Quelltexten angepasst werden:
    def meinevent(ioname, iovalue):
    Über ioname und iovalue kann dann direkt auf die Werte zugegriffen werden. Ein zusätzliches Abfragen der IOs ist dann nicht mehr nötig. Sollten die Funktionen nicht angepasst werden, wird eine Exception ausgelöst.
  • Neue Funktion hinzugefügt um den Fehlerabfang von auto_refresh zu modifizieren:
    RevPiDevicelist.auto_refresh_maxioerrors(value=intwert)
    Legt die maximale Fehleranzahl beim lesen/schreiben des Prozessabbilds fest. Sollte der durch value übergebene Wert überschritten werden, wird eine Exception ausgelöst. Sonst werden nur Warnungen ausgegeben.
  • Neue Funktion um IO-Fehlerzähle zurückzusetzen:
    def auto_refresh_resetioerrors()
    Setzt den Fehlerzähler von auto_refresh auf 0 zurück

Downloads und Quellen