The current Revolution Pi models come with RevPiPyLoad preinstalled. In addition to executing and monitoring your Python control program, the service can also help debug the IOs, enables access to the process image via the network and offers MQTT functionalities. Continue reading “Set up RevPiPyLoad on the new Revolution Pi”
Version 2.5.3
Important update!
- Bug fix in NetIO functions, which could lead to a crash in case of network errors.
- IO objects are now callable. The actual value will be returned via
.io.name()
or set with.io.name(True)
. This has the same function as.io.name.value
, which is of course still available. - New pictory module, which is designed for the AIO, DI, DO and DIO Module provides constants of the MEM values, which you configure in piCtory. So you can query the settings in your program by using the constants (thanks Theo!).
Version 2.5.0
Important update!
This update includes support for the Revolution Pi Compact.
In addition, the handling for .cycleloop(...)
has been improved and the Cycletools now also contain .device
, .core
, .io
. This means that you can access the IOs directly without having to go directly via the RevPiModIO object.
In addition, the .core class now always has the .wd
output and the .wd_toggle()
function, which was only available on the Connect. The software watchdog can be used with the current version of RevPiPyLoad.
Version 2.4.5
Important update!
- NetIO got massive stability and speed improvements, as well as a watchdog. (Requires RevPiPyLoad from 0.8.5).
- The
Cycletools
now have the.last
flag, which ifTrue
indicates the last cycle before the end of the program. By querying that value, clean-up work can be done in the cycle function. - Less resource consumption with
autorefresh
and query bit IO values. - Parameter
direct_output
has been renamed toshared_procimg
. Old name can still be used, but triggers a “DeprecationWarning”. - Improved synchronization of the loops when leaving the program (
.exit
/.cleanup
). - For MEM type IOs, the value now returns the configured value from piCtory (raw value).
Version 2.4.2
Important update!
This update fixes minor common errors and critical errors in network functions!
- Fixed an issue with all RevPiNetIO classes that prevented a reconnect under certain circumstances.
- Bug fix when using
prefire
andas_thread
in.reg_event(...)
. - Error correction in export file for replaced IOs
- Error correction, setting delayed events to
.core.ios
, such as..core.a1green
,.core.x2in
etc. - Warnings are issued once when errors occur and after the errors have been eliminated. No more warning floods in the console!
- Error counter on process image improved.
- The function
.reg_event(...)
accepts parameterprefire=True
and will execute this event immediately on entering the.mainloop()
[Doc]. - All RevPiNetIO classes require RevPiPyLoad version at least 0.8.0!
- RevPiNetIO classes have the attribute
.reconnecting
, which can be used to query whether the connection has been torn down temporarily. - All RevPiNetIO connections are disconnected when changing piCtory or replace_ios.conf. The attribute
.config_changed
will beTrue
and a new instantiation is needed. - IOs exported with
.replace_io(...)
can be exported to a file and used by other instances or RevPiPyLoad / Control with.export_replace_ios()
. - Parameter
replace_io_file
for RevPiModIO introduced, for the import of the exported file. With RevPiNetIO:network:
can be used to import this data via RevPiPyLoad over the network. - Added parameter
direct_output
at instantiation [Doc]. - Indexed access to IOs via
.device
possible (.device.dio01[0].value
).
Version 2.3.2
This version mainly fixes errors in counter IOs
- Counter IOs 8 – 16 can now also be reset with
.reset ()
- Runtime warnings have better error hints
debug
argument introduced to get complete error messages- Format check implemented by
.replace_io(...)
for specific types
Thanks to Nicolai Buchwitz - Improved argument checking on instantiation
Version 2.3.1
This update introduces the counter-reset of DI / DIO modules!
- Counter IOs now have the function
.reset()
to reset the counters on the DI / DIO modules.
Note: The Wheezy (7) system does not support this in the piControl! - Counter can also be reset via RevPiNetIO over the network (RevPiPyLoad at least version 0.7.5).
- Iterators now issue Python-conforming exceptions.
- The function
.replace_io(...)
was offered for all IO objects, but can only be used with gateway or virtual devices. It is now only available on IOs that support this feature. - The
.mainloop(...)
now accepts theno_warn=True
parameter to disable runtime warnings.
NodeRed with MQTT in the Revolution Pi
At RevPiDay 2018, we introduced you to our RevPiPyLoad extension, which allows us to use NodeRed on the Revolution Pi very easily thanks to MQTT. Here we show you how it works. Continue reading “NodeRed with MQTT in the Revolution Pi”
Version 2.2.5
Important update!
- IOs of the Core / Connect modules are now managed statically, which is very important if new IO variants of the modules should appear in piCtory.
- If events are appended to IOs of the
.core.
class via.reg_event(...)
, the IO names are prefixed with core. . The name of the input X2 of the Connect is now “core.x2in” to avoid overlapping with other piCtory names. - Export flag from piCtory for RevPiStatus und RevPiLED is passed to the IOs of the
.core.
class. - Export flag for
x2in
was passed from RevPiLED, which is wrong. Now the export flag of RevPiStatus will be used.
Version 2.2.3
- Improves module performance
- Set internal cycle time depending on the core version at instantiation. This improves the event system and responds much faster to IO changes – especially with Core3
- Runtime monitoring integrated for event functions. Warnings are issued if functions have too long runtimes
- The “Export” flag from piCtory can now be retrieved via
.io.ioname.export
- You can pass the parameter
export=True/False
to the functions.get_allios(...)
/.get_inputs(...)
/.get_outputs(...)
of the device class to get only IOs that have set, or not set the export flag in piCtory - Fixes errors that could occur under certain circumstances with
reg_event(...)
/unreg_event(...)
- Improvements in RevPiNetIO classes provide better network communication with RevPiPyLoad