Make number of driver instances parametrizable
This commit is contained in:
1 parent
d90492e36b
commit
42dc88a789
2 files changed
+47
-21
No files matched your search
+9
-15
@@ -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()
|
||||
@@ -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!
|
||||
};
|
||||
|
||||
/*!
|
||||
|
||||
Reference in new issue
Block a user