Version 2.5.0

Wichtiges Update!

Dieses Update beinhaltet Unterstützung für den Revolution Pi Compact.

Außerdem wurde die Handhabung für .cycleloop(...) verbessert und die Cycletools haben nun auch .device, .core, .io enthalten. Somit kann man direkt auf die IOs zugreifen, ohne direkt über das RevPiModIO-Objekt gehen zu müssen.

Außerdem hat die .core Klasse jetzt immer den Ausgang .wd und die Funktion .wd_toggle(), das gab es nur beim Connect. Mit der aktuellen Version von RevPiPyLoad kann so der Softwarewatchdog verwendet werden.

DOWNLOAD

Version 2.4.5

Wichtiges Update!

  • NetIO bekam starke Stabilitäts- und Geschwindigkeitsverbesserungen, sowie einen Watchdog. (Benötigt zwingend RevPiPyLoad ab 0.8.5).
  • Die Cycletools haben nun das Flag .last, welches bei True den letzten Zyklus vor Programmende signalisiert. Durch Abfrage können Aufräumarbeiten in der Zyklusfunktion durchgeführt werden.
  • Weniger Ressourcenverbrauch bei autorefresh und Abfrage von Bit-IO-Werten.
  • Parameter direct_output wurde umbenannt in shared_procimg. Alter Name kann noch verwendet werden, löst allerdings eine „DeprecationWarning“ aus.
  • Verbesserte Synchronisierung der Loops beim Verlassen des Programms (.exit / .cleanup).
  • Bei IOs vom Typ MEM gibt die Value nun den konfigurierten Wert aus piCtory zurück (Rohwert).

DOWNLOAD

Version 2.4.2

Wichtiges Update!

Dieses Update behebt kleine allgemeine Fehler und kritische Fehler bei Netzwerkverwendung!

  • Fehler bei allen RevPiNetIO Klassen behoben, der unter bestimmten Umständen eine Neuverbindung verhinderte
  • Fehlerkorrektur bei Verwendung von prefire und as_thread in .reg_event(...).
  • Fehlerkorrektur bei Exportdatei für ersetzte IOs
  • Fehlerkorrektur, bei setzen von verzögerten Events auf .core.ios, wie z.B. .core.a1green, .core.x2in usw.
  • Warnungen werden nun einmalig beim Auftreten von Fehlern und nach Beseitigung der Fehler ausgegeben. Keine Warnungsfluten mehr in der Konsole!
  • Fehlerzähler auf Prozessabbild verbessert.
  • Der Funktion .reg_event(...) kann nun als Parameter prefire=True übergeben werden, damit diese Funktion beim Eintritt in den .mainloop() sofort ausgeführt wird [Doku].
  • Alle RevPiNetIO Klassen benötigen RevPiPyLoad in Version mindestens 0.8.0!
  • RevPiNetIO Klassen haben das Attribut .reconnecting, mit dem abgefragt werden kann, ob die Verbindung vorübergehend abgerissen ist.
  • Alle RevPiNetIO Verbindungen werden bei Veränderung von piCtory oder replace_ios.conf getrennt und können über das Attribut .config_changed abrufen, ob es eine Veränderung gab und eine Neuinstantiierung nötig ist.
  • IOs, welche mit .replace_io(...) exportiert wurden, können für andere Instanzen oder RevPiPyLoad / Control mit .export_replace_ios() exportiert werden.
  • Parameter replace_io_file für RevPiModIO eingeführt, für den Import der exportieren Datei. Bei RevPiNetIO kann „:network:“ verwendet werden um diese Daten per RevPiPyLoad zu importieren.
  • Parameter direct_output bei Instanziierung  hinzugefügt [Doku].
  • Zugriff auf IOs über .device Object per Index möglich (.device.dio01[0]).

DOWNLOAD

Version 2.3.2

Diese Version beseitigt hauptsächlich Fehler bei Counter IOs

  • Counter IOs 8 – 16 können nun auch mit .reset() zurückgesetzt werden
  • Laufzeitwarnungen haben bessere Fehlerhinweise
  • debug Argument eingeführt um komplette Fehlertexte zu erhalten
  • Formatprüfung von .replace_io(...) auf bestimmte Typen umgesetzt
    Danke an Nicolai Buchwitz
  • Argumentprüfung bei Instantiierung verbessert

DOWNLOAD

Version 2.3.1

Dieses Update führt den Counter-Reset von DI / DIO Modulen ein!

  • Counter IOs haben nun die Funktion .reset() zum zurücksetzen der Counter auf den DI / DIO Modulen.
    Hinweis: Das Wheezy (7) System unterstützt diese Funktion NICHT im piControl!
  • Counter können auch per RevPiNetIO über das Netzwerk zurückgesetzt werden.
  • Iteratoren geben nun Python-Konforme Exceptions aus.
  • Die Funktion .replace_io(...) wurde bei allen IO-Objekten angeboten, können aber nur bei Gateway- oder virtuellen Devices verwendet werden. Sie ist nun nur noch bei IOs verfügbar, die diese Funktion auch unterstützen.
  • Dem .mainloop(...) kann nun der Parameter no_warn=True übergeben werden, um Laufzeitwarnungen zu deaktivieren.

DOWNLOAD

Version 2.2.5

Wichtiges Update!

  • IOs der Core/Connect Module werden nun statisch verwaltet, was sehr wichtig ist, wenn in piCtory neue IO Varianten der Module erscheinen sollten.
  • Wenn Events mit .reg_event(...) an IOs der .core. Klasse angehängt werden, wird als IO-Name nun ein core. vorangestellt. Der Name des IOs für den Eingang von X2 am Connect lautet nun „core.x2in“ um Überschneidungen mit anderen piCtory Namen zu verhindern.
  • Export-Flag aus piCtory für RevPiStatus und RevPiLED wird an die IOs der .core. Klasse übergeben.
  • Export-Flag für x2in wurde von RevPiLED ausgelesen, welches nun richtigerweise von RevPiStatus übernommen wird.

DOWNLOAD

Version 2.2.3

  • Verbessert Modulperformance
  • Interne Zykluszeit je nach Core-Version bei Instanziierung festlegen. Dadurch wird das Eventsystem verbessert und reagiert deutlich schneller auf IO Veränderungen – vor allem bei Core3
  • Laufzeitüberwachung für Eventfunktionen integriert. Es werden Warnungen ausgegeben, wenn Funktionen zu lange Laufzeiten haben
  • Das „Export“ Flag aus piCtory kann jetzt über .io.ioname.export abgerufen werden
  • Den Funktionen .get_allios(...) / .get_inputs(...) / .get_outputs(...) der Device Klasse kann der Parameter export=True/False übergeben werden, um nur IOs zu erhalten, die in piCtory das Export-Flag haben, bzw. nicht haben
  • Behebt Fehler die unter bestimmten Umständen bei reg_event(...) / unreg_event(...) auftreten könnten
  • Verbesserungen in den RevPiNetIO Klassen, sorgen für eine bessere Netzwerkkommunikation in Verbindung mit RevPiPyLoad

DOWNLOAD

Version 2.2.2

Wichtiges Update + RevPi Connect

  • Core LEDs werden bei Instanziierung nicht mehr ausgeschaltet.
  • Für zukünftige virtuelle Devices können nun mehr als 16 BIT IOs pro Speichereinheit angelegt werden.
  • Die LEDs der Cores können jetzt (neben .core.A1) über .core.a1green.value = True/False / .core.a1red.value = True/False gesetzt werden. Es handelt sich um IO Objekte, die auch alle anderen Funktionen der IOs anbieten.
  • RevPi Connect wird unterstützt
    • .core.A3 bzw. .core.a3green / .core.a3red sind verfügbar.
    • Der Watchdog kann über .core.wd.value = True/False angesprochen werden.
    • Um den Watchdog automatisch während der Programmlaufzeit zu zurückzusetzen kann .core.wdautotoggle = True gesetzt werden.
    • Interne IOs der Klemme X2 .core.x2in und .core.x2out sind RevPiModIO.io Objekte, welche alle Eigenschaften und Funktionen anbieten. Z.B. kann auf .core.x2in.reg_event(funktion) ein Event auf den integrierten Eingang registriert werden. Das Setzen der Ausgänge kann z.B. mit .core.x2out.value = True realisiert werden.
  • Exitsignal für zyklische Schleifen nach .mainloop(blocking=False) wird als instanz.exitsignal.is_set() bzw. while not instanz.exitsignal.wait(0.5): angeboten. Mit diesem Signal können nach dem Mainloop zyklische aufgaben erledigt werden, welche bei Aufruf von instanz.exit() oder durch das Beenden des Programms durch .handlesignalend() verlassen werden können.
    Das Signal wird bei Aufruf von instanz.exit() oder Programmende bei Verwendung von .handlesignalend() gesetzt.
  • Kleine Leistungsverbesserungen

DOWNLOAD

Version 2.1.5

Kleines Update

  • Die Funktion .cycleloop() übernimmt nun vor dem ersten Durchlauf die, durch den optionalen Parameter cycletime übergebene, Zykluszeit.
  • Übernahme der defaultvalue aus piCtory verbessert.

DOWNLOAD

Version 2.1.3

Dieses Update verbessert Fehlermeldungen und führt Bytezusammenfassung bei .replace_io(...) ein:

  • Fehlermeldungen wurden bei fehlender piCtory Konfiguration eindeutiger gestelltet.
  • Netzwerkfehler bei RevPiNetIO werden als Warnungen angezeigt.
  • Mehrere Bytes eines Gateways oder virtuellen Devices können als Bytefolge in einem neuen IO zusammengefasst werden. Dafür unterstützt die .replace_io("neuername", frm="8s") Funktion für das Formatzeichen s nun eine Anzahl der Bytes. Siehe DOKU.

DOWNLOAD