Go to the source code of this file.
Functions | |
static uint32_t | regRead (MVME_INTERFACE *mvme, DWORD base, int offset) |
static float | regReadFloat (MVME_INTERFACE *mvme, DWORD base, int offset) |
static void | regWrite (MVME_INTERFACE *mvme, DWORD base, int offset, uint32_t value) |
static void | regWriteFloat (MVME_INTERFACE *mvme, DWORD base, int offset, float value) |
uint32_t | isegvhs_RegisterRead (MVME_INTERFACE *mvme, DWORD base, int offset) |
float | isegvhs_RegisterReadFloat (MVME_INTERFACE *mvme, DWORD base, int offset) |
void | isegvhs_RegisterWrite (MVME_INTERFACE *mvme, DWORD base, int offset, uint32_t value) |
void | isegvhs_RegisterWriteFloat (MVME_INTERFACE *mvme, DWORD base, int offset, float value) |
void | isegvhs_Status (MVME_INTERFACE *mvme, DWORD base) |
uint32_t isegvhs_RegisterRead | ( | MVME_INTERFACE * | mvme, | |
DWORD | base, | |||
int | offset | |||
) |
float isegvhs_RegisterReadFloat | ( | MVME_INTERFACE * | mvme, | |
DWORD | base, | |||
int | offset | |||
) |
Definition at line 70 of file isegvhs.c.
Referenced by isegvhs_Status().
00071 { 00072 float temp; 00073 temp = regReadFloat(mvme, base, offset); 00074 // printf("temp:%f\n", temp); 00075 return temp; 00076 }
void isegvhs_RegisterWrite | ( | MVME_INTERFACE * | mvme, | |
DWORD | base, | |||
int | offset, | |||
uint32_t | value | |||
) |
void isegvhs_RegisterWriteFloat | ( | MVME_INTERFACE * | mvme, | |
DWORD | base, | |||
int | offset, | |||
float | value | |||
) |
Definition at line 85 of file isegvhs.c.
00086 { 00087 regWriteFloat(mvme, base, offset, value); 00088 }
void isegvhs_Status | ( | MVME_INTERFACE * | mvme, | |
DWORD | base | |||
) |
Definition at line 91 of file isegvhs.c.
00092 { 00093 uint32_t sn=0, csr; 00094 uint64_t vendor=0; 00095 printf("ISEGVHS at A32 0x%x\n", (int)base); 00096 vendor = (regRead(mvme,base,ISEGVHS_VENDOR_ID)<<16) | regRead(mvme,base,ISEGVHS_VENDOR_ID+2); 00097 printf("Module Vendor : 0x%x%x\n", regRead(mvme,base,ISEGVHS_VENDOR_ID), regRead(mvme,base,ISEGVHS_VENDOR_ID+2)); 00098 printf("Module Vendor : %s\t\t", (char *)&vendor); 00099 csr = regRead(mvme,base,ISEGVHS_MODULE_STATUS); 00100 printf("Module Status : 0x%x\n >> ", csr); 00101 printf("%s", csr & 0x0001 ? "FineAdj /" : " NoFineAdj /"); 00102 printf("%s", csr & 0x0080 ? "CmdCpl /" : " /"); 00103 printf("%s", csr & 0x0100 ? "noError /" : " ERROR /"); 00104 printf("%s", csr & 0x0200 ? "noRamp /" : " RAMPING /"); 00105 printf("%s", csr & 0x0400 ? "Saf closed /" : " /"); 00106 printf("%s", csr & 0x0800 ? "Evt Active /" : " /"); 00107 printf("%s", csr & 0x1000 ? "Mod Good /" : " MOD NO good /"); 00108 printf("%s", csr & 0x2000 ? "Supply Good /" : " Supply NO good /"); 00109 printf("%s\n", csr & 0x4000 ? "Temp Good /" : " Temp NO good /"); 00110 printf("Module Control : 0x%x\t\t", regRead(mvme,base,ISEGVHS_MODULE_CONTROL)); 00111 sn = regRead(mvme, base, ISEGVHS_SERIAL_NUMBER); 00112 printf("Module S/N : %d\n", (sn<<16)|regRead(mvme, base, ISEGVHS_SERIAL_NUMBER+2)); 00113 printf("Module Temp. : %f\t\t", isegvhs_RegisterReadFloat(mvme, base, ISEGVHS_TEMPERATURE)); 00114 printf("Module Supply P5 : %f\n", regReadFloat(mvme, base, ISEGVHS_SUPPLY_P5)); 00115 printf("Module Supply P12 : %f\t\t", regReadFloat(mvme, base, ISEGVHS_SUPPLY_P12)); 00116 printf("Module Supply N12 : %f\n", regReadFloat(mvme, base, ISEGVHS_SUPPLY_N12)); 00117 printf("Module Trim V Max : %f\t\t", regReadFloat(mvme, base, ISEGVHS_VOLTAGE_MAX)); 00118 printf("Module Trim I Max : %f\n", regReadFloat(mvme, base, ISEGVHS_CURRENT_MAX)); 00119 printf("Module Event Stat : 0x%04x\t\t", regRead(mvme, base, ISEGVHS_MODULE_EVENT_STATUS)); 00120 printf("Module Event Mask : 0x%04x\n", regRead(mvme, base, ISEGVHS_MODULE_EVENT_MASK)); 00121 printf("Channel Event Stat: 0x%04x\t\t", regRead(mvme, base, ISEGVHS_CHANNEL_EVENT_STATUS)); 00122 printf("Channel Event Mask: 0x%04x\n\n", regRead(mvme, base, ISEGVHS_CHANNEL_EVENT_MASK)); 00123 }
static uint32_t regRead | ( | MVME_INTERFACE * | mvme, | |
DWORD | base, | |||
int | offset | |||
) | [static] |
Definition at line 20 of file isegvhs.c.
Referenced by isegvhs_RegisterRead(), isegvhs_Status(), sis3320_RegisterRead(), sis3320_Status(), sis3820_DataReady(), sis3820_RegisterRead(), sis3820_ScalerRead(), sis3820_Status(), v1720_AcqCtl(), v1720_BufferFree(), v1720_BufferFreeRead(), v1720_BufferOccupancy(), v1720_ChannelDACGet(), v1720_ChannelGet(), v1720_DataRead(), v1720_info(), v1720_RegisterRead(), v1720_Status(), v1740_AcqCtl(), v1740_BufferFree(), v1740_BufferFreeRead(), v1740_BufferOccupancy(), v1740_DataRead(), v1740_info(), v1740_RegisterRead(), v1740_Status(), v513_GetChannelMode(), v513_Read(), v513_RegisterRead(), v513_Reset(), v513_Status(), v560_RegisterRead(), v560_Reset(), and v560_Status().
00021 { 00022 mvme_set_am(mvme, MVME_AM_A16); 00023 mvme_set_dmode(mvme, MVME_DMODE_D16); 00024 return (mvme_read_value(mvme, base + offset) & 0xFFFF); 00025 }
static float regReadFloat | ( | MVME_INTERFACE * | mvme, | |
DWORD | base, | |||
int | offset | |||
) | [static] |
Definition at line 27 of file isegvhs.c.
Referenced by isegvhs_RegisterReadFloat(), and isegvhs_Status().
00028 { 00029 uint32_t temp, temp1; 00030 float ftemp; 00031 mvme_set_am(mvme, MVME_AM_A16); 00032 mvme_set_dmode(mvme, MVME_DMODE_D16); 00033 temp = mvme_read_value(mvme, base + offset); 00034 temp1 = mvme_read_value(mvme, base + offset+2); 00035 temp = (temp<<16) | (temp1 & 0xFFFF); 00036 //ftemp = *((float *)&temp); 00037 memcpy(&ftemp, &temp, 4); 00038 // printf("regReadFloat : %f 0x%x\n", ftemp, temp); 00039 return (ftemp); 00040 }
static void regWrite | ( | MVME_INTERFACE * | mvme, | |
DWORD | base, | |||
int | offset, | |||
uint32_t | value | |||
) | [static] |
Definition at line 46 of file isegvhs.c.
Referenced by isegvhs_RegisterWrite(), sis3320_RegisterWrite(), sis3320_Reset(), sis3320_Setup(), sis3820_RegisterWrite(), sis3820_Reset(), v1720_AcqCtl(), v1720_Align64Set(), v1720_BufferFree(), v1720_ChannelCtl(), v1720_ChannelDACSet(), v1720_ChannelOUThresholdSet(), v1720_ChannelSet(), v1720_ChannelThresholdSet(), v1720_RegisterWrite(), v1720_Reset(), v1720_Setup(), v1720_TrgCtl(), v1740_AcqCtl(), v1740_BufferFree(), v1740_GroupCtl(), v1740_GroupDAC(), v1740_GroupThreshold(), v1740_RegisterWrite(), v1740_Reset(), v1740_Setup(), v1740_TrgCtl(), v513_RegisterWrite(), v513_Reset(), v513_SetChannelMode(), v513_Write(), and v560_RegisterWrite().
00047 { 00048 mvme_set_am(mvme, MVME_AM_A16); 00049 mvme_set_dmode(mvme, MVME_DMODE_D16); 00050 mvme_write_value(mvme, base + offset, value); 00051 }
static void regWriteFloat | ( | MVME_INTERFACE * | mvme, | |
DWORD | base, | |||
int | offset, | |||
float | value | |||
) | [static] |
Definition at line 53 of file isegvhs.c.
Referenced by isegvhs_RegisterWriteFloat().
00054 { 00055 uint32_t temp; 00056 memcpy(&temp, &value, 4); 00057 mvme_set_am(mvme, MVME_AM_A16); 00058 mvme_set_dmode(mvme, MVME_DMODE_D16); 00059 mvme_write_value(mvme, base + offset, ((temp>>16)&0xFFFF)); 00060 mvme_write_value(mvme, base + offset+2, (temp & 0xFFFF)); 00061 }