2026-08-25 09:23:49 +02:00
2026-08-25 08:34:53 +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-09-28 14:55:17 +02:00
2026-08-25 09:23:49 +02:00

ePowerSwitch Midas Frontend

Midas frontend that wraps an EPICS ePowerSocket drivers. To configure it, see the EPICS drivers instead.

alt text

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

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
2.9 MiB
0 Stars 1 Watchers 0 Forks
Languages
C++ 86.9%
CMake 13.1%