Version 2.5.6

Wichtiges Update!

  • Behebt Zyklusproblem bei shared_procimg=True
    Sobald einem Ausgang ein neuer Wert zugewiesen wurde, schrieb RevPiModIO diesen sofort in das Prozessabbild. Ausgänge dürfen aber erst nach der kompletten Abarbeitung der Zyklusfunktion (bei Verwendung von .cycleloop) oder nach Aufruf von .writeprocimg ins Prozessabbild geschrieben werden.
    Die Verwendung von .mainloop ist dieser Fehler nicht relevant.

DOWNLOAD

Version 2.5.5

Wichtiges Update

  • Implementierung vom RevPi Flat (noch ohne .core IOs).
  • Härtung von NetIO (Prozessabbild über das Netzwerk).
  • Der Aufruf vom .cycleloop akzeptiert nun den optionalen Parameter blocking. Wenn es nicht gewünscht ist, dass der Cycleloop exklusiv ausgeführt wird, kann blocking=False gesetzt werden – Dies ist analog zu dem blocking Parameter vom .mainloop zu verstehen.
  • shared_procimg kann nun pro Device gesetzt werden. Dies ermöglicht es z.B. nur das Coremodul als shared zu verwenden und den Rest als exklusiv.
    Jedes device hat nun die Funktion .device.device_name.shared_procimg(activate: bool).
  • Bei shared_procimg=True sind die neuen Werte nun auch sofort in den .io Variablen gesetzt.
  • Fehlerbehebung: Bei shared_procimg=True wurden die LEDs von .core.An nicht gesetzt.
  • Das .export Flag von ersetzten IOs kann im Programm zur Laufzeit angepasst werden. Diese Einstellung wird dann auch durch .export_replaced_ios() in die Konfigurationsdatei übernommen – Von dort gelesen.

DOWNLOAD

Version 2.5.3

Wichtiges Update!

  • Fehlerbehebung in NetIO Funktionen, welche bei Netzwerkfehlern zum Absturz führen könnten.
  • IO Objekte sind nun „callable“. Der Wert kann über .io.name() abgerufen oder mit .io.name(True) gesetzt werden. Dies hat die selbe Funktion wie .io.name.value, welche natürlich weiterhin verfügbar ist.
  • Neues pictory Modul, welches für die AIO, DI, DO und DIO Module Konstanten der MEM Objekte bietet. Damit können MEM Einstellungen im Programm abgefragt werden (Danke Theo!).

DOWNLOAD

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