2026-06-16 08:07:59 +02:00
2026-06-11 14:02:39 +02:00
2026-06-16 08:07:59 +02:00
2026-04-28 08:20:38 +02:00
2026-05-04 09:13:03 +02:00
2026-04-28 08:20:38 +02:00
2026-06-08 09:14:52 +02:00
2026-06-11 14:02:39 +02:00

ePowerSwitch Midas Frontend

Midas frontend that wraps an EPICS ePowerSocket drivers

alt text

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>

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

alt text

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.

S
Description
No description provided
Readme
6.3 MiB
Languages
C++ 84%
CMake 15%
C 1%