Version 2.0.5

Minor update:

  • Access to the RevPi core temperature via .core.temperature
  • Troubleshooting when using simulator=True on instantiation
  • Improved performance during instantiation


Version 2.0.2

Version 2.0.2 is stable!

After many test hours and a few minor improvements, RevPiModIO 2 is now FINAL! 😀

INFOS about the new version will be available soon!

In addition to the new, simplified syntax, we have added a new parameter “delay” for .reg_event (...) and the new function .reg_timerevent (...).


Version 1.0.0 – final!

After many months of development and new features, we have now released the final version!

RevPiModIO Version 1

In addition to a few refinements and a bugfix with the byte order of the default values, this version is worthy to get the version number 1 😀

This version is still maintained, but we have learned by the development and the version 2 is in the starting holes! Look at the new syntax, which also offers many advantages in an interactive Python shell on the RevPi!

RevPiModIO version 2

Version 0.16.1 – analog module

There is a new update for the use of the analog module AIO.

  • IOs of the analog module are instantiated with “signed=True”. This activates the value calculation with a sign. Otherwise, the value -1 would be 65535 and negative values would not be allowed in assignments.


Version 0.16.0 – Less Python, more PLC

With this update you can program more PLC with less Python code.

We introduce: cycleloop(cyclefunction)

  • The new cycleloop reads the inputs, executes the passed function and writes the outputs in the set cycle time “auto_refresh“.
    If you call .devices.cycleloop(cyclefunction) in your program, it blocks at this point and cyclically executes the function “cyclefuntkion“. To this function an instance of class RevPiCycletools() is passed, which includes tools such as clock markers, edge flags, or timer objects.
  • New function for easy exit a cyclic or event-based program .handlesignalend(cleanupfunc)
  • If the set update rate of the process image (auto_refresh) is exceeded, you will get a warning – each time!
  • auto_refresh values ​​greater than 1000 milliseconds could produce errors with .wait(...) and mainloop()
  • Module closes faster with .cleanup() or .exit()
  • The module no longer blocks exit when using the Python shell’s interactive mode


Version 0.15.3

Today we publish an update!

  • A “byteorder” can now be configured for all IOs of the classes RevPiIO() and RevPiStructIO(). This is important for the int () conversion for values ​​that are more than one byte long, e.g. At RevPi gateways (default is “little”)
  • The class attribute “signed” has been inserted for the RevPiIO() class. This can be set to True if the int() conversion of the bytes() with sign is desired.
    Particularly interesting for “counters” of the DI, DO and DIO modules, which in the case of down counting, otherwise display 65535.
    rpi.devices["dio"]["Counter_1"].signed = True
    rpi.devices[ "dio"][ "Counter_1"].value
    Which would now show -1.
  • Magic method __contains__ added to RevPiDevicelist and RevPiDevice. Now, queries are possible in the form of “dio02” in rpi.devices and “I_1” in rpi.devices [“dio02”], which check whether a device name is present or an IO name.
  • RevPiDevicelist now also supports the Build-In function len (rpi.devices), which returns the number of devices including Core.
  • RevPiDevicelist has got the new function writedefaultinputs(self, virtual_device).
  • And other important internal changes that make this update necessary.