Files
2026-05-08 15:47:23 +02:00

1.7 KiB

MITC_PRESSC(IO)

This repository contains the driver code and "default" Midas frontend for the MITC_PRESSC(IO) - an optimizer for setting valve pressure depending on the values of other ODB entries.

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

/build/driver/mitcpresscio_fe -e flame

Including in Custom Frontend

There are two possible targets: mitcpressc and mitcpresscio. Apparently, only the latter was used at BulkMuSR. Currently, it is unclear if the code of the former is needed at all.

To include any of the two drivers 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 mitcpressc repository is outside of the frontend
# repository, you also need to provide a location for the mitcpressc
# artifacts as a second argument to `add_subdirectory`
# e.g. `./device/mitcpressc`
add_subdirectory(
    <path-to-mitcpressc-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>
  mitcpresscio
  <additional-library-1>
  <additional-library-2>
  :
)