Import default frontend and program from VMS #1
No files matched your search
+52
-5
@@ -74,28 +74,75 @@ target_link_libraries(
|
||||
################################################################################
|
||||
|
||||
if(${BUILD_FRONTEND})
|
||||
set(SCS900_FRONTEND_NAME "Zero_field_compens" CACHE STRING "Overridable frontend name")
|
||||
|
||||
add_executable(
|
||||
scs900_fe
|
||||
Zero_field_compens_scfe
|
||||
frontend/scs900_scfe.cxx
|
||||
)
|
||||
|
||||
add_compile_definitions(Zero_field_compens_scfe PRIVATE FRONTEND_NAME="${SCS900_FRONTEND_NAME}")
|
||||
set_property(
|
||||
TARGET
|
||||
scs900_fe
|
||||
Zero_field_compens_scfe
|
||||
PROPERTY
|
||||
CXX_STANDARD 11
|
||||
)
|
||||
|
||||
target_include_directories(
|
||||
scs900_fe
|
||||
Zero_field_compens_scfe
|
||||
PRIVATE
|
||||
$ENV{MIDASSYS}/drivers
|
||||
)
|
||||
|
||||
target_link_libraries(
|
||||
scs900_fe
|
||||
Zero_field_compens_scfe
|
||||
scs900
|
||||
)
|
||||
|
||||
endif()
|
||||
# Build belonging control program
|
||||
add_executable(
|
||||
Zero_field_compens_ctrl_scfe
|
||||
frontend/Zero_field_compens_ctrl_scfe.cxx
|
||||
)
|
||||
set_property(
|
||||
TARGET
|
||||
Zero_field_compens_ctrl_scfe
|
||||
PROPERTY
|
||||
CXX_STANDARD 11
|
||||
)
|
||||
|
||||
target_compile_definitions(
|
||||
Zero_field_compens_ctrl_scfe
|
||||
PUBLIC
|
||||
EXPERIMENT=${EXPERIMENT}
|
||||
)
|
||||
|
||||
|
||||
target_include_directories(
|
||||
Zero_field_compens_ctrl_scfe
|
||||
PRIVATE
|
||||
$ENV{MIDASSYS}/drivers
|
||||
$ENV{MIDASSYS}/include
|
||||
$ENV{MIDASSYS}/include/mscb
|
||||
)
|
||||
|
||||
target_link_directories(
|
||||
Zero_field_compens_ctrl_scfe
|
||||
PRIVATE
|
||||
$ENV{MIDASSYS}/lib
|
||||
)
|
||||
|
||||
target_link_libraries(
|
||||
Zero_field_compens_ctrl_scfe
|
||||
midas::midas
|
||||
)
|
||||
|
||||
install(
|
||||
TARGETS
|
||||
Zero_field_compens_scfe
|
||||
Zero_field_compens_ctrl_scfe
|
||||
RUNTIME DESTINATION bin
|
||||
)
|
||||
|
||||
endif()
|
||||
File diff suppressed because it is too large.
Load diff
+67
-88
@@ -1,34 +1,46 @@
|
||||
/********************************************************************\
|
||||
|
||||
Name: scs900_scfe.c
|
||||
Created by: Andreas Suter
|
||||
Name: zfc_scfe.c
|
||||
Created by: Hubertus Luetkens
|
||||
|
||||
Contents: Midas frontend to readout the MSCB SCS900 DAC card
|
||||
|
||||
$Log$
|
||||
Revision 1.2 2004/11/24 16:31:35 nemu
|
||||
more elegant solution, which is solving the problem of doubled definitions (midas / mscb)
|
||||
Contents: Midas frontend to readout the MSCB ZFC DAC card
|
||||
|
||||
Revision 1.1 2004/11/11 14:41:52 nemu
|
||||
first experimental MSCB<->MIDAS slowcontrol modules
|
||||
Revision 1.3 2017/04/10 07:56:21 raselli
|
||||
frontend_loop() enabled and cm_client_in_list() and should_exit implemented
|
||||
|
||||
Revision 1.2 2017/03/15 14:53:06 raselli
|
||||
Adapted zero field compensation programs to Midas 2.1
|
||||
|
||||
Revision 1.1 2017/01/27 11:53:15 raselli
|
||||
Original bulk muSR Midas 1.9.5 version
|
||||
|
||||
Revision 1.9 2016/09/13 12:03:31 raselli
|
||||
Removed unnecessary drivers and libraries. Avoiding interference between OS
|
||||
versions.
|
||||
|
||||
Revision 1.8 2016/09/09 13:16:25 raselli
|
||||
Bulk musr 09-SEP-2016
|
||||
|
||||
Revision 1.2 2005/03/31 11:58:44 l_zfc
|
||||
minor changes
|
||||
|
||||
Revision 1.1 2005/03/31 10:03:57 l_zfc
|
||||
initial file
|
||||
|
||||
|
||||
\********************************************************************/
|
||||
|
||||
#include <stdio.h>
|
||||
#include "midas.h"
|
||||
#include "mfe.h"
|
||||
|
||||
#include "class/multi.h"
|
||||
#include "bus/null.h"
|
||||
|
||||
// #include "device/nulldev.h"
|
||||
#include "device/scs900.h"
|
||||
// #include "bus/null.h"
|
||||
|
||||
/*-- Globals -------------------------------------------------------*/
|
||||
|
||||
/* The frontend name (client name) as seen by other MIDAS clients */
|
||||
const char *frontend_name = "SCS900 SC";
|
||||
|
||||
const char *frontend_name = FRONTEND_NAME;
|
||||
/* The frontend file name, don't change it */
|
||||
const char *frontend_file_name = __FILE__;
|
||||
|
||||
@@ -42,20 +54,12 @@ INT display_period = 1000;
|
||||
INT max_event_size = 10000;
|
||||
|
||||
/* maximum event size for fragmented events (EQ_FRAGMENTED) */
|
||||
INT max_event_size_frag = 5*1024*1024;
|
||||
INT max_event_size_frag = 5 * 1024 * 1024;
|
||||
|
||||
/* buffer size to hold events */
|
||||
INT event_buffer_size = 10*10000;
|
||||
INT event_buffer_size = 10 * 10000;
|
||||
|
||||
/*-- Equipment list ------------------------------------------------*/
|
||||
|
||||
/* device driver list */
|
||||
|
||||
DEVICE_DRIVER scs900_driver[] = {
|
||||
{ "SCS900ADC", scs900_in, 8, null, DF_INPUT},
|
||||
{ "SCS900DAC", scs900_out, 8, null, DF_OUTPUT},
|
||||
{ "" }
|
||||
};
|
||||
extern BOOL should_exit;
|
||||
|
||||
/*!
|
||||
* equipment_common_overwrite:
|
||||
@@ -68,96 +72,71 @@ DEVICE_DRIVER scs900_driver[] = {
|
||||
*/
|
||||
BOOL equipment_common_overwrite = FALSE;
|
||||
|
||||
/*******************************************************************************
|
||||
* Equipment Structure Required by mfe.h
|
||||
******************************************************************************/
|
||||
/*-- Equipment list ------------------------------------------------*/
|
||||
|
||||
/* device driver list */
|
||||
|
||||
DEVICE_DRIVER zfc_driver[] = {
|
||||
{"IN", scs900_in, 8, NULL, DF_INPUT}, /* MOD RA36 13-SEP-2016 was nulldev */
|
||||
{"OUT", scs900_out, 8, NULL,
|
||||
DF_OUTPUT}, /* MOD RA36 13-SEP-2016 was nulldev */
|
||||
{""}};
|
||||
|
||||
EQUIPMENT equipment[] = {
|
||||
{"SCS900", /* equipment name */
|
||||
|
||||
{
|
||||
1, 0, /* event ID, trigger mask */
|
||||
"SYSTEM", /* event buffer */
|
||||
EQ_SLOW, /* equipment type */
|
||||
0, /* event source */
|
||||
"FIXED", /* format */
|
||||
TRUE, /* enabled */
|
||||
RO_RUNNING |
|
||||
RO_TRANSITIONS, /* read when running and on transitions */
|
||||
10000, /* read every 10 sec */
|
||||
0, /* stop run after this event limit */
|
||||
0, /* number of sub events */
|
||||
1, /* log history every event */
|
||||
"", "", ""
|
||||
FRONTEND_NAME, /* equipment name */
|
||||
{93, 0, /* event ID, trigger mask */
|
||||
"SYSTEM", /* event buffer */
|
||||
EQ_SLOW, /* equipment type */
|
||||
0, /* event source */
|
||||
"FIXED", /* format */
|
||||
TRUE, /* enabled */
|
||||
RO_RUNNING | RO_TRANSITIONS, /* read when running and on transitions */
|
||||
10000, /* read every 10 sec */
|
||||
0, /* stop run after this event limit */
|
||||
0, /* number of sub events */
|
||||
1, /* log history every event */
|
||||
"", "", ""},
|
||||
cd_multi_read, /* readout routine */
|
||||
cd_multi, /* class driver main routine */
|
||||
zfc_driver, /* device driver list */
|
||||
NULL, /* init string */
|
||||
},
|
||||
cd_multi_read, /* readout routine */
|
||||
cd_multi, /* class driver main routine */
|
||||
scs900_driver, /* device driver list */
|
||||
NULL, /* init string */
|
||||
},
|
||||
|
||||
{ "" }
|
||||
};
|
||||
|
||||
|
||||
{""}};
|
||||
|
||||
/*-- Dummy routines ------------------------------------------------*/
|
||||
|
||||
INT poll_event(INT source, INT count, BOOL test) {return 1;};
|
||||
INT interrupt_configure(INT cmd, INT source, PTYPE adr) {return 1;};
|
||||
INT poll_event(INT source, INT count, BOOL test) { return 1; }
|
||||
INT interrupt_configure(INT cmd, INT source, PTYPE adr) { return 1; }
|
||||
|
||||
/*-- Frontend Init -------------------------------------------------*/
|
||||
|
||||
INT frontend_init()
|
||||
{
|
||||
// de-register run-transition notifications
|
||||
cm_deregister_transition(TR_START);
|
||||
cm_deregister_transition(TR_STOP);
|
||||
cm_deregister_transition(TR_PAUSE);
|
||||
cm_deregister_transition(TR_RESUME);
|
||||
|
||||
return CM_SUCCESS;
|
||||
}
|
||||
INT frontend_init() { return CM_SUCCESS; }
|
||||
|
||||
/*-- Frontend Exit -------------------------------------------------*/
|
||||
|
||||
INT frontend_exit()
|
||||
{
|
||||
return CM_SUCCESS;
|
||||
}
|
||||
INT frontend_exit() { return CM_SUCCESS; }
|
||||
|
||||
/*-- Frontend Loop -------------------------------------------------*/
|
||||
|
||||
INT frontend_loop()
|
||||
{
|
||||
return CM_SUCCESS;
|
||||
}
|
||||
INT frontend_loop() { return CM_SUCCESS; }
|
||||
|
||||
/*-- Begin of Run --------------------------------------------------*/
|
||||
|
||||
INT begin_of_run(INT run_number, char *error)
|
||||
{
|
||||
return CM_SUCCESS;
|
||||
}
|
||||
INT begin_of_run(INT run_number, char *error) { return CM_SUCCESS; }
|
||||
|
||||
/*-- End of Run ----------------------------------------------------*/
|
||||
|
||||
INT end_of_run(INT run_number, char *error)
|
||||
{
|
||||
return CM_SUCCESS;
|
||||
}
|
||||
INT end_of_run(INT run_number, char *error) { return CM_SUCCESS; }
|
||||
|
||||
/*-- Pause Run -----------------------------------------------------*/
|
||||
|
||||
INT pause_run(INT run_number, char *error)
|
||||
{
|
||||
return CM_SUCCESS;
|
||||
}
|
||||
INT pause_run(INT run_number, char *error) { return CM_SUCCESS; }
|
||||
|
||||
/*-- Resuem Run ----------------------------------------------------*/
|
||||
|
||||
INT resume_run(INT run_number, char *error)
|
||||
{
|
||||
return CM_SUCCESS;
|
||||
}
|
||||
INT resume_run(INT run_number, char *error) { return CM_SUCCESS; }
|
||||
|
||||
/*------------------------------------------------------------------*/
|
||||
Reference in new issue
Block a user