Go to the source code of this file.
Defines | |
#define | name(x) char *frontend_name = #x; char *frontend_file_name = __FILE__; |
#define | display(s) INT display_period = s*1000; |
#define | mask(slot) (1<<(slot-1)) |
#define | equipment_begin EQUIPMENT equipment[] = { |
#define | equipment_end { "" }}; |
#define | equipment(name, id, type, source, readon, period, readout, cd, driver) |
#define | equipment_trigger(id, type, s) |
#define | equipment_periodic(name, id, period) |
#define | equipment_hv(id, period) |
#define | hv_driver_begin DEVICE_DRIVER hv_driver[] = { |
#define | driver(name, count) { #name, name, count }, |
#define | hv_driver_end { "" }}; |
#define | trigger_update_begin void trigger_update(void) { |
#define | trigger_update_end } |
#define | init_begin void user_init() { |
#define | init_end } |
#define | exit_begin void user_exit() { |
#define | exit_end } |
#define | begin_run INT begin_of_run(INT run_number, char *error) { |
#define | begin_run_end return SUCCESS; } |
#define | end_run INT end_of_run(INT run_number, char *error) { |
#define | end_run_end return SUCCESS; } |
#define | pause_run INT pause_run(INT run_number, char *error) { |
#define | pause_run_end return SUCCESS; } |
#define | resume_run INT resume_run(INT run_number, char *error) { |
#define | resume_run_end return SUCCESS; } |
#define | readout_begin(name) |
#define | readout_end } return bk_size(pevent); } |
#define | readout_abort return 0; |
#define | trigger_mask TRIGGER_MASK(pevent) |
#define | event_id EVENT_ID(pevent) |
#define | serial_number SERIAL_NUMBER(pevent) |
#define | time_stamp TIME_STAMP(pevent) |
#define | bank(name) bk_create(pevent, #name, TID_WORD, &pdata); |
#define | bank32(name) bk_create(pevent, #name, TID_DWORD, &pdata); |
#define | bank_end bk_close(pevent, pdata); |
#define | read(n, a, f) cam16i(_crate,n,a,f,pdata++); |
#define | read_into(n, a, f, d) cam16i(_crate,n,a,f,&d); |
#define | read32(n, a, f) { cam24i(_crate,n,a,f,(DWORD*)pdata); ((DWORD*)pdata)++; } |
#define | write(n, a, f, d) cam24o(_crate,n,a,f,d); |
#define | control(n, a, f) camc(_crate,n,a,f); |
#define | test_q(n, a, f, q) camc_q(_crate,n,a,f,&q); |
#define | wait_q(n, a, f) { int _q; do { camc_q(_crate,n,a,f,&_q); } while(!_q); } |
#define | last_read *(pdata-1) |
#define | last_read32 *(((DWORD *)pdata)-1) |
#define | camac_init cam_init(); |
#define | camac_set_crate(c) _crate = c; |
#define | camac_crate_clear cam_crate_clear(_crate); |
#define | camac_crate_zinit cam_crate_zinit(_crate); |
#define | camac_inhibit_clear cam_inhibit_clear(_crate); |
#define | camac_inhibit_set cam_inhibit_set(_crate); |
#define | camac_lam_enable(n) cam_lam_enable(_crate,n); |
#define | camac_lam_clear(n) cam_lam_clear(_crate,n); |
#define | message(type, str) cm_msg(M##type, "user code", str); |
#define | odb_set(path, value, type) db_set_value(hdb, 0, #path, &value, sizeof(value), 1, TID_##type); |
#define | sleep(ms) ss_sleep(ms); |
#define | variable(name) int name; |
#define | constant(name, value) int name=value; |
#define | increment(var) var++; |
#define | decrement(var) var--; |
#define | set(var, value) var = value; |
#define | loop(var, c1, c2) for (var=c1 ; var<=c2 ; var++) |
#define | call(sub) sub(); |
#define | begin { |
#define | end } |
#define | equal == |
#define | or || |
#define | and && |
Functions | |
INT | frontend_init () |
INT | frontend_exit () |
INT | begin_of_run (INT run_number, char *error) |
INT | end_of_run (INT run_number, char *error) |
INT | pause_run (INT run_number, char *error) |
INT | resume_run (INT run_number, char *error) |
INT | frontend_loop () |
INT | read_trigger (char *pevent) |
INT | read_scaler (char *pevent) |
INT | poll_event (INT source, INT count, BOOL test) |
INT | interrupt_configure (INT cmd, INT source, PTYPE adr) |
void | user_init (void) |
void | user_exit (void) |
Variables | |
BOOL | frontend_call_loop = FALSE |
HNDLE | hdb |
INT | _crate = 0 |
#define and && |
Definition at line 287 of file midas_macro.h.
#define bank | ( | name | ) | bk_create(pevent, #name, TID_WORD, &pdata); |
Definition at line 238 of file midas_macro.h.
#define bank32 | ( | name | ) | bk_create(pevent, #name, TID_DWORD, &pdata); |
Definition at line 239 of file midas_macro.h.
#define bank_end bk_close(pevent, pdata); |
Definition at line 240 of file midas_macro.h.
#define begin { |
Definition at line 282 of file midas_macro.h.
#define begin_run INT begin_of_run(INT run_number, char *error) { |
Definition at line 204 of file midas_macro.h.
#define begin_run_end return SUCCESS; } |
Definition at line 205 of file midas_macro.h.
#define call | ( | sub | ) | sub(); |
Definition at line 281 of file midas_macro.h.
#define camac_crate_clear cam_crate_clear(_crate); |
Definition at line 254 of file midas_macro.h.
#define camac_crate_zinit cam_crate_zinit(_crate); |
Definition at line 255 of file midas_macro.h.
#define camac_inhibit_clear cam_inhibit_clear(_crate); |
Definition at line 256 of file midas_macro.h.
#define camac_inhibit_set cam_inhibit_set(_crate); |
Definition at line 257 of file midas_macro.h.
#define camac_init cam_init(); |
Definition at line 252 of file midas_macro.h.
Definition at line 260 of file midas_macro.h.
Definition at line 258 of file midas_macro.h.
#define camac_set_crate | ( | c | ) | _crate = c; |
Definition at line 253 of file midas_macro.h.
#define constant | ( | name, | |||
value | ) | int name=value; |
Definition at line 274 of file midas_macro.h.
Definition at line 246 of file midas_macro.h.
#define decrement | ( | var | ) | var--; |
Definition at line 277 of file midas_macro.h.
#define display | ( | s | ) | INT display_period = s*1000; |
#define driver | ( | name, | |||
count | ) | { #name, name, count }, |
#define end } |
Definition at line 283 of file midas_macro.h.
#define end_run INT end_of_run(INT run_number, char *error) { |
Definition at line 206 of file midas_macro.h.
#define end_run_end return SUCCESS; } |
Definition at line 207 of file midas_macro.h.
#define equal == |
Definition at line 285 of file midas_macro.h.
Value:
{ #name, id, 0, "SYSTEM", type, source, "MIDAS", TRUE, readon, period, 0, 0, "","","", \ readout, cd, driver },
Definition at line 60 of file midas_macro.h.
Referenced by check_polled_events(), display(), initialize_equipment(), load_fragment(), main(), manual_trigger(), process_event(), register_equipment(), scan_fragment(), scheduler(), send_all_periodic_events(), send_event(), set_equipment_status(), show_status_page(), tr_start(), tr_start_fal(), and tr_stop().
Definition at line 56 of file midas_macro.h.
#define equipment_end { "" }}; |
Definition at line 58 of file midas_macro.h.
#define equipment_hv | ( | id, | |||
period | ) |
Value:
equipment(HV, id, EQ_SLOW, 0,\ RO_RUNNING|RO_TRANSITIONS, period*1000,\ cd_hv_read, cd_hv, hv_driver)
Definition at line 73 of file midas_macro.h.
#define equipment_periodic | ( | name, | |||
id, | |||||
period | ) |
Value:
equipment(name, id, EQ_PERIODIC, 0,\ RO_RUNNING|RO_TRANSITIONS|RO_ODB, period*1000,\ read_##name, NULL, NULL)
Definition at line 68 of file midas_macro.h.
#define equipment_trigger | ( | id, | |||
type, | |||||
s | ) |
Value:
equipment(Trigger, id, EQ_##type, s, RO_RUNNING|RO_ODB, 500, \ read_trigger, NULL, NULL)
Definition at line 64 of file midas_macro.h.
#define event_id EVENT_ID(pevent) |
Definition at line 234 of file midas_macro.h.
Referenced by export_hist(), MidasHistory::GetEventsFromOdbTags(), MidasHistory::GetTagsFromOdb(), MidasHistory::hs_define_event(), MidasHistory::hs_read(), MidasHistory::hs_write_event(), interprete(), load_fragment(), main(), md_event_swap(), source_booking(), and MidasHistory::xhs_event_id().
#define exit_begin void user_exit() { |
Definition at line 199 of file midas_macro.h.
#define exit_end } |
Definition at line 200 of file midas_macro.h.
#define hv_driver_begin DEVICE_DRIVER hv_driver[] = { |
Definition at line 78 of file midas_macro.h.
#define hv_driver_end { "" }}; |
Definition at line 82 of file midas_macro.h.
#define increment | ( | var | ) | var++; |
#define init_begin void user_init() { |
Definition at line 197 of file midas_macro.h.
#define init_end } |
Definition at line 198 of file midas_macro.h.
#define last_read *(pdata-1) |
Definition at line 249 of file midas_macro.h.
#define last_read32 *(((DWORD *)pdata)-1) |
Definition at line 250 of file midas_macro.h.
#define loop | ( | var, | |||
c1, | |||||
c2 | ) | for (var=c1 ; var<=c2 ; var++) |
Definition at line 280 of file midas_macro.h.
#define mask | ( | slot | ) | (1<<(slot-1)) |
Definition at line 54 of file midas_macro.h.
Referenced by assemble_prompt(), v1720_ChannelGet(), and v1720_ChannelSet().
Definition at line 262 of file midas_macro.h.
Referenced by command_loop(), and SqlODBC::ReportErrors().
#define name | ( | x | ) | char *frontend_name = #x; char *frontend_file_name = __FILE__; |
Definition at line 24 of file midas_macro.h.
Referenced by adc_calib_init(), ascii_write(), cm_check_client(), cm_connect_client(), cm_connect_experiment1(), cm_deregister_transition(), cm_list_experiments(), cm_register_deferred_transition(), cm_register_transition(), cm_scan_experiments(), cm_set_client_info(), cm_set_transition_sequence(), cm_transition1(), command_loop(), db_open_database(), device_driver(), dump_write(), get_event_id(), get_variable_id(), SqlHistory::hs_define_event(), hs_define_event_odbc(), hs_get_tags_odbc(), initialize_equipment(), lazy_maintain_check(), lazy_select_purge(), main(), PrintTags(), readHstFile(), register_equipment(), show_hist_config_page(), show_programs_page(), show_sc_page(), show_status_page(), test_register(), test_write(), and tr_start().
#define odb_set | ( | path, | |||
value, | |||||
type | ) | db_set_value(hdb, 0, #path, &value, sizeof(value), 1, TID_##type); |
Definition at line 266 of file midas_macro.h.
#define or || |
Definition at line 286 of file midas_macro.h.
#define pause_run INT pause_run(INT run_number, char *error) { |
#define pause_run_end return SUCCESS; } |
Definition at line 209 of file midas_macro.h.
Definition at line 242 of file midas_macro.h.
Referenced by cm_execute(), command_loop(), db_load(), el_submit(), ftp_put(), hs_dump(), md_dev_os_read(), show_custom_gif(), show_custom_page(), show_elog_page(), and submit_elog().
Definition at line 244 of file midas_macro.h.
Definition at line 243 of file midas_macro.h.
#define readout_abort return 0; |
Definition at line 231 of file midas_macro.h.
#define readout_begin | ( | name | ) |
#define readout_end } return bk_size(pevent); } |
Definition at line 229 of file midas_macro.h.
#define resume_run INT resume_run(INT run_number, char *error) { |
#define resume_run_end return SUCCESS; } |
Definition at line 211 of file midas_macro.h.
#define serial_number SERIAL_NUMBER(pevent) |
Definition at line 235 of file midas_macro.h.
Referenced by eb_user(), handFlush(), tr_start(), and tr_start_fal().
#define set | ( | var, | |||
value | ) | var = value; |
Definition at line 278 of file midas_macro.h.
#define sleep | ( | ms | ) | ss_sleep(ms); |
Definition at line 247 of file midas_macro.h.
#define time_stamp TIME_STAMP(pevent) |
Definition at line 236 of file midas_macro.h.
#define trigger_mask TRIGGER_MASK(pevent) |
#define trigger_update_begin void trigger_update(void) { |
Definition at line 135 of file midas_macro.h.
#define trigger_update_end } |
Definition at line 136 of file midas_macro.h.
#define variable | ( | name | ) | int name; |
Definition at line 273 of file midas_macro.h.
Definition at line 248 of file midas_macro.h.
Definition at line 245 of file midas_macro.h.
Referenced by cm_msg_log(), create_experim_h(), db_save(), db_save_struct(), dump_write(), el_submit(), ftp_get(), md_dev_os_write(), midas_flush_buffer(), show_elog_page(), and show_hist_page().
Definition at line 184 of file frontend.c.
Referenced by tr_start(), and tr_start_fal().
00185 { 00186 /* put here clear scalers etc. */ 00187 00188 return SUCCESS; 00189 }
Definition at line 193 of file frontend.c.
Referenced by tr_stop(), and tr_stop_fal().
00194 { 00195 return SUCCESS; 00196 }
INT frontend_exit | ( | ) |
INT frontend_init | ( | ) |
Definition at line 143 of file midas_macro.h.
Referenced by main().
00144 { 00145 HNDLE hkey; 00146 #ifdef EXP_PARAM_DEFINED 00147 EXP_PARAM_STR(exp_param_str); 00148 #endif 00149 #ifdef TRIGGER_SETTINGS_DEFINED 00150 TRIGGER_SETTINGS_STR(trigger_settings_str); 00151 #endif 00152 #ifdef SCALER_SETTINGS_STR 00153 SCALER_SETTINGS_STR(scaler_settings_str); 00154 #endif 00155 00156 cm_get_experiment_database(&hdb, &hkey); 00157 00158 #ifdef EXP_PARAM_DEFINED 00159 db_create_record(hdb, 0, "/Experiment/Run Parameters", strcomb(exp_param_str)); 00160 db_find_key(hdb, 0, "/Experiment/Run Parameters", &hkey); 00161 if (db_open_record(hdb, hkey, &exp_param, 00162 sizeof(exp_param), MODE_READ, NULL, NULL) != DB_SUCCESS) { 00163 cm_msg(MERROR, "frontend_init", "Cannot open Run Parameters in ODB"); 00164 return -1; 00165 } 00166 #endif 00167 #ifdef TRIGGER_SETTINGS_DEFINED 00168 db_create_record(hdb, 0, "/Equipment/Trigger/Settings", strcomb(trigger_settings_str)); 00169 db_find_key(hdb, 0, "/Equipment/Trigger/Settings", &hkey); 00170 if (db_open_record(hdb, hkey, &trigger_settings, 00171 sizeof(trigger_settings), MODE_READ, 00172 trigger_upd, NULL) != DB_SUCCESS) { 00173 cm_msg(MERROR, "frontend_init", "Cannot open Trigger Settings in ODB"); 00174 return -1; 00175 } 00176 #endif 00177 #ifdef SCALER_SETTINGS_DEFINED 00178 db_create_record(hdb, 0, "/Equipment/Scaler/Settings", strcomb(scaler_settings_str)); 00179 db_find_key(hdb, 0, "/Equipment/Scaler/Settings", &hkey); 00180 if (db_open_record(hdb, hkey, &scaler_settings, 00181 sizeof(scaler_settings), MODE_READ, NULL, NULL) != DB_SUCCESS) { 00182 cm_msg(MERROR, "frontend_init", "Cannot open Scaler Settings in ODB"); 00183 return -1; 00184 } 00185 #endif 00186 00187 user_init(); 00188 return SUCCESS; 00189 }
INT frontend_loop | ( | ) |
Definition at line 105 of file midas_macro.h.
Referenced by initialize_equipment(), interrupt_enable(), main(), and readout_enable().
00106 { 00107 switch (cmd) { 00108 case CMD_INTERRUPT_ENABLE: 00109 cam_interrupt_enable(); 00110 break; 00111 case CMD_INTERRUPT_DISABLE: 00112 cam_interrupt_disable(); 00113 break; 00114 case CMD_INTERRUPT_ATTACH: 00115 cam_interrupt_attach((void (*)()) adr); 00116 break; 00117 case CMD_INTERRUPT_DETACH: 00118 cam_interrupt_detach(); 00119 break; 00120 } 00121 return SUCCESS; 00122 }
Definition at line 86 of file midas_macro.h.
Referenced by check_polled_events(), and readout_thread().
00090 { 00091 INT i, lam; 00092 00093 for (i = 0; i < count; i++) { 00094 cam_lam_read(source >> 24, &lam); 00095 if (lam) 00096 if (!test) 00097 return TRUE; 00098 } 00099 00100 return FALSE; 00101 }
INT read_scaler | ( | char * | pevent | ) |
INT read_trigger | ( | char * | pevent | ) |
void user_exit | ( | void | ) |
Referenced by frontend_exit().
void user_init | ( | void | ) |
Referenced by frontend_init().
Definition at line 22 of file midas_macro.h.
BOOL frontend_call_loop = FALSE |
Definition at line 20 of file midas_macro.h.
HNDLE hdb |