2025-12-16 15:10:32 +01:00
2025-11-19 16:10:05 +01:00
2025-11-19 16:10:05 +01:00
2025-12-16 15:10:32 +01:00
2025-12-16 15:10:32 +01:00
2025-11-19 16:10:05 +01:00
2025-12-16 15:10:32 +01:00
2025-11-19 16:46:52 +01:00

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>
  :
)
S
Description
Driver for the experimental magnets controlling the beamline
Readme 94 KiB
Languages
C++ 98.9%
CMake 0.7%
C 0.4%