Set default config path to `/etc/revpipyload/revpipyload.conf` and raise
error for inaccessible config files.
Signed-off-by: Sven Sager <akira@narux.de>
- Introduced `unixgroup` configuration for XML-RPC in
`revpipyload.conf`.
- Updated `UnixStreamXMLRPCServer` to set socket group ownership and
permissions.
Signed-off-by: Sven Sager <akira@narux.de>
Replaced the `_exit` boolean flag with an `Event` object (`_evt_exit`)
to improve thread-safe control of the program's shutdown process.
Signed-off-by: Sven Sager <akira@narux.de>
- Added checks to validate if file paths reside within the PLC working
directory.
- Logs a warning and prevents operations when paths fall outside the
permissible directory.
Signed-off-by: Sven Sager <akira@narux.de>
Signed-off-by: Sven Sager <s.sager@kunbus.com>
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>
Creating the stable branch after the RC will allow us to merge changes
to the Debian files from the debian_rc to the stable without
overwriting the values of the gbp.conf.
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>
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>
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>
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.
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
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
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.
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.
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
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
This program will activate/deactivate XML-RPC,
bind it to localhost or your network adapter,
install ACL lists, which you can modify via RevPiPyControl
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
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).
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
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