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 the no_warn=True parameter to disable runtime warnings.


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


Version 2.2.2

Important update + RevPi Connect

  • Core LEDs will not be switched off after instantiation.
  • For next generation of virtual devices we now can create more than 16 BIT IOs per memory unit.
  • You can control the LEDs on the Cores (next to .core.A1) with .core.a1green.value = True/False / .core.a1red.value = True/False. These are IO objects that also offer all other functions of the IOs.
  • RevPi Connect is supported now!
    • .core.A3 or .core.a3green / .core.a3red are available.
    • You can control the watchdog with .core.wd.value = True/False.
    • To toggle the watchdog automatically during the program runtime, you can set .core.wdautotoggle = True.
    • Internal IOs of X2 .core.x2in und .core.x2out are objects than offer all their features and functions. For example, you can register an event to the internal input of X2 .core.x2in.reg_event(funktion). To set the internal output of X2 use .core.x2out.value = True.
  • For cyclic work after .mainloop(blocking=False) you can use the new exit signal instance.exitsignal.is_set() or while not instance.exitsignal.wait(0.5): to exit your own loop.
    The signal is set when invoking instance.exit() or end of program when using .handlesignalend().
  • Small performance improvements.


Version 2.1.5

Small update

  • The function .cycleloop() now takes over the cycle time transferred by the optional parameter cycletime before the first run.
  • Processing of defaultvalues from piCtory improved.


Version 2.1.3

This update improves error messages and introduces byte summary with .replace_io(...) function:

  • Error messages were made clearer in case of missing piCtory configuration.
  • Network errors with RevPiNetIO are displayed as warnings.
  • Several bytes of a gateway or virtual device can be combined as a byte sequence in a new IO. The .replace_io("neuername", frm="8s") function for the format character s now supports a number of bytes. See DOC.