Make number of driver instances parametrizable
Test And Build / Format (push) Failing after 3s
Test And Build / Lint (push) Failing after 6s

This commit is contained in:
mathis_s committed 2026-08-27 14:01:45 +02:00
1 parent d90492e36b
commit 42dc88a789
2 files changed
+47 -21

No files matched your search

+9 -15
View File
@@ -56,22 +56,23 @@ target_link_libraries(
)
################################################################################
## Test Frontend
## Default Frontend
################################################################################
set(_DEFAULT_CFD950_FRONTEND_DIR "${CMAKE_CURRENT_LIST_DIR}" CACHE INTERNAL "")
set(_DEFAULT_CFD_FRONTEND_DIR "${CMAKE_CURRENT_LIST_DIR}" CACHE INTERNAL "")
function(default_cfd_frontend F_TARGET F_NAME F_EVENT_ID)
function(default_cfd950_frontend F_TARGET F_NAME F_EVENT_ID NUM_CH NUM_DR)
add_executable(
${F_TARGET}
${_DEFAULT_CFD_FRONTEND_DIR}/frontend/cfd950_scfe.cxx
${_DEFAULT_CFD950_FRONTEND_DIR}/frontend/cfd950_scfe.cxx
$ENV{MIDASSYS}/drivers/bus/null.cxx
$ENV{MIDASSYS}/drivers/class/generic.cxx
)
target_compile_definitions(${F_TARGET} PRIVATE FRONTEND_NAME="${F_NAME}")
target_compile_definitions(${F_TARGET} PRIVATE FRONTEND_ID=${F_EVENT_ID})
target_compile_definitions(${F_TARGET} PRIVATE FRONTEND_CHANNELS=${NUM_CH})
target_compile_definitions(${F_TARGET} PRIVATE NUMDRIVERS=${NUM_DR})
set_property(
TARGET
@@ -83,20 +84,13 @@ function(default_cfd_frontend F_TARGET F_NAME F_EVENT_ID)
target_include_directories(
${F_TARGET}
PRIVATE
$ENV{MIDASSYS}/drivers
$ENV{MIDASSYS}/drivers
)
target_link_libraries(
${F_TARGET}
PRIVATE
cfd950
midas::mfe
)
install(
TARGETS
${F_TARGET}
RUNTIME DESTINATION bin
cfd950
midas::mfe
)
endfunction()
+38 -6
View File
@@ -45,13 +45,45 @@ INT event_buffer_size = 10*10000;
//-- Equipment list ------------------------------------------------
//! device driver list
#ifndef NUMDRIVERS
#define NUMDRIVERS 5
#endif
#define DRIVER(n) \
{ "CFD950_" #n, cfd950, FRONTEND_CHANNELS, null, DF_PRIO_DEVICE }
DEVICE_DRIVER cfd950_driver[] = {
{ "CFD950_1", cfd950, 35, null, DF_PRIO_DEVICE },
{ "CFD950_2", cfd950, 35, null, DF_PRIO_DEVICE },
{ "CFD950_3", cfd950, 35, null, DF_PRIO_DEVICE },
{ "CFD950_4", cfd950, 35, null, DF_PRIO_DEVICE },
{ "CFD950_5", cfd950, 35, null, DF_PRIO_DEVICE },
{ ""},//List needs to be terminated by an empty name. Otherwise, unallocated memory is accessed during initialization!
#if NUMDRIVERS >= 1
DRIVER(1),
#endif
#if NUMDRIVERS >= 2
DRIVER(2),
#endif
#if NUMDRIVERS >= 3
DRIVER(3),
#endif
#if NUMDRIVERS >= 4
DRIVER(4),
#endif
#if NUMDRIVERS >= 5
DRIVER(5),
#endif
#if NUMDRIVERS >= 6
DRIVER(6),
#endif
#if NUMDRIVERS >= 7
DRIVER(7),
#endif
#if NUMDRIVERS >= 8
DRIVER(8),
#endif
#if NUMDRIVERS >= 9
DRIVER(9),
#endif
#if NUMDRIVERS >= 10
DRIVER(10),
#endif
{ "" } //List needs to be terminated by an empty name. Otherwise, unallocated memory is accessed during initialization!
};
/*!