#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