Commit Graph

58 Commits

Author SHA1 Message Date
6cebdb1029 Mit dev_io_index zusammenführen 2019-08-01 15:35:36 +02:00
9d645bec37 docstring prefire kann bei replace_io direkt mit übergeben werden 2019-07-31 20:48:59 +02:00
fc28e028be Bei .reg_event Parameter prefire eingefügt um Event bei Eintritt in mainloop
mit aktuellem Wert auszulösen.
Im Helper werden Event-Queues nur beim deaktiveren geleert
2019-07-25 16:44:59 +02:00
23f9095d5c Indexzugriff auf IOs eines Devices 2019-07-23 09:59:24 +02:00
40d7c132a5 Selected / Driver gegen nun einen DeviceNotFoundError aus, wenn nicht vorhanden
debug und replace_io_file über Namen abrufbar
2019-07-23 09:09:34 +02:00
2dbd37f2e7 Parameter replace_io_file hinzugefügt für IO replacement
Wenn replace_io_file verwendet wird, ist .replace_io gesperrt
Verarbeitung der Datei direkt beim Instanziieren
2019-06-16 13:44:59 +02:00
2e802544c9 Import und Export der Dateien verbessert 2019-06-12 17:18:15 +02:00
843cbf39c3 Mit errorhandling zusammenführen 2019-05-01 13:30:45 +02:00
2463eb019d Parameterprüfung für Instantiierung eingeführt
Debug-Parameter für alle Vererbungen übernommen
2019-05-01 12:25:45 +02:00
32c33e49b5 .replace_io mit regex für parameter frm versehen - Danke an Nicolai Buchwitz!
.reset Funktion warf Fehler bei Counter IOs 8-16
2019-05-01 08:41:19 +02:00
6782e9431a Bessere Werte bei _gotioerror
Debugflag um exakte Fehlermeldungen zu bekommen
2019-03-07 12:50:35 +01:00
a99203b3c9 Parameter no_warn in .mainloop eingebaut 2019-01-07 19:36:16 +01:00
38ba012f38 Errortypen angepasst
NetFh.__init__ Parameterprüfung geändert
NetFh._direct_send implementiert
2018-12-12 08:49:21 +01:00
62f2bf544f .core wird nur gesetzt, wenn gültiges Basedevice erkannt wurde
Globalen FileHandler durch Lock gesichert
IOCTL über das Netzwerk umgesetzt
2018-12-10 16:27:38 +01:00
fc23394298 IntIOCounter Klasse erweitert mit ioctl Aufruf
Devices erzeugen IntIOCounter-Objekt, wenn Counteradresse gefunden wird
DioModule Klasse wird für DIO / DI / DO verwendet und ermöglicht Counterreset
2018-12-08 20:29:50 +01:00
1e309091e8 Neue Base Klasse eingefügt von der Core / Connect erben
Sollten neue Base-Devices von Kunbus hinzugefügt werden, wird Base verwendet
IntIOReplaceable Klasse erstellt für IOs von Gateways und virtuellen Devices
Leere IntIOCounter Klasse für Counter IOs hinzugefügt
2018-12-08 17:32:03 +01:00
40409a6f0f Bei Cores werden Adressen von IOs statisch festgelegt unabhängig von IO-Anzahl
Unterstützung mehrere IO Arten der Cores
Fehler bei Exportflag von Connect xin beseitigt
2018-09-30 19:02:03 +02:00
18fe2b0477 IP Adresse aus Hostnamen ermitteln .gethostbyname
NetFH Schreibpuffer wird bei flush immer geleert, auch bei Fehlern
__flusherr wird nach Fehler bei _connect auf False gesetzt
Start des Sync nun sofort mit Sync und dann Wait
Bei ACL Fehlern Exception auslösen
Synctimer wird auf 45% des Timeouts angepasst (Senden nur bei Leerlauf)
__set_systimout setzt auch für bestehenden Socket das Timeout
2018-08-23 15:16:01 +02:00
ebbdbcaceb Kleinste refresh-Zeit auf 5 ms gesetzt
Zykluszeit vom .cycleloop wird bei Aufruf auf 50 ms gesetzt
Standardrefreshzeit wird nach CPU-Anzahl bestimmt
Laufzeitüberwachung für Eventsystem eingebaut
IOBase.export gibt Wert von 'Export' in piCtory zurück
Device.get_* Parameter 'export' Filtert auf piCtory 'Export' Wert
2018-08-18 19:01:13 +02:00
6ef9a55f93 Mit default zusammenführen 2018-08-14 11:40:01 +02:00
61ad36840d _dict_events ist nun Threadsicher
Bei Fehler in ProcimgWriter System sauber verlassen
2018-08-14 11:38:03 +02:00
70a95dcacd __slots__ für alle möglichen Klassen implementiert 2018-08-13 15:12:41 +02:00
c2f26bcc98 Code style 2018-08-12 18:14:22 +02:00
27a69488f4 Connect-Attribut watchdogtrigger in wdautotoggle umbenannt
Bei handlesignalend wird im monitoring Modus nicht mehr geschrieben
2018-08-09 08:36:18 +02:00
e7c1f522dc watchdogtrigger in Connect-Klasse integriert (Wechselt alle 10 Sekunden)
Adressen der core/connect IOs verbessert
2018-08-01 15:49:02 +02:00
c10f36001f IO Zuordnung in Core-Klasse jetzt IOBase Objekt kein Index mehr
Watchdog und X2 in/out werden als IOBase Objekte über core angeboten
2018-07-30 12:24:12 +02:00
2ab799971f Verbesserung in LED_BYTE-Berechnung
Byteorder für Core-Funktionen fest auf "little" gesetzt
Connect-Klasse von Core abgeleitet
A3 zur Connect Klasse hinzugefügt
2018-07-29 08:54:33 +02:00
8e0d1b7455 Reihenfolge des Iterators der Devices ist nun nach Position im Prozessabbild
sortiert und nicht nach Position - Entspricht piCtory
2018-06-27 12:12:31 +02:00
ca2a610119 _defaultvalue kann String aufnehmen muss aber über _defaultvalue erfragt werden
_defaultvalue kann niemals None sein, außer bei StructIO zur Berechnung
Fehlerabfang komischer piCtory JSON Datei für _defaultvalue ('null' statt null)
2018-04-17 13:13:12 +02:00
2ff41cfccc StuctIO kann nun COUNTs Bytes zu einem IO zusammenfassen
Fehlermeldungen in NetFH mit warnings realisiert
2017-12-26 14:09:12 +01:00
072327b330 Saubere Fehlermeldung, wenn piCtory Datei nicht lesbar (leer) ist
docstrings
2017-12-16 12:58:13 +01:00
df670cc180 Mit net zusammenführen 2017-12-03 15:30:34 +01:00
35a10fc53e __exec_th als daemon starten
Devices zum autorefresh hinzufügen abgesichert mit Lock
2017-12-03 15:00:47 +01:00
408f9929b7 Mit default zusammenführen 2017-12-02 17:25:28 +01:00
87a648cbc6 IOEvent-Klasse eingebaut - Ersetzt tuple()
reg_event, reg_timerevent über zentrale Funktion verwaltet
2017-12-02 16:17:02 +01:00
b16af483dc Eigene EventQueue für Threads, um diese direkt zu starten 2017-12-02 14:36:04 +01:00
01515e28c5 Eventüberwachung über Queues realisiert 2017-11-15 09:18:33 +01:00
8c195d72f3 netio.disconnect() eingefügt (gleich mit modio.cleanup())
Prüfung des Parameters address in RevPiNetIO()
2017-11-13 11:01:26 +01:00
8596fac1f9 Mit default zusammenführen 2017-11-11 09:52:55 +01:00
5887a22ba0 Fehlerverwaltung bei cycleloop und mainloop
Device.__contains__ Rückgabe bei ersetzen IOs nun False
RevPiModIO.__del__ löst klarere Fehler bei falscher Instantiierung aus
2017-11-08 17:46:50 +01:00
a1c81cf2b2 Mit default zusammenführen 2017-11-03 08:54:30 +01:00
2fedb130af cycleloop säubert das _exit-Event
.wait Parameterprüfung eingebaut
Fehler im Devicehandling bei doppelten Namen behoben
2017-11-02 19:34:52 +01:00
07d6d0e848 VirtualDevices in alter piCtory "adap." mit 64 beginnen (Kunbus Standard)
Konstanten um INP, OUT, MEM erweitert und io.Type gelöscht
Änderung der Klassen auf neue Konstanten
device.__getioiter angelegt für Rückgabe der IOs ohne None bei BIT-Bytes
device.__getioiter in Rückgabefunktionen eingebaut
io.DeadIO mit _parentdevice = None erweitert
io.IOBase.__bool__ gibt nun False bei leeren Bytes aus
io.StructIO.frm gibt nun nur einzelnen Zeichen aus (Byteorder über .byteorder)
2017-11-01 15:32:08 +01:00
f9685b6df6 Mit default zusammenführen 2017-09-14 20:08:18 +02:00
e6d896b356 typo core.temperatur in core.temperature umbenannt 2017-09-14 19:38:05 +02:00
ea62c36ae9 Import der __init__ vereinfacht (Nur die RevPi Klassen importieren) 2017-09-11 17:27:57 +02:00
3f85a09382 Modul netio eingefügt 2017-09-11 16:29:44 +02:00
974fe26fd4 FileHandler nicht bei __init__ Anlegen um Vererbung zu ermöglichen
._configure bekommt JSON als Parameter übergeben
RS485 Fehler nicht im Simulatormodus schreiben
2017-09-11 10:53:14 +02:00
dde382e308 Fehler bei Devicesuche über Namen oder Position in setdefaultvalues,
syncoutputs, writeprocimg
cycletools: ton, tof, tp auch ohne c nutzbar mit Angabe in Millisekunden
2017-09-03 06:58:55 +02:00
c226e91550 handlesignalend() prüfte immer auf cleanupfunc, auch wenn None
cycleloop cycletime=None gesetzt - bei Nichtangabe wurde immer 50 gesetzt
io.reg_timerevent() hinzugefügt
docstring
2017-08-31 14:27:38 +02:00