Main experimental magnet PS
This repository contains the driver code and Midas frontend for the main experimental magnet PS.
Important Note
The EPICSGFA flag is currently not used, it was created for using a prototype EPICS driver for MIDAS. It is not clear whether this prototype driver would work. If all instruments work without this flag in late 2026, it is heavily recommended to remove it entirely.
Requirements
Requires a Midas installation with the environment variable MIDASSYS pointing
to the built Midas artifacts and headers.
Build
Clone this repository, enter the cloned directory, and then build via CMake.
cmake -S "$(pwd)" -B <directory-to-build-in> -DBUILD_FRONTEND=ON
cmake --build <directory-to-build-in> --clean-first -- -j8
Run
<directory-to-build-in>/expmag_scfe -e <instrument-name>
Including in Custom Frontend
To include this driver in a custom frontend, you should ensure the environment
variable MIDASSYS points to your system install and include a snippet in your
CMakeLists.txt similar to the following:
# If the path to the expmag repository is outside of the frontend
# repository, you also need to provide a location for the expmag
# artifacts as a second argument to `add_subdirectory`
# e.g. `./device/expmag`
add_subdirectory(
<path-to-expmag-repository>
)
add_executable(
<frontend-name>
<frontend-code-path-1>
<frontend-code-path-2>
:
)
set_property(
TARGET
<frontend-name>
PROPERTY
CXX_STANDARD 11
)
target_include_directories(
<frontend-name>
PRIVATE
$ENV{MIDASSYS}/drivers
$ENV{MIDASSYS}/include
)
target_link_libraries(
<frontend-name>
expmag
<additional-library-1>
<additional-library-2>
:
)