Files
ePowerSwitch/README.md
2026-06-11 14:02:39 +02:00

80 lines
1.5 KiB
Markdown

# ePowerSwitch Midas Frontend
Midas frontend that wraps an EPICS ePowerSocket drivers
![alt text](.img/controlPanel.png)
## 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
```bash
$ git clone --recurse-submodules -j8 <URL>
$ cd ./ePowerSwitch_frontend
```
Compile it
```bash
$ mkdir build
$ cmake -B build
$ cmake --build build
```
## Run
Start it with default name
```bash
$ $PWD/build/ePowerSwitchFront
```
Start it with specified frontend name and default equipment name
```bash
$ $PWD/build/ePowerSwitchFront <frontendName>
```
Start it with specified frontend name and equipment name
```bash
$ $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](.img/graph.png)
## 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.