Commit Graph

188 Commits

Author SHA1 Message Date
1b7c4cddc4 Fix closing connected RevPiSlaveDev on program exit.
RevPiSlaveDev are daemon threads and we have to .join() after calling .stop()
to let the thread finish its work of disconnect and write default values to
process image.
2020-11-21 10:51:32 +01:00
c393b9fb05 Fix problem with extended unix user groups
PLC program got only uid and gid, but not the other group ids of user.
Set gid to work directory, too.
Set uid and gid to uploaded files.
2020-11-04 23:18:52 +01:00
7b242865e4 XML-RPC performance, RevPi Flat soft watchdog bit
XML-RPC handle multiple request in main loop
XML-RPC log system send max 1M of data
XML-RPC set handler timeout to 2 seconds
Add support for RevPi Flat last bit of RevPiLED word for soft watchdog
2020-10-11 11:35:35 +02:00
b24ea9fcb3 New XML functions for RevPiCommander 2020-09-24 18:32:41 +02:00
735786144e XML-RPC is managed by main thread 2020-07-25 17:03:12 +02:00
8f0249673a Call functions with watchdogs.py.
Call psstop after "reset driver"
2020-07-25 13:26:33 +02:00
7f00725036 Set always localhost to ACL with revpipyload_secure_installation 2020-06-27 12:56:57 +02:00
0162692e51 New release 0.9.2 2020-06-24 21:05:53 +02:00
22ac2c96de New default values for revpipyload.conf
Process image will set to ZERO on error in your control program,
user pi and your control program can write to work directory /var/lib/revpipyload,
XML-RPC server for RevPiPyControl is bind to localhost.
Use revpipyload_secure_installation to quick setup the access via RevPiPyControl from local network
Max logfile size is 1M before rotate
2020-06-24 17:13:51 +02:00
6aa6985567 Added assistant program revpipyload_secure_installation to setup access via RevPiPyControl
This program will activate/deactivate XML-RPC,
bind it to localhost or your network adapter,
install ACL lists, which you can modify via RevPiPyControl
2020-06-24 17:08:16 +02:00
3943552382 New release 0.9.1 2020-06-23 13:16:13 +02:00
6c32e81b9f Bug fix to reload created piCtory configuration, while daemon is running 2020-06-23 12:04:59 +02:00
e7c6899101 Bugfix on missing piCtory config, cleanup 0.9.0 2020-05-16 11:55:14 +02:00
724d785a12 Return PLC program exitcode on crash, Watchdog in MQTT for all Cores, no debug-message on internal revpimodio 2020-05-03 13:39:16 +02:00
a40b39eb22 Bugfix on watchdogs.py, remove type hints because of wheezy and jessie
SoftwareWatchdog did not restart after daemon reload and switching from 0 to >=1 value
ResetDriver trigger will not always return True if not_implemented is True
2020-05-02 19:45:05 +02:00
beb073893b Bugfix RtLevel, software watchdog for PLC Program
RtLevel was not set on restart plc program after crash
Software watchdog will restart plc program, if it does not toggle core.wd
in the configured time. It is the same bit and function as on connect
device to trigger hardware watchdog (bit 7 in RevPiLED).
2020-05-01 22:59:10 +02:00
d77fea0b48 "Reset Driver" of piCtory can now restart your plc program
You can set reset_driver_action in revpipyload.conf to 0, 1, 2
0=do nothing
1=Restart PLC program only if piCtory config was changed
2=Always restart PLC program after pressing "Reset Driver" (default)
(will not work on old wheezy)

close #1
2020-04-30 22:11:23 +02:00
13d42acd67 Use new RevPiModIO features 2020-04-13 10:03:17 +02:00
7c646e9770 Fix compile error on older Python3 versions 2020-04-13 09:19:17 +02:00
5099f255d6 Cleanup and new version number 0.8.5 2020-04-12 08:35:39 +02:00
86aed08870 Change plc-watchdog value in .conf and xml-rpc 2020-03-18 09:46:15 +01:00
7f1cd2a58e Insert watchdog for netcmd-loop, put unpack values directly to variables
The watchdog will force a disconnect, if the runtime of the netcmd-cylce is longer than __deadtime
Default value of watchdog is True
Split unpacked values of netcmd directly to cmd, position, length and blob
2020-03-17 19:39:20 +01:00
602daee3ea Use struct module for net commands, send files with length, replace SD with WD
The struct module is more efficient than int.from_bytes.
piCtory and ReplaceIO file length in the first 4 bytes of transmission
Replaced SD with WD cmd, which will write one request, no buffer
2020-03-08 20:57:56 +01:00
b5dd561aa3 Implement bytebuffer and length check to picontrolserver.py
Compatible to RevPiModIO <= 2.4.2
2020-03-08 14:58:38 +01:00
998e860cfd Increase number of NetIO-Clients to 32 (16 Devices) 2019-12-30 11:10:46 +01:00
63c014c5df Fix error in piCtory checker
Removed postinst message for upgrade from 0.6.5
2019-12-29 13:33:50 +01:00
e72942f961 Moved paho to lib and switched VCS and IDE
Switched from Mercurial to GIT
Switched from eric6 to pyCharm
2019-10-20 16:54:09 +02:00
3df7e19ac6 Etikett 0.8.1 zum Änderungssatz 49a2a6571491 hinzugefügt 2019-09-16 19:52:54 +02:00
ae53c8da57 Mit procimgserver zusammenführen 0.8.1 2019-09-16 10:48:18 +02:00
6796873a7a Konfiguration von "plcworkdir_set_uid" über PyControl möglich
User ID wird auf 0 oder angegebene gesetzt je nach Parameter in config file
Relative replace_ios Datei wird mit workdir versehen
replace_ios Datei in workdir wird relativ an PyControl gesendet
2019-09-16 10:42:15 +02:00
3e3cb6e0b4 Byteorder und Vorzeichen an PyControl übergeben und verarbeiten 2019-09-15 22:21:39 +02:00
35d2220a04 Etikett 0.8.0 zum Änderungssatz c30333dc6d8c hinzugefügt 2019-08-26 13:19:26 +02:00
c0a9d0dfde Mit replace_ios zusammenführen 0.8.0 2019-08-26 13:19:13 +02:00
1eb38407f5 Übertragung piCtory Datei trennt bei Fehler Verbindung
Übertragung replace_io Datei trennt bei Fehler Verbindung
Replace IO wird nur übertragen, wenn HASH nicht HASH_NULL ist
2019-08-26 13:18:47 +02:00
8420e2c622 PLC-Programm-Neustart unabhängig von XMLRPC Sektion in .conf 2019-08-25 07:41:42 +02:00
43969d8162 picontrolserver enthält Hashvariablen von piCtory und replace_io Datei
TODO: File-Hash-Werte sollten gegen Inhaltsprüfung getauscht werden
2019-08-25 07:27:53 +02:00
e3cedd6f39 Wenn replace_ios nicht gefunden wurde, wird HASH_FAIL übertragen
UID kann nun auf Workdirectory gesetzt werden
2019-08-20 14:41:23 +02:00
5542f5d63b Bei Änderung von replace_ios nur Clients trennen, die Hashwert anforderten 2019-08-19 18:09:27 +02:00
6372188205 Bei Änderung der Configuration nur die PLC-Slave-Verbindungen trennen
Accept Timeout auf 2 Sekunden festgelegt
2019-08-19 16:40:18 +02:00
2b96abce66 Hashwerte als Bytes übertragen
16 mal \x00 senden, wenn replace_ios nicht existiert
2019-08-19 14:55:55 +02:00
1cb0c282d7 Bei ProcImgServer fehlte cleanup von RevPiModIO
check_replace_ios_changed brachte falsche Werte, wenn nicht angegeben
RevPiModIO min 2.4.1
2019-08-18 18:55:51 +02:00
7fe5904ef6 Mit replace_ios zusammenführen 2019-08-18 12:20:04 +02:00
9af773d5ee Fehler bei Hashwerte bei Dateien behoben
Neuanordnugn für Reload der Dienste bei Dateiänderungen
2019-08-18 12:13:30 +02:00
c024020294 Dateikontrolle für pictory und replace_ios per timestamp und hash Wert
Hashwerte der Dateien über RevPiNetIO abrufbar b'PH' b'RH'
Alte Testfunktion für replace_ios aus helper entfernt
2019-08-18 11:23:18 +02:00
2bf3dce42e Alle revpimodio verwenden nun direct_write 2019-08-07 12:51:50 +02:00
80c2550739 Übertragung der replace_io über das Netzwerk begonnen 2019-08-07 12:05:30 +02:00
a7f7d48b93 Etikett 0.7.6 zum Änderungssatz d48697dec964 hinzugefügt 2019-06-17 14:18:22 +02:00
40199c089a Mit replace_ios zusammenführen 0.7.6 2019-06-17 14:18:12 +02:00
89f29b0496 ProcimgServer lädt standard IOs, wenn replace_ios_file nicht gültig ist
MQTT lädt standard IOs, wenn replace_ios_file nicht gültig ist
replace_ios_file wird beim reload geprüft und ggf. neu geladen
Startbar ohne replace_ios Parameter
Bei fehlender replace_ios Datei werden standard IOs verwendet
2019-06-17 14:17:56 +02:00
09cb134f31 replace_io_file wird von RevPiModIO verarbeitet
Parameter kann per XML-RPC übergeben werden
Argument --test hinzugefügt um replace_io_file testen zu können
2019-06-16 16:06:29 +02:00