Go to the source code of this file.
Functions | |
static uint32_t | regRead (MVME_INTERFACE *mvme, DWORD base, int offset) |
static void | regWrite (MVME_INTERFACE *mvme, DWORD base, int offset, uint32_t value) |
uint32_t | sis3820_RegisterRead (MVME_INTERFACE *mvme, DWORD base, int offset) |
void | sis3820_RegisterWrite (MVME_INTERFACE *mvme, DWORD base, int offset, uint32_t value) |
uint32_t | sis3820_ScalerRead (MVME_INTERFACE *mvme, DWORD base, int ch) |
int | sis3820_FifoRead (MVME_INTERFACE *mvme, DWORD base, void *pdest, int wcount) |
void | sis3820_Reset (MVME_INTERFACE *mvme, DWORD base) |
int | sis3820_DataReady (MVME_INTERFACE *mvme, DWORD base) |
void | sis3820_Status (MVME_INTERFACE *mvme, DWORD base) |
static uint32_t regRead | ( | MVME_INTERFACE * | mvme, | |
DWORD | base, | |||
int | offset | |||
) | [static] |
Definition at line 25 of file sis3820.c.
00026 { 00027 mvme_set_am(mvme, MVME_AM_A32); 00028 mvme_set_dmode(mvme, MVME_DMODE_D32); 00029 return mvme_read_value(mvme, base + offset); 00030 }
static void regWrite | ( | MVME_INTERFACE * | mvme, | |
DWORD | base, | |||
int | offset, | |||
uint32_t | value | |||
) | [static] |
Definition at line 36 of file sis3820.c.
00037 { 00038 mvme_set_am(mvme, MVME_AM_A32); 00039 mvme_set_dmode(mvme, MVME_DMODE_D32); 00040 mvme_write_value(mvme, base + offset, value); 00041 }
int sis3820_DataReady | ( | MVME_INTERFACE * | mvme, | |
DWORD | base | |||
) |
Definition at line 93 of file sis3820.c.
00094 { 00095 return regRead(mvme,base,SIS3820_FIFO_WORDCOUNTER); 00096 }
int sis3820_FifoRead | ( | MVME_INTERFACE * | mvme, | |
DWORD | base, | |||
void * | pdest, | |||
int | wcount | |||
) |
Definition at line 69 of file sis3820.c.
00070 { 00071 int rd; 00072 int save_am; 00073 00074 mvme_get_am(mvme,&save_am); 00075 mvme_set_blt( mvme, MVME_BLT_MBLT64); 00076 mvme_set_am( mvme, MVME_AM_A32_D64); 00077 00078 rd = mvme_read(mvme, pdest, base + SIS3820_FIFO_BASE, wcount*4); 00079 // printf("fifo read wcount: %d, rd: %d\n", wcount, rd); 00080 mvme_set_am(mvme, save_am); 00081 00082 00083 return wcount; 00084 }
uint32_t sis3820_RegisterRead | ( | MVME_INTERFACE * | mvme, | |
DWORD | base, | |||
int | offset | |||
) |
void sis3820_RegisterWrite | ( | MVME_INTERFACE * | mvme, | |
DWORD | base, | |||
int | offset, | |||
uint32_t | value | |||
) |
void sis3820_Reset | ( | MVME_INTERFACE * | mvme, | |
DWORD | base | |||
) |
Definition at line 87 of file sis3820.c.
00088 { 00089 regWrite(mvme,base,SIS3820_KEY_RESET,0); 00090 }
uint32_t sis3820_ScalerRead | ( | MVME_INTERFACE * | mvme, | |
DWORD | base, | |||
int | ch | |||
) |
Definition at line 56 of file sis3820.c.
00057 { 00058 if (ch == 0) 00059 return regRead(mvme, base, SIS3820_COUNTER_CH1+ch*4); 00060 else 00061 return regRead(mvme, base, SIS3820_COUNTER_SHADOW_CH1+ch*4); 00062 }
void sis3820_Status | ( | MVME_INTERFACE * | mvme, | |
DWORD | base | |||
) |
Definition at line 99 of file sis3820.c.
00100 { 00101 printf("SIS3820 at A32 0x%x\n", (int)base); 00102 printf("ModuleID and Firmware: 0x%x\n", regRead(mvme,base,SIS3820_MODID)); 00103 printf("CSR: 0x%x\n", regRead(mvme,base,SIS3820_CONTROL_STATUS)); 00104 printf("Operation mode: 0x%x\n", regRead(mvme,base,SIS3820_OPERATION_MODE)); 00105 printf("Inhibit/Count disable: 0x%x\n", regRead(mvme, base, SIS3820_COUNTER_INHIBIT)); 00106 printf("Counter Overflow: 0x%x\n", regRead(mvme, base, SIS3820_COUNTER_OVERFLOW)); 00107 }