Mpod-Karabo device design

The mpod.py karabo-bound s/w device is used to control and monitor Wiener MPOD crates. There is a 1-to-1 dependence between an mpod.py instance and a MPOD crate, or better the crate’s controller module. Communication between mpod.py and controller is via UDP-Ethernet SNMP protocol message. The mpod.py design requirement is to handle all actions required to control and monitor all features of an MPOD crate and expose these to higher level MDL s/w devices, where the MDL device layer is used to provide multi-crate, feature grouping and similar higher level functionality.

Examples of MPOD actions are

  • enabling the crates ability to provide DC outputs,
  • turning outputs ON/OFF
  • resetting tripped outputs

Examples of MPOD features are

  • target output voltage
  • output trip current
  • behaviour on exceeding output operation limits, e.g. trip current

In terms of the Karabo s/w device pattern: actions are slots (GUI-client buttons) and features are properties. In the remainder of this document which term action/slot or feature/property is used depends on the context of the discussion.