/************************************************/ /* */ /* File : rockdcd.c */ /* Description : Decode the ROCK registers */ /* */ /* Author: Sfiligoi Igor */ /* */ /* Created : 29.01.1997 */ /* Last modified: 04.04.1997 */ /* */ /************************************************/ #include <stdio.h> #include <stdlib.h> #include <string.h> #include <Error.h> #include <GeoVme.h> #include <rock.h> int main() { ROCK_id rock_id; unsigned int val; int res; char *MapName; ErrorInit(Error_PRINT_OFF); /* Needed for the Error treatement. */ MapName = getenv("GEOMAP"); if (MapName==NULL) { fprintf(stderr,"Fatal error: GEOMAP not defined!\n\n"); return 1; } GeoVmeLoadMap(MapName); res = rock_open(1,7,&rock_id); if (res!=ROCK_ERROR_OK) { printf("Error opening ROCK!\n"); return 1; } printf("ROCK opened.\n"); { ROCK_RESET_bits bits; printf("\nReset:\n==========\n"); rock_read_reset(rock_id,bits); printf("fltrst: %x\n",bits.fltrst); printf("intrst: %x\n",bits.intrst); printf("auxrst: %x\n",bits.auxrst); printf("dfifo : %x\n",bits.dfifo); printf("efifo : %x\n",bits.efifo); printf("xintf : %x\n",bits.xintf); printf("tfifo : %x\n",bits.tfifo); printf("cintf : %x\n",bits.cintf); } { ROCK_FIFO_bits bits; printf("\nFIFO:\n==========\n"); rock_read_fifo(rock_id,bits); printf("dff: %x\n",bits.dff); printf("dhf: %x\n",bits.dhf); printf("def: %x\n",bits.def); printf("eff: %x\n",bits.eff); printf("ehf: %x\n",bits.ehf); printf("eef: %x\n",bits.eef); printf("tef: %x\n",bits.tef); printf("tff: %x\n",bits.tff); } { ROCK_WATCHDOG_bits bits; printf("\nWatchdog:\n==========\n"); rock_read_watchdog(rock_id,bits); printf("watchdog: 0x%02x\n",bits); } { ROCK_CSR0_bits bits; printf("\nCSR0:\n==========\n"); rock_read_csr0(rock_id,bits); printf("efmode: %x\n",bits.efmode); printf("boe : %x\n",bits.boe); printf("tkndis: %x\n",bits.tkndis); printf("inttrg: %x\n",bits.inttrg); printf("diag : %x\n",bits.diag); } { ROCK_CSR1_bits bits; printf("\nCSR1:\n==========\n"); rock_read_csr1(rock_id,bits); printf("tknin : %x\n",bits.tknin); printf("tknout: %x\n",bits.tknout); printf("ceob : %x\n",bits.ceob); printf("cerr : %x\n",bits.cerr); printf("crst : %x\n",bits.crst); printf("crngt : %x\n",bits.crngt); printf("cbusy : %x\n",bits.cbusy); printf("ctrgv : %x\n",bits.ctrgv); } { ROCK_CSR2_bits bits; printf("\nCSR2:\n==========\n"); rock_read_csr2(rock_id,bits); printf("efwren : %x\n",bits.efwren); printf("auxon : %x\n",bits.auxon); printf("timeout: %x\n",bits.timeout); printf("elapsed: %x\n",bits.elapsed); printf("wscale : %x\n",bits.wscale); } { ROCK_ELAPSED_bits bits; printf("\nElapsed:\n==========\n"); rock_read_elapsed(rock_id,bits); printf("elapsedtime: 0x%02x\n",bits); } { ROCK_TRIGGER_bits bits; printf("\nTrigger:\n==========\n"); rock_read_trigger(rock_id,bits); printf("halt : %x\n",bits.halt); printf("busy : %x\n",bits.busy); printf("synchf: %x\n",bits.synchf); printf("xbusy : %x\n",bits.xbusy); printf("xberr : %x\n",bits.xberr); } { ROCK_TQUE_bits bits; printf("\nTQUE:\n==========\n"); rock_read_tque(rock_id,bits); printf("tff : %x\n",bits.tff); printf("link: %x\n",bits.link); printf("qtrg: 0x%03x\n",bits.qtrg); } { ROCK_TNOW_bits bits; printf("\nTNOW:\n==========\n"); rock_read_tnow(rock_id,bits); printf("cstate: 0x%01x\n",bits.cstate); printf("ptrg : 0x%03x\n",bits.ptrg); } { ROCK_ROCKINFO_bits bits; printf("\nRockinfo:\n==========\n"); rock_read_rockinfo(rock_id,bits); printf("sof : %x\n",bits.sof); printf("eof : %x\n",bits.eof); printf("syncrespf: %x\n",bits.syncrespf); printf("rocksfail: %x\n",bits.rocksfail); printf("slvsfail : %x\n",bits.slvsfail); printf("lwadd : %x\n",bits.lwadd); printf("xadd : %x\n",bits.xadd); } { ROCK_GOLDEN_bits bits; printf("\nGolden:\n==========\n"); rock_read_golden(rock_id,bits); printf("last : %x\n",bits.last); printf("cradd : %x\n",bits.cradd); printf("goldenref: 0x%02x\n",bits.goldenref); } rock_close(rock_id); printf("ROCK closed\n"); GeoVmeUnloadMap(); return 0; }