Commit Graph

64 Commits

Author SHA1 Message Date
1057e6daa4 Reorder package to src-layout.
Move package to src directory and update project base files for build
process.
2023-01-19 13:20:26 +01:00
0dd9c2637d Read export flag from piCtory for watchdog output
The watchdog output on a revpi connect will be set as exported, if you
set the export flag in pictory.
2022-12-22 16:40:33 +01:00
41e13999ad Next release 2022-04-21 15:55:31 +02:00
8f0539edfc Configure replaced ios from file before starting autorefresh
Very high load of cpu could cause cycle time warnings while apply replaced ios from file.
2022-03-25 11:57:00 +01:00
c635376ee2 Next release 2021-11-03 20:17:38 +01:00
bc8a13da1b Warn the user faster, if the cycle time is exhausted 2021-10-24 10:50:42 +02:00
b90e858fef Make the cycle more precise
Measure each cycle of process image synchronisation and do not build a mean value for that.
The cycle function is now exactly timed, even if the individual runtimes are different.
2021-10-17 19:11:04 +02:00
577e764741 Next release 2021-09-23 16:33:35 +02:00
8999e71d2e Bugfix with shared process image in cycle loop
Shared outputs was written after reading the process image for current cycle. So the values for the outputs was one cycle in the past.
2021-09-22 16:25:12 +02:00
9c7c679abc Bugfix on handle default values of type byte (frm="*s") in export_file 2021-09-09 12:31:21 +02:00
498d200e41 The replace_io file can handle default values of type byte (frm="*s") now. 2021-07-28 07:37:20 +02:00
ae8dcf7866 Next release 2021-04-18 09:14:58 +02:00
89a447abb9 Bugfix: Calculate correct lengths despite IO gaps in incorrect piCtory file 2021-04-14 09:09:10 +02:00
687c7ab91a Flat: Switch and Relais as real io of core class, added MEMs to pictory.py 2021-02-12 19:43:11 +01:00
d35b09e209 Next release 2021-01-31 19:35:29 +01:00
6608bd965c Sync write of outputs with autorefresh/cycle or .writeprocimg, if shared_procimg=True
If shared_procimg=True, ModIO wrote the new set values directly to the process
image without cycle sync mechanisms. As a result, the IOs could change status
several times within the cycleloop, which is wrong.
2021-01-31 13:31:05 +01:00
2904c7b187 Next release 2021-01-14 19:08:28 +01:00
dc731afafd Parameter shared_procimg can be set per device
The shared_procimg Parameter is still a global parameter, but can now be set
per device as well with .shared_procimg(...) of all devices.
2020-12-16 18:46:45 +01:00
6beb05577e Add blocking parameter to .cycleloop
If you want to use a cycleloop function and your own tasks, you can set
blocking=False in .cycleloop(...) call. Same as .mainloop(...) call.
2020-12-14 19:50:48 +01:00
4ac1283c5b Bugfix: Set A1 - A5 LED did not work with shared_procimg=True 2020-12-14 19:41:56 +01:00
79164bd41b Add support for RevPi Flat 2020-10-10 14:14:57 +02:00
beb7a36cc7 Set values in process image AND buffer with shared_procimg=True 2020-09-30 16:04:29 +02:00
9460c4f106 Cycleloop does not raise Exception, run_plc accept debug flag.
User has to use maxioerrors = n, if the program should crash on process
image errors.
If the ProcimgWriter helper is running but get no new data for 2500 ms,
the cycleloop will print just a warning. Cycle function is paused for
that time. Most interesting for RevPi NET classes.
2020-09-09 09:47:55 +02:00
963e173dc2 Redesign netio.py to prevent errors and provide clean source code 2020-08-30 10:41:52 +02:00
ff0f84bb03 Next release 2020-08-29 14:59:05 +02:00
8cef5222ac Next release 2020-08-29 11:39:03 +02:00
c20caaa5d5 Bugfix: Wrong buffer size after network error 2020-08-26 23:27:05 +02:00
bf4b450bc6 Bug fix for NetIO with autorefresh=True 2020-06-24 18:24:18 +02:00
a7802178e9 Added .device to Cycletools, added revpimodio2.run_plc shortcut to run cycleloop
Changed readinto buffer in ProcimgWriter
2020-05-16 11:25:08 +02:00
a6a227e99e Watchdog for all RevPis, cycletools with .core/.io/.runtime, bugfix on MemIO for str()
All RevPis got .core.wd for Software-Watchdog with RevPiPyLoad
All RevPis has .core.wd_toggle() function to toggle watchdog bit
Cycletools has .core and .io attribute to be independent of rpi object
Cycletools has .runtime to get the actual runtime of function
2020-05-03 13:43:09 +02:00
9d31bb5002 Add support for RevPi Compact, better calculation of A1, A2, A3 on core object 2020-04-29 20:52:09 +02:00
421cc17dbd Cleanup and new version number 2020-04-12 08:09:21 +02:00
907d867e0d Versionsnummer angepasst 2019-09-05 13:21:55 +02:00
b2ada1a58d piCtory Datei fehlerhaft bei HASH_FAIL 2019-08-26 13:10:00 +02:00
c68ba1ddb0 Zusammenfassung aller Entwicklungen erledigt
Versionsnummer geändert
typos gefixt
2019-08-01 16:09:21 +02:00
2e802544c9 Import und Export der Dateien verbessert 2019-06-12 17:18:15 +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
a99203b3c9 Parameter no_warn in .mainloop eingebaut 2019-01-07 19:36:16 +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
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
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
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
7e5787421d triggerwatchdog darf nicht in monitoring oder simulator mode verwendet werden 2018-08-01 17:49:18 +02:00
4b8fd5a2b6 Erste Anpassungen für RevPiConnect 2018-07-27 11:30: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
de8ea965b9 Zeitübergabe cycleloop() wurde nicht sofort übernommen 2018-04-05 16:02:36 +02:00
072327b330 Saubere Fehlermeldung, wenn piCtory Datei nicht lesbar (leer) ist
docstrings
2017-12-16 12:58:13 +01:00