//******************************************************************************************** // // Name: frontend.c // Created by: Razvan Stefan Gornea // // Contents: Slow Control frontend for a portable multimeter // // Log: 2004-01-15 14:22 // Writing down initial code. // //******************************************************************************************** #include #include "midas.h" #include "class/multi.h" #include "device/nulldev.h" #include "meterdev.h" #include "bus/null.h" #include "bus/rs232.h" // globals variables // frontend name char *frontend_name = "Slow Control"; // frontend file name char *frontend_file_name = __FILE__; // frontend loop BOOL frontend_call_loop = FALSE; // frontend display refresh INT display_period = 1000; // maximum event size in bytes INT max_event_size = 10000; // maximum event size for fragments in bytes INT max_event_size_frag = 5*1024*1024; // buffer size in bytes INT event_buffer_size = 10*10000; // equipment list // device drivers DEVICE_DRIVER multi_driver[] = { {"Input", meterdev, 1, rs232, DF_INPUT}, {"Output", nulldev, 1, null, DF_OUTPUT}, {""} }; // equipment list EQUIPMENT equipment[] = { { "Multimeter", /* equipment name */ 11, 0, /* event ID, trigger mask */ "SYSTEM", /* event buffer */ EQ_SLOW, /* equipment type */ 0, /* event source */ "FIXED", /* format */ TRUE, /* enabled */ RO_RUNNING, /* read when running */ 9000, /* read every 9 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 */ multi_driver, /* device driver list */ NULL, /* init string */ }, { "" } }; // routines INT poll_event(INT source[], INT count, BOOL test) {return 1;}; INT interrupt_configure(INT cmd, INT source[], PTYPE adr) {return 1;}; // frontend initialization INT frontend_init() { return CM_SUCCESS; } // frontend exit INT frontend_exit() { return CM_SUCCESS; } // frontend loop INT frontend_loop() { return CM_SUCCESS; } // begin of run 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; } // pause run INT pause_run(INT run_number, char *error) { return CM_SUCCESS; } // resume run INT resume_run(INT run_number, char *error) { return CM_SUCCESS; }