80 lines
1.5 KiB
Markdown
80 lines
1.5 KiB
Markdown
# ePowerSwitch Midas Frontend
|
|
|
|
Midas frontend that wraps an EPICS ePowerSocket drivers
|
|
|
|

|
|
|
|
## 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
|
|
|
|

|
|
|
|
## 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. |