ePowerSwitch Midas Frontend
Midas frontend that wraps an EPICS ePowerSocket drivers. To configure it, see the EPICS drivers instead.
How to use
Requirements
This frontend requires an active EPICS server and the associated EPICS drivers to function correctly.
List of compatible EPICS driver
https://gitea.psi.ch/lin-epics-modules/ePowerSwitch/src/branch/master/README.md
How to use
Clone & Compile
Clone the frontend code
$ git clone --recurse-submodules -j8 <URL>
$ cd ./ePowerSwitch_frontend
Compile it
$ mkdir build
$ cmake -B build
$ cmake --build build
Run
Start it with default name
$ $PWD/build/ePowerSwitchFront
Start it with specified frontend name and default equipment name
$ $PWD/build/ePowerSwitchFront <frontendName>
Start it with specified frontend name and equipment name
$ $PWD/build/ePowerSwitchFront <frontendName> <equipmentName>
Start it with also a systemd service
$ $PWD/build/ePowerSwitchFront <frontendName> <equipmentName> <serviceName>
Features
Controls
The frontend exposes for each socket two ODB keys:
Socket n requested => indicates the requested state for the socket number n
Socket n current => indicates the current state of the socket number
There are 3 state currently supported:
On
Off
Restart
Dynamic grow / shrink
This frontend will detect the number of sockets that EPICS declares. It will adapt accordingly. This feature also works at runtime.
Architecture
power_switch_scfe
This class extends the Midas frontend.
power_switch
This class extends Midas equipment. Its job is to handle a changing number of sockets.
outlet
This class allows handling each outlet separately, and managing all different possible transitions.

