akira
91f33926a5
feat: Inherits uid/gid from the PLC program when not executed as root
...
If the daemon is not executed as root, no alternative UID/GID can be set
for the control program. In this case, the IDs of the daemon process
are inherited to the control program.
2024-07-11 15:41:44 +02:00
akira
c9877d8230
chore: Release 0.11.0
2023-11-24 11:28:09 +01:00
akira
2327c22cbd
feat: New XML-RPC function for async calls of piControl
...
New XML-RPC functions are "ps_switching_cycles" and
"ps_reset_counter" to reset the counters of an DI / DIO module and
get the switching cycles of the new RO module.
This needs RevPiModIO2 2.7.0rc2 as dependency, which is set in this
commit, too.
Signed-off-by: Sven Sager <akira@narux.de >
2023-11-15 08:33:42 +01:00
akira
986b52951e
chore: Release 0.11.0rc2
...
Signed-off-by: Sven Sager <akira@narux.de >
2023-11-13 12:34:08 +01:00
akira
16102a2aa3
feat: New XML-RPC function 'set_plcprogram'
...
With the new XML-RPC function, a new PLC program can be passed, which
is loaded directly and saved in the configuration file.
Signed-off-by: Sven Sager <akira@narux.de >
2023-10-26 17:52:31 +02:00
akira
5b4c799c98
fix: Settings name translation has to check the existence of key
...
In the 'xml_setconfig' function, the names of the passed dictionary
are translated into new names. However, there is no obligation to
hand over all fields in the setting dict. This bugfix checks whether
the keys exist before translating.
Refs: 6d56c667
Signed-off-by: Sven Sager <akira@narux.de >
2023-10-26 17:52:31 +02:00
akira
87effde838
fix: Fixes the error that setconfig always reloads the settings
...
The parameter 'loadnow' has not been processed since commit 3222790d
and the settings have always been applied immediately.
Refs: 3222790d
Signed-off-by: Sven Sager <akira@narux.de >
2023-10-26 17:52:31 +02:00
akira
7bc1adcc2a
build: Fix Makefile targets to match GNU coding standards
...
- Rename target clean-all to distclean
- Add uninstall target
- Install target has to run tests
Signed-off-by: Sven Sager <akira@narux.de >
2023-10-26 17:52:31 +02:00
akira
ee32621dcf
build: Add environment variable to set alternative venv path
2023-10-26 17:52:31 +02:00
akira
a5b728dc7c
chore: Release 0.11.0rc1
...
Signed-off-by: Sven Sager <akira@narux.de >
2023-10-26 17:52:31 +02:00
akira
b51c2b617a
chore: Release 0.10.0
2023-07-03 17:04:38 +02:00
akira
6d56c66737
revert: XML-RPC protocol changes
...
Unfortunately, the changes to the XML-RPC protocol from Commit
f591621614 must be undone. The new
strings cause too many compatibility problems with old clients.
2023-07-03 14:21:08 +02:00
akira
9812f8b098
feat: Rename obsolet config file values
...
After changes to the configuration keys for this program, the old ones
are adopted.
2023-07-03 14:15:28 +02:00
akira
279cf39e93
fix: Load all class attributes regardless of configuration
...
Partly, class attributes were not instantiated if certain sections of
the configuration file were missing.
2023-07-03 12:38:57 +02:00
akira
10c9978a4d
feat: Remove shell scripts from data files
...
The setup.py will install the executable to /usr/bin automatically.
2023-06-30 09:42:36 +02:00
akira
71c68ecd5b
docs: Add new wordorder property to example file
...
RevPiModIO 2.6.0 supports wordorder for multi byte IOs. This is also
supported in the replace_ios.conf file.
2023-06-30 08:09:06 +02:00
akira
d97c6fce00
fix: Set dependency of RevPiModIO to final version
2023-06-30 08:07:32 +02:00
akira
617373574a
Bugfix of imports and wordorder for revpi commander
2023-02-16 13:09:04 +01:00
akira
f591621614
Replaces Master-Slave with Client-Server
...
Expunging all occurrences of inappropriate language of the query and
response paradigm of PLC communications. We are familiar with the Modbus
terminology and fully support this change.
https://www.modbus.org/docs/Client-ServerPR-07-2020-final.docx.pdf
2023-02-07 09:54:03 +01:00
akira
affa12712d
Add default files for installation or packaging.
2023-02-06 16:44:47 +01:00
akira
76349cf811
Reorder package to src-layout, switch to GPLv2 license.
...
Move package to src directory and update project base files for build
process.
This project change the LICENSE from GPLv3 to GPLv2 after approval of
all contributors:
https://github.com/kjkoster
2023-02-06 16:41:00 +01:00
akira
f5dc026fbc
Support wordorder for revpi-commander
2022-12-16 15:31:40 +01:00
akira
69d4391ecd
Some additional MQTT updates
2022-07-01 13:25:22 +02:00
akira
c35f372e41
Merge pull request #10 from kjkoster/master
...
MQTT feature request (with code)
2022-06-29 10:26:00 +02:00
akira
2931600910
New release
2022-05-11 06:08:29 +02:00
akira
1146fccfe6
Object scan in MQTT server uses wrong name source, ignoring export flag
...
The object scan to find IOs on core devices uses the `__slot__` attribute, which include very private objects. That objects are not accessible by `getattr` - Now we are using `dir()`.
Missing objects from parent classes.
Ignored the export flag from piCtory.
closing #9
2022-05-10 11:10:03 +02:00
akira
a5ceb7b369
New release
2022-04-21 15:57:24 +02:00
akira
581c0736be
Improve log information about plc program exit like termed/killed/exit code
2022-04-02 21:47:32 +02:00
akira
cbfd69d852
Code cleanup
2022-04-02 21:45:47 +02:00
akira
b7f4004abb
secure_installation will only reload settings, if daemon is running
...
close #3
2022-04-02 20:58:19 +02:00
akira
a47fae5b7a
Bugfix: Missing core. IOs in MQTT on RevPi FLAT devices
...
Change the function to find direct core IOs on all actual and upcoming devices.
To set a MQTT output (bool) the special value true/false as payload is now case-insensitive.
2022-03-13 09:04:23 +01:00
akira
63d8d73d1a
Bugfix: Write MQTT values without enabled send_on_event
...
Since RevPiModIO2 2.5.6 we have to use the `.writeprocimg()` function to write IO values with enabled `shared_procimg`.
close #6
2022-03-13 08:33:07 +01:00
akira
395574810f
Reset of piControl via ioctl
...
The reset of piControl was made with a call of `piControlReset` or `piTest`.
2021-09-09 11:47:15 +02:00
akira
d8191959c5
The MQTT system sends byte IOs as real byte to the broker
...
Most IOs are `bool()` or `int()`. In some cases users replaced some IO values
as raw bytes. The MQTT system now also sends these as raw bytes.
2021-09-09 09:16:48 +02:00
akira
3fe69b54cc
Parameter for shutdown timeout in seconds for plc program (default is and was 5 seconds)
2021-02-27 15:05:09 +01:00
akira
e4ced5539e
New release
2021-01-31 19:32:05 +01:00
akira
f2984ce2b4
Prepare for new shared_procimg behavior
2021-01-31 12:55:46 +01:00
akira
97884d1b75
Merge remote-tracking branch 'origin/master'
2021-01-14 19:17:28 +01:00
akira
86d6f294a5
New release
2021-01-14 19:17:02 +01:00
akira
a6d794c78e
Bugfix - Do not remove empty plcworkdir on xml_plcdelete_file function
2020-12-28 23:11:38 +01:00
akira
acd61bc2df
Bugfix in upload function
2020-12-28 21:55:13 +01:00
akira
a07fa2e333
Set configured owner of files and directories after plc program upload
...
If 'plcworkdir_set_uid' is set to 1, all uploaded files and new created
directories in plc work dir will set to configured owner and group.
2020-11-27 09:33:15 +01:00
akira
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
akira
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
akira
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
akira
b24ea9fcb3
New XML functions for RevPiCommander
2020-09-24 18:32:41 +02:00
akira
735786144e
XML-RPC is managed by main thread
2020-07-25 17:03:12 +02:00
akira
8f0249673a
Call functions with watchdogs.py.
...
Call psstop after "reset driver"
2020-07-25 13:26:33 +02:00
akira
7f00725036
Set always localhost to ACL with revpipyload_secure_installation
2020-06-27 12:56:57 +02:00
akira
0162692e51
New release
2020-06-24 21:05:53 +02:00
akira
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
akira
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
akira
3943552382
New release
2020-06-23 13:16:13 +02:00
akira
6c32e81b9f
Bug fix to reload created piCtory configuration, while daemon is running
2020-06-23 12:04:59 +02:00
akira
e7c6899101
Bugfix on missing piCtory config, cleanup
2020-05-16 11:55:14 +02:00
akira
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
akira
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
akira
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
akira
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
akira
13d42acd67
Use new RevPiModIO features
2020-04-13 10:03:17 +02:00
akira
7c646e9770
Fix compile error on older Python3 versions
2020-04-13 09:19:17 +02:00
akira
5099f255d6
Cleanup and new version number
2020-04-12 08:35:39 +02:00
akira
86aed08870
Change plc-watchdog value in .conf and xml-rpc
2020-03-18 09:46:15 +01:00
akira
3df7e19ac6
Etikett 0.8.1 zum Änderungssatz 49a2a6571491 hinzugefügt
2019-09-16 19:52:54 +02:00
akira
ae53c8da57
Mit procimgserver zusammenführen
2019-09-16 10:48:18 +02:00
akira
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
akira
3e3cb6e0b4
Byteorder und Vorzeichen an PyControl übergeben und verarbeiten
2019-09-15 22:21:39 +02:00
akira
35d2220a04
Etikett 0.8.0 zum Änderungssatz c30333dc6d8c hinzugefügt
2019-08-26 13:19:26 +02:00
akira
c0a9d0dfde
Mit replace_ios zusammenführen
2019-08-26 13:19:13 +02:00
akira
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
akira
8420e2c622
PLC-Programm-Neustart unabhängig von XMLRPC Sektion in .conf
2019-08-25 07:41:42 +02:00
akira
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
akira
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
akira
5542f5d63b
Bei Änderung von replace_ios nur Clients trennen, die Hashwert anforderten
2019-08-19 18:09:27 +02:00
akira
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
akira
2b96abce66
Hashwerte als Bytes übertragen
...
16 mal \x00 senden, wenn replace_ios nicht existiert
2019-08-19 14:55:55 +02:00
akira
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
akira
7fe5904ef6
Mit replace_ios zusammenführen
2019-08-18 12:20:04 +02:00
akira
9af773d5ee
Fehler bei Hashwerte bei Dateien behoben
...
Neuanordnugn für Reload der Dienste bei Dateiänderungen
2019-08-18 12:13:30 +02:00
akira
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
akira
2bf3dce42e
Alle revpimodio verwenden nun direct_write
2019-08-07 12:51:50 +02:00
akira
80c2550739
Übertragung der replace_io über das Netzwerk begonnen
2019-08-07 12:05:30 +02:00
akira
a7f7d48b93
Etikett 0.7.6 zum Änderungssatz d48697dec964 hinzugefügt
2019-06-17 14:18:22 +02:00
akira
40199c089a
Mit replace_ios zusammenführen
2019-06-17 14:18:12 +02:00
akira
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
akira
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
akira
5661217900
replace_io aus Datei importieren wird direkt vararbeitet
2019-06-16 13:55:24 +02:00
akira
f608d99d7d
Replace IOs aus Configfile übernehmen
2019-06-10 22:49:23 +02:00
akira
bf9eb5ea04
added LICENSE.txt
2019-06-10 15:21:45 +02:00
akira
40edc761f6
Etikett 0.7.5 zum Änderungssatz 825f771e670b hinzugefügt
2019-01-07 20:08:42 +01:00
akira
8f1153b738
Mit revpislave zusammenführen
2019-01-07 20:08:33 +01:00
akira
64955e7ef0
Counter Reset in MQTT eingebaut basename/reset/ioname - payload egal
2019-01-07 20:08:18 +01:00
akira
637348111b
bindip für PlcSlave wird jetzt verarbeitet
...
Fehlerabfang bei piCtory-Übertragung
IOCTL über das Netzwerk implementiert
Parameter --developermode implementiert
2018-12-12 10:03:50 +01:00
akira
2fac129232
Etikett 0.7.3 zum Änderungssatz eabe4f3aee17 hinzugefügt
2018-09-30 19:46:50 +02:00
akira
e48f1807f8
Verarbeitung der Exportflags von Core IOs in MQTT überarbeitet
...
Bei reload und autostart 0->1 wird PLC Programm nun sofort gestartet
2018-09-30 19:02:09 +02:00
akira
399cdd847a
Etikett 0.7.2 zum Änderungssatz f6c6238f0d2a hinzugefügt
2018-09-26 11:08:45 +02:00
akira
4b3de84b20
Fehler bei MQTT-Werteübergabe der XML-RPC Schnittstelle behoben
...
postinst Link angepasst
2018-09-26 11:08:30 +02:00
akira
fd00fa3684
MQTT Defaultwerte angepasst
...
init-file fest mit -d Argument versehen und Codepage für Python
2018-09-25 19:44:24 +02:00
akira
91cae663bd
Mit mqtt zusammenführen
2018-09-25 19:29:43 +02:00
akira
851d7d725b
Logging angepasst
2018-09-25 19:22:07 +02:00