Commit Graph
100 Commits
Author SHA1 Message Date
akira 9d78d62b31 Etikett 2.3.2 zum Änderungssatz 789ef5f59b37 hinzugefügt 2019-05-01 13:34:33 +02:00
akira 843cbf39c3 Mit errorhandling zusammenführen 2019-05-01 13:30:45 +02:00
akira 2463eb019d Parameterprüfung für Instantiierung eingeführt
Debug-Parameter für alle Vererbungen übernommen
2019-05-01 12:25:45 +02:00
akira 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
akira 6782e9431a Bessere Werte bei _gotioerror
Debugflag um exakte Fehlermeldungen zu bekommen
2019-03-07 12:50:35 +01:00
akira a58162282f added LICENSE.txt and README.md 2019-01-25 20:04:49 +01:00
akira 1fbdf08cf0 Etikett 2.3.1 zum Änderungssatz ce2fce1e77d5 hinzugefügt 2019-01-07 19:36:36 +01:00
akira a99203b3c9 Parameter no_warn in .mainloop eingebaut 2019-01-07 19:36:16 +01:00
akira 770f49ab2d Mit classes zusammenführen 2018-12-12 09:14:16 +01:00
akira 38ba012f38 Errortypen angepasst
NetFh.__init__ Parameterprüfung geändert
NetFh._direct_send implementiert
2018-12-12 08:49:21 +01:00
akira 325bb23bba Etikett 2.3.0 zum Änderungssatz 486b6c6e6c09 hinzugefügt 2018-12-11 11:03:18 +01:00
akira 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
akira 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
akira 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
akira 65a0186efb Speicherzeit der piCtory Datei wird in Klasse App verarbeitet
raise IndexError bei __getitem__
2018-12-08 12:31:28 +01:00
akira b9b17670ce Etikett 2.2.5 zum Änderungssatz a19c245f9a15 hinzugefügt 2018-09-30 19:45:53 +02:00
akira 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
akira 2b601eac5c Etikett 2.2.4 zum Änderungssatz 35b18b1423b9 hinzugefügt 2018-09-25 19:53:24 +02:00
akira db7386c078 Export Wert von RevPiLED an a*color / wd / x2* weitergeben
IO Namen des Cores mit "core." als Präfix versehen für Eventüberwachung
2018-09-25 19:26:51 +02:00
akira 4c04cbc1c1 Etikett 2.2.3 zum Änderungssatz 004f802ab5b9 hinzugefügt 2018-09-01 22:32:42 +02:00
akira 4edcea7ba4 Mit net zusammenführen 2018-09-01 22:25:00 +02:00
akira 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
akira ce590cdd14 Mit slots zusammenführen 2018-08-23 09:43:03 +02:00
akira 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
akira 6ef9a55f93 Mit default zusammenführen 2018-08-14 11:40:01 +02:00
akira 61ad36840d _dict_events ist nun Threadsicher
Bei Fehler in ProcimgWriter System sauber verlassen
2018-08-14 11:38:03 +02:00
akira 70a95dcacd __slots__ für alle möglichen Klassen implementiert 2018-08-13 15:12:41 +02:00
akira c2f26bcc98 Code style 2018-08-12 18:14:22 +02:00
akira 135076c953 Etikett 2.2.2 zum Änderungssatz 3348b69ce4da hinzugefügt 2018-08-09 09:01:56 +02:00
akira 27a69488f4 Connect-Attribut watchdogtrigger in wdautotoggle umbenannt
Bei handlesignalend wird im monitoring Modus nicht mehr geschrieben
2018-08-09 08:36:18 +02:00
akira ff7cd3ce7f Etikett 2.2.1 zum Änderungssatz 7cb81c09347a hinzugefügt 2018-08-01 17:49:26 +02:00
akira 7e5787421d triggerwatchdog darf nicht in monitoring oder simulator mode verwendet werden 2018-08-01 17:49:18 +02:00
akira c9301f423d Etikett 2.2.0 zum Änderungssatz ab291911cddc hinzugefügt 2018-08-01 15:50:23 +02:00
akira 828fb7f288 Mit rpiconnect zusammenführen 2018-08-01 15:49:39 +02:00
akira e7c1f522dc watchdogtrigger in Connect-Klasse integriert (Wechselt alle 10 Sekunden)
Adressen der core/connect IOs verbessert
2018-08-01 15:49:02 +02:00
akira 5cb806bbc5 Berechnung von Bit-IOs über mehr als 2 Bytes angepasst
wd und x2out Ansteuerung verbessert
Connect Funkscheiben werden als Devices ignoriert
Alle Cores werden bei syncoutputs nicht mehr mit \x00 vorbelegt
issubclass gegen isinstance getauscht
.exitsignal-Event für den Benutzer hinzugefügt
Bei Core-Klasse a*green / a*red als echte IOs hinzugefügt
2018-08-01 12:43:49 +02:00
akira 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
akira 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
akira 9882dc197a Timeouthandling für NetFH verbessert 70 prozent für Sync-Timer
IP-Adresse prüfen und ggf. auflösen
2018-07-27 14:15:10 +02:00
akira 4b8fd5a2b6 Erste Anpassungen für RevPiConnect 2018-07-27 11:30:33 +02:00
akira 03c7b7d7ea Etikett 2.1.6 zum Änderungssatz 717b1c9de1a1 hinzugefügt 2018-06-27 12:12:40 +02:00
akira 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
akira 69a7020aac Etikett 2.1.5 zum Änderungssatz 5afbc2b0cf8f hinzugefügt 2018-04-17 13:15:47 +02:00
akira 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
akira 9a1084ad7d Etikett 2.1.4 zum Änderungssatz 5310c7b68cec hinzugefügt 2018-04-05 16:04:11 +02:00
akira de8ea965b9 Zeitübergabe cycleloop() wurde nicht sofort übernommen 2018-04-05 16:02:36 +02:00
akira b4767c9713 Etikett 2.1.3 zum Änderungssatz 0864ee445b48 hinzugefügt 2018-01-11 15:51:07 +01:00
akira 2ff41cfccc StuctIO kann nun COUNTs Bytes zu einem IO zusammenfassen
Fehlermeldungen in NetFH mit warnings realisiert
2017-12-26 14:09:12 +01:00
akira 072327b330 Saubere Fehlermeldung, wenn piCtory Datei nicht lesbar (leer) ist
docstrings
2017-12-16 12:58:13 +01:00
akira 6881995fc4 Etikett 2.1.2 zum Änderungssatz e797a0b44e23 hinzugefügt 2017-12-03 15:44:47 +01:00
akira 649db73f2b setup.py angepasst für Upload 2017-12-03 15:42:54 +01:00
akira df670cc180 Mit net zusammenführen 2017-12-03 15:30:34 +01:00
akira 35a10fc53e __exec_th als daemon starten
Devices zum autorefresh hinzufügen abgesichert mit Lock
2017-12-03 15:00:47 +01:00
akira 408f9929b7 Mit default zusammenführen 2017-12-02 17:25:28 +01:00
akira 691bbee0bc Mit mainloop zusammenführen 2017-12-02 17:24:07 +01:00
akira e4f2c95dda EventThread vor Mehrfachstarten geschützt 2017-12-02 17:03:45 +01:00
akira 87a648cbc6 IOEvent-Klasse eingebaut - Ersetzt tuple()
reg_event, reg_timerevent über zentrale Funktion verwaltet
2017-12-02 16:17:02 +01:00
akira b16af483dc Eigene EventQueue für Threads, um diese direkt zu starten 2017-12-02 14:36:04 +01:00
akira 8b0e465205 Fehlerabfang und Leistung in ProcimgWriter.run() verbessert 2017-11-15 11:32:56 +01:00
akira 01515e28c5 Eventüberwachung über Queues realisiert 2017-11-15 09:18:33 +01:00
akira 8c195d72f3 netio.disconnect() eingefügt (gleich mit modio.cleanup())
Prüfung des Parameters address in RevPiNetIO()
2017-11-13 11:01:26 +01:00
akira 8596fac1f9 Mit default zusammenführen 2017-11-11 09:52:55 +01:00
akira 1f7ecd0e22 Etikett 2.0.7 zum Änderungssatz 3ae247283e75 hinzugefügt 2017-11-08 18:32:59 +01:00
akira 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
akira 7da1906c96 RevPiNetIO.net_cleardefaultvalues() funktionierte nicht mit Server
Bugfix: Bei Instantiierungsfehler traten weitere Fehler auf
2017-11-06 12:56:04 +01:00
akira a1c81cf2b2 Mit default zusammenführen 2017-11-03 08:54:30 +01:00
akira 709c0f95be Etikett 2.0.6 zum Änderungssatz be1cb33cb307 hinzugefügt 2017-11-02 19:46:30 +01:00
akira 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
akira 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
akira b2256c492c Etikett 2.1.1b2 zum Änderungssatz 2d683ac34c1a hinzugefügt 2017-09-21 13:03:49 +02:00
akira d34d37f109 NetFH.close() mehrfach aufrufbar ohne Fehler
Socket schließen, wenn Fehler bei Verbindung
2017-09-21 12:59:25 +02:00
akira f679e66ead Mit default zusammenführen 2017-09-18 17:17:19 +02:00
akira 7c9148a3fd pip anpassungen 2017-09-18 13:54:47 +02:00
akira 47c3e83975 Etikett 2.1.1 zum Änderungssatz 99ca7df2da0e hinzugefügt 2017-09-17 15:39:04 +02:00
akira 82d59c78b5 Etikett 2.0.5 zum Änderungssatz 1f6c388e709d hinzugefügt 2017-09-17 15:29:22 +02:00
akira 907ba42512 Bugfix: prüfen auf self._myfh is not None statt hasattr 2017-09-17 15:16:16 +02:00
akira 09b2859db0 RevPiNetIO nur ._configure wenn nicht vererbt
Bugfix: prüfen auf self._myfh is not None statt hasattr
Socket in .close() beenden - nicht am Ende von .run() da als daemon=True
2017-09-17 15:06:18 +02:00
akira f9685b6df6 Mit default zusammenführen 2017-09-14 20:08:18 +02:00
akira 047e10845b Etikett 2.0.4 zum Änderungssatz 313d792dc991 hinzugefügt 2017-09-14 19:55:09 +02:00
akira e6d896b356 typo core.temperatur in core.temperature umbenannt 2017-09-14 19:38:05 +02:00
akira 31de83e663 Etikett 2.1.0 zum Änderungssatz aaae8badbf95 hinzugefügt 2017-09-11 18:06:54 +02:00
akira ea62c36ae9 Import der __init__ vereinfacht (Nur die RevPi Klassen importieren) 2017-09-11 17:27:57 +02:00
akira 3f85a09382 Modul netio eingefügt 2017-09-11 16:29:44 +02:00
akira 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
akira 1d1576840b Etikett 2.0.3 zum Änderungssatz 40b068ca1df2 hinzugefügt 2017-09-03 07:25:47 +02:00
akira bf5398a660 Version hochgezogen 2017-09-03 07:00:07 +02:00
akira 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
akira 12cc626f41 Etikett 2.0.2 zum Änderungssatz a52158b41285 hinzugefügt 2017-08-31 15:06:16 +02:00
akira 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
akira 705ae09cd0 Etikett 2.0.1 zum Änderungssatz ef712bae2753 hinzugefügt 2017-08-29 18:59:26 +02:00
akira 5c7a540d29 delay Parameter für reg_event eingebaut
reg_event schneller und Prüfung auf doppelte Events verbessert
cycletime kann nicht mehr verändert werden, wenn ein Loop läuft
io.IntIO.get_int und .set_int in get_intvalue und set_intvalue geändert
docstring
2017-08-29 18:22:14 +02:00
akira dcc8c22428 replace_io kann Bits >7 bei längeren Datentypen festlegen
Klassenattribute für Device angelegt
Intern nur auf interne _Variablen zugreifen
StructIO berechnet _defaultvalue aus gelöschten IOs
2017-08-27 14:46:28 +02:00
akira 4e9abf794b Encodingzeile an PEP angepasst (muss in Zeile 0 - 1 sein)
Von RevPiModIO kwagrs entfernt und feste keyword vergeben
Bei Änderung der Byteorder wird defaultvalue angepasst da aus piCtory little
Beim Core nur die RS485 Fehlerwerte übernehmen
defaultvalue wird mit Formatierung ausgegeben
.isnumeric gegen isdigit getauscht
docstrings
2017-08-26 15:12:55 +02:00
akira 2aebe170f5 Etikett 2.0.0 zum Änderungssatz 38b3a1252331 hinzugefügt 2017-08-23 21:07:45 +02:00
akira e3922d675a cleanup 2017-08-21 17:17:23 +02:00
akira 8b64386a18 IOList.__setitem__ aus Leistungsgründen entfernt - .value ist schneller
IOBase.__bytes__ Entfernt, da sinnlos - .get_value() liefert Bytes
Core._get_leda2 angepasst - weniger ifs
2017-08-21 16:27:40 +02:00
akira d6dd63a53f Fehlerabfang bei procimg verbessert
Device.autoupdate entfernt (nie verwendet)
RevPiModIO.ioerrors liefert Anzahl von _imgwriter, wenn Loop aktiv ist
RevPiModIO.*procimg force Parameter entfernt, da autoupdate weg ist
RevPiModIO.writeinputdefaults auf device.Virtual verschoben
Docstrings angepasst
alle Slices von Device und IOBase privatisiert _
DeviceList.__delattr__ eingefügt
Bugfix: Byteorder wurde bei StructIO nicht übernommen
Diverse Verbesserungen an DeviceList und IOList
class DeadIO eingefügt
2017-08-21 12:17:49 +02:00
akira 37eb012e16 setup.py für Package angepasst
get_inps _outs _mems umbenannt in get_inputs _outputs _memmories
IOType von __init__ auf io.Type geändert
IOBase.type eingefügt
2017-08-18 18:41:43 +02:00
akira e124da758f Starke Leistungsverbesserung bei device.get_*s()
auto_refresh in autorefresh überall umbenannt
ioerror Zähler auch in RevPiModIO eingebaut
_adjwait wird bei Umstellung gleich mit DIFF gesetzt
_ba_devdata wird nach IOs vollständig erstellt
StructIO Instantiierung vereinfacht / byteorder, signed automatisch
2017-08-16 17:14:36 +02:00
akira ddc93c9b9e Bugfix in io Module 2017-08-15 12:13:47 +02:00