#ifndef ROCKM_FIELD_ACCESS_H #define ROCKM_FIELD_ACCESS_H #include "RockM_reg_def_type.h" #include "RockM_reg_access.h" /************************************************************************/ /* */ /* INTERNAL PAGE */ /* ogni funzione che usera' queste macro dovra' aver effettuato */ /* la dichiarazione RockM_reg_declaration ed aver incluso .. */ /* */ /* Le macro get restituiscono il valore letto */ /*Le macro set restituiscono un valore diverso da zero in caso di errore*/ /************************************************************************/ /* REGISTRO RESET */ #define RockM_get_filter(this_board) \ ( RESET=RockM_read_reset(this_board), \ FILTER ) #define RockM_set_filter(this_board,one_bit_value) ( \ RESET=RockM_read_reset(this_board), \ FILTER=one_bit_value, \ RockM_write_reset(this_board,RESET), \ one_bit_value-RockM_get_filter(this_board) ) #define RockM_get_intrst(this_board) \ ( RESET=RockM_read_reset(this_board), \ INTRST ) #define RockM_set_intrst(this_board,one_bit_value) ( \ RESET=RockM_read_reset(this_board), \ INTRST=one_bit_value, \ RockM_write_reset(this_board,RESET), \ one_bit_value-RockM_get_intrst(this_board) ) #define RockM_get_reprog(this_board) \ ( RESET=RockM_read_reset(this_board), \ REPROG ) #define RockM_set_reprog(this_board,one_bit_value) ( \ RESET=RockM_read_reset(this_board), \ REPROG=one_bit_value, \ RockM_write_reset(this_board,RESET), \ one_bit_value-RockM_get_reprog(this_board) ) #define RockM_get_cbus(this_board) \ ( RESET=RockM_read_reset(this_board), \ CBUS ) #define RockM_set_cbus(this_board,one_bit_value) ( \ RESET=RockM_read_reset(this_board), \ CBUS=one_bit_value, \ RockM_write_reset(this_board,RESET), \ one_bit_value-RockM_get_cbus(this_board) ) #define RockM_get_fifo_rst(this_board) \ (RESET=RockM_read_reset(this_board), \ FIFO_RST ) #define RockM_set_fifo_rst(this_board,one_bit_value) ( \ RESET=RockM_read_reset(this_board), \ FIFO_RST=one_bit_value, \ RockM_write_reset(this_board,RESET), \ one_bit_value-RockM_get_fifo_rst(this_board) ) #define RockM_get_micro(this_board) \ (RESET=RockM_read_reset(this_board), \ MICRO ) #define RockM_set_micro(this_board,one_bit_value) ( \ RESET=RockM_read_reset(this_board), \ MICRO=one_bit_value, \ RockM_write_reset(this_board,RESET), \ one_bit_value-RockM_get_micro(this_board) ) #define RockM_get_hub_rst(this_board) \ (RESET=RockM_read_reset(this_board), \ HUB_RST ) #define RockM_set_hub_rst(this_board,one_bit_value) ( \ RESET=RockM_read_reset(this_board), \ HUB_RST=one_bit_value, \ RockM_write_reset(this_board,RESET), \ one_bit_value-RockM_get_hub_rst(this_board) ) #define RockM_get_cman(this_board) \ (RESET=RockM_read_reset(this_board), \ CMAN ) #define RockM_set_cman(this_board,one_bit_value) ( \ RESET=RockM_read_reset(this_board), \ CMAN=one_bit_value, \ RockM_write_reset(this_board,RESET), \ one_bit_value-RockM_get_cman(this_board) ) /* REGISTRO FIFOREG */ #define RockM_get_d_f(this_board) \ ( FIFOREG=RockM_read_fiforeg(this_board), \ D_F ) #define RockM_get_d_af(this_board) \ ( FIFOREG=RockM_read_fiforeg(this_board), \ D_AF ) #define RockM_get_d_ghf(this_board) \ ( FIFOREG=RockM_read_fiforeg(this_board), \ D_GHF ) #define RockM_get_d_lhf(this_board) \ ( FIFOREG=RockM_read_fiforeg(this_board), \ D_LHF ) #define RockM_get_d_ae(this_board) \ ( FIFOREG=RockM_read_fiforeg(this_board), \ D_AE ) #define RockM_get_d_e(this_board) \ ( FIFOREG=RockM_read_fiforeg(this_board), \ D_E ) #define RockM_get_t_ef(this_board) \ ( FIFOREG=RockM_read_fiforeg(this_board), \ T_EF ) #define RockM_get_t_ff(this_board) \ ( FIFOREG=RockM_read_fiforeg(this_board), \ T_FF ) /* REGISTRO CSR0 */ #define RockM_get_foe(this_board) \ (CSR0=RockM_read_csr0(this_board), \ FOE ) #define RockM_set_foe(this_board,one_bit_value) ( \ CSR0=RockM_read_csr0(this_board), \ FOE=one_bit_value, \ RockM_write_csr0(this_board,CSR0), \ one_bit_value-RockM_get_foe(this_board) ) #define RockM_get_boe(this_board) \ (CSR0=RockM_read_csr0(this_board), \ BOE ) #define RockM_set_boe(this_board,one_bit_value) ( \ CSR0=RockM_read_csr0(this_board), \ BOE=one_bit_value, \ RockM_write_csr0(this_board,CSR0), \ one_bit_value-RockM_get_boe(this_board) ) #define RockM_get_bof(this_board) \ (CSR0=RockM_read_csr0(this_board), \ BOF ) #define RockM_set_bof(this_board,one_bit_value) ( \ CSR0=RockM_read_csr0(this_board), \ BOF=one_bit_value, \ RockM_write_csr0(this_board,CSR0), \ one_bit_value-RockM_get_bof(this_board) ) #define RockM_get_cbusy_ff(this_board) \ (CSR0=RockM_read_csr0(this_board), \ CBUSY_FF ) #define RockM_set_cbusy_ff(this_board,one_bit_value) ( \ CSR0=RockM_read_csr0(this_board), \ CBUSY_FF=one_bit_value, \ RockM_write_csr0(this_board,CSR0), \ one_bit_value-RockM_get_cbusy_ff(this_board) ) /* Unica macro di tal tipo creata per esigenze di velocita' di accesso */ #define RockM_set_cbusy_ff_pulse(this_board) ( \ RockM_write_csr0(this_board,0xff), \ RockM_write_csr0(this_board,0xef)) #define RockM_get_cpause(this_board) \ (CSR0=RockM_read_csr0(this_board), \ CPAUSE ) #define RockM_set_cpause(this_board,one_bit_value) ( \ CSR0=RockM_read_csr0(this_board), \ CPAUSE=one_bit_value, \ RockM_write_csr0(this_board,CSR0), \ one_bit_value-RockM_get_cpause(this_board) ) #define RockM_get_hub_mode(this_board) \ (CSR0=RockM_read_csr0(this_board), \ HUB_MODE ) #define RockM_set_hub_mode(this_board,one_bit_value) ( \ CSR0=RockM_read_csr0(this_board), \ HUB_MODE=one_bit_value, \ RockM_write_csr0(this_board,CSR0), \ one_bit_value-RockM_get_hub_mode(this_board) ) #define RockM_get_inttrg(this_board) \ (CSR0=RockM_read_csr0(this_board), \ INTTRG ) #define RockM_set_inttrg(this_board,one_bit_value) ( \ CSR0=RockM_read_csr0(this_board), \ INTTRG=one_bit_value, \ RockM_write_csr0(this_board,CSR0), \ one_bit_value-RockM_get_inttrg(this_board) ) #define RockM_get_diag(this_board) \ (CSR0=RockM_read_csr0(this_board), \ DIAG ) #define RockM_set_diag(this_board,one_bit_value) ( \ CSR0=RockM_read_csr0(this_board), \ DIAG=one_bit_value, \ RockM_write_csr0(this_board,CSR0), \ one_bit_value-RockM_get_diag(this_board) ) /* REGISTRO CSR1 */ #define RockM_get_ctknout(this_board) \ (CSR1=RockM_read_csr1(this_board), \ CTKNOUT ) #define RockM_get_crdy(this_board) \ (CSR1=RockM_read_csr1(this_board), \ CRDY ) #define RockM_get_cerr(this_board) \ (CSR1=RockM_read_csr1(this_board), \ CERR ) #define RockM_get_crst(this_board) \ (CSR1=RockM_read_csr1(this_board), \ CRST ) #define RockM_get_crngt(this_board) \ (CSR1=RockM_read_csr1(this_board), \ CRNGT ) #define RockM_get_cbusy(this_board) \ (CSR1=RockM_read_csr1(this_board), \ CBUSY ) #define RockM_get_ctrgv(this_board) \ (CSR1=RockM_read_csr1(this_board), \ CTRGV ) /* REGISTRO CSR2 */ #define RockM_get_edata(this_board) \ (CSR2=RockM_read_csr2(this_board), \ EDATA ) #define RockM_set_edata(this_board,one_bit_value) ( \ CSR2=RockM_read_csr2(this_board), \ EDATA=one_bit_value, \ RockM_write_csr2(this_board,CSR2), \ one_bit_value-RockM_get_edata(this_board) ) #define RockM_get_hubon(this_board) \ (CSR2=RockM_read_csr2(this_board), \ HUBON ) #define RockM_get_cbuson(this_board) \ (CSR2=RockM_read_csr2(this_board), \ CBUSON ) #define RockM_get_timeout(this_board) \ (CSR2=RockM_read_csr2(this_board), \ TIMEOUT ) #define RockM_get_elapsed(this_board) \ (CSR2=RockM_read_csr2(this_board), \ ELAPSED ) #define RockM_set_elapsed(this_board,one_bit_value) ( \ CSR2=RockM_read_csr2(this_board), \ ELAPSED=one_bit_value, \ RockM_write_csr2(this_board,CSR2), \ one_bit_value-RockM_get_elapsed(this_board) ) #define RockM_get_wscale(this_board) \ (CSR2=RockM_read_csr2(this_board), \ WSCALE ) #define RockM_set_wscale(this_board,three_bits_value) ( \ CSR2=RockM_read_csr2(this_board), \ WSCALE=three_bits_value, \ RockM_write_csr2(this_board,CSR2), \ three_bits_value-RockM_get_wscale(this_board) ) /* RESISTRO TRIG_ERR */ #define RockM_get_halt(this_board) \ (TRIG_ERR=RockM_read_trig_err(this_board), \ HALT ) #define RockM_get_busy(this_board) \ (TRIG_ERR=RockM_read_trig_err(this_board), \ BUSY ) #define RockM_get_syncfail(this_board) \ (TRIG_ERR=RockM_read_trig_err(this_board), \ SYNCFAIL ) #define RockM_get_parity_error(this_board) \ (TRIG_ERR=RockM_read_trig_err(this_board), \ PARITY_ERROR ) #define RockM_get_test(this_board) \ (TRIG_ERR=RockM_read_trig_err(this_board), \ TEST ) #define RockM_set_test(this_board,two_bits_value) ( \ TRIG_ERR=RockM_read_trig_err(this_board), \ TEST=two_bits_value, \ RockM_write_trig_err(this_board,TRIG_ERR), \ two_bits_value-RockM_get_test(this_board) ) /************************************************************************/ /* */ /* INFO PAGE */ /* ogni funzione che usera' queste macro dovra' aver effettuato */ /* la dichiarazione RockM_reg_declaration ed aver incluso .. */ /* */ /* Le macro get restituiscono il valore letto */ /*Le macro set restituiscono un valore diverso da zero in caso di errore*/ /************************************************************************/ /* RESISTRO TQUE */ #define RockM_get_tfff(this_board) \ (TQUE=RockM_read_tque(this_board), \ TFFF ) #define RockM_get_link(this_board) \ (TQUE=RockM_read_tque(this_board), \ LINK ) #define RockM_get_qtrg(this_board) \ (TQUE=RockM_read_tque(this_board), \ QTRG ) /* REGISTRO TNOW */ #define RockM_get_ptrg(this_board) \ (TNOW=RockM_read_tnow(this_board), \ PTRG ) /* REGISTRO CHAINADD */ #define RockM_get_overrun(this_board) \ (CHAINADD=RockM_read_chainadd(this_board), \ OVERRUN ) #define RockM_get_cnthigh(this_board) \ (CHAINADD=RockM_read_chainadd(this_board), \ CNTHIGH ) #define RockM_get_chain_add(this_board) \ (CHAINADD=RockM_read_chainadd(this_board), \ CHAIN_ADD ) /* if you want write in this field then you must provide that DIAG is ON */ #define RockM_set_chain_add(this_board,char_value) ( \ RockM_write_chainadd(this_board,(unsigned short)char_value), \ char_value-RockM_get_chain_add(this_board) ) /* REGISTRO GOLDEN */ #define RockM_get_goldenref(this_board) \ (GOLDEN=RockM_read_golden(this_board), \ GOLDENREF ) /* if you want write in this field then you must provide that DIAG is ON */ #define RockM_set_goldenref(this_board,twelve_bits_value) ( \ RockM_write_golden(this_board,twelve_bits_value),\ twelve_bits_value-RockM_get_goldenref(this_board) ) /* REGISTRO WORDCNT */ #define RockM_get_cntlow(this_board) \ (WORDCNT=RockM_read_wordcnt(this_board),\ CNTLOW ) /* REGISTRO INFO HUB */ #define RockM_get_slot(this_board) \ (INFOHUB=RockM_read_infohub(this_board),\ SLOT ) #define RockM_get_auxas(this_board) \ (INFOHUB=RockM_read_infohub(this_board),\ AUXAS ) #define RockM_get_auxtrgv(this_board) \ (INFOHUB=RockM_read_infohub(this_board),\ AUXTRGV ) #define RockM_get_auxdk(this_board) \ (INFOHUB=RockM_read_infohub(this_board),\ AUXDK ) #define RockM_get_auxds(this_board) \ (INFOHUB=RockM_read_infohub(this_board),\ AUXDS ) /* REGISTRO INFO MICRO */ #define RockM_get_cbustemp(this_board) \ (INFOMICRO=RockM_read_infomicro(this_board),\ CBUSTEMP ) #define RockM_get_vmetemp(this_board) \ (INFOMICRO=RockM_read_infomicro(this_board),\ VMETEMP ) #define RockM_get_wrcyc(this_board) \ (INFOMICRO=RockM_read_infomicro(this_board),\ WRCYC ) #define RockM_get_rdcyc(this_board) \ (INFOMICRO=RockM_read_infomicro(this_board),\ RDCYC ) #define RockM_get_urw(this_board) \ (INFOMICRO=RockM_read_infomicro(this_board),\ uRW ) #define RockM_get_udav(this_board) \ (INFOMICRO=RockM_read_infomicro(this_board),\ uDAV ) #define RockM_get_udk(this_board) \ (INFOMICRO=RockM_read_infomicro(this_board),\ uDK ) #define RockM_get_uds(this_board) \ (INFOMICRO=RockM_read_infomicro(this_board),\ uDS ) /* REGISTRO MICROSTAT */ #define RockM_get_status(this_board) \ (MICROSTAT=RockM_read_microstat(this_board),\ STATUS ) #define RockM_get_cycle(this_board) \ (MICROSTAT=RockM_read_microstat(this_board),\ CYCLE ) #define RockM_get_invacc(this_board) \ (MICROSTAT=RockM_read_microstat(this_board),\ INVACC ) #define RockM_get_uwrdy(this_board) \ (MICROSTAT=RockM_read_microstat(this_board),\ uWRDY ) #define RockM_get_done(this_board) \ (MICROSTAT=RockM_read_microstat(this_board),\ DONE ) /* REGISTRO MICROWORD */ #define RockM_get_microw(this_board) \ (MICROWORD=RockM_read_microword(this_board),\ MICROW ) #define RockM_set_microw(this_board,char_data) \ (MICROWORD=char_data, \ RockM_write_microword(this_board,MICROWORD)) #endif