v513.c File Reference

Go to the source code of this file.

Functions

static uint16_t regRead (MVME_INTERFACE *mvme, DWORD base, int offset)
static void regWrite (MVME_INTERFACE *mvme, DWORD base, int offset, uint16_t value)
uint16_t v513_RegisterRead (MVME_INTERFACE *mvme, DWORD base, int offset)
void v513_RegisterWrite (MVME_INTERFACE *mvme, DWORD base, int offset, uint16_t value)
uint16_t v513_Read (MVME_INTERFACE *mvme, DWORD base)
void v513_Write (MVME_INTERFACE *mvme, DWORD base, uint16_t data)
void v513_Reset (MVME_INTERFACE *mvme, DWORD base)
void v513_Status (MVME_INTERFACE *mvme, DWORD base)
void v513_SetChannelMode (MVME_INTERFACE *mvme, DWORD base, int channel, int mode)
int v513_GetChannelMode (MVME_INTERFACE *mvme, DWORD base, int channel)


Function Documentation

static uint16_t regRead ( MVME_INTERFACE mvme,
DWORD  base,
int  offset 
) [static]

Definition at line 20 of file v513.c.

00021 {
00022   mvme_set_am(mvme, MVME_AM_A24);
00023   mvme_set_dmode(mvme, MVME_DMODE_D16);
00024   return mvme_read_value(mvme, base + offset);
00025 }

static void regWrite ( MVME_INTERFACE mvme,
DWORD  base,
int  offset,
uint16_t  value 
) [static]

Definition at line 31 of file v513.c.

00032 {
00033   mvme_set_am(mvme, MVME_AM_A24);
00034   mvme_set_dmode(mvme, MVME_DMODE_D16);
00035   mvme_write_value(mvme, base + offset, value);
00036 }

int v513_GetChannelMode ( MVME_INTERFACE mvme,
DWORD  base,
int  channel 
)

Definition at line 78 of file v513.c.

00079 {
00080   return regRead(mvme,base,0x10 + 2*channel);
00081 }

uint16_t v513_Read ( MVME_INTERFACE mvme,
DWORD  base 
)

Definition at line 48 of file v513.c.

00049 {
00050   return regRead(mvme,base,0x4);
00051 }

uint16_t v513_RegisterRead ( MVME_INTERFACE mvme,
DWORD  base,
int  offset 
)

Definition at line 38 of file v513.c.

00039 {
00040   return regRead(mvme,base,offset);
00041 }

void v513_RegisterWrite ( MVME_INTERFACE mvme,
DWORD  base,
int  offset,
uint16_t  value 
)

Definition at line 43 of file v513.c.

00044 {
00045   regWrite(mvme,base,offset,value);
00046 }

void v513_Reset ( MVME_INTERFACE mvme,
DWORD  base 
)

Definition at line 59 of file v513.c.

00060 {
00061   regWrite(mvme,base,0x46,0); // reset to default configuration
00062   regWrite(mvme,base,0x42,0); // module reset
00063   //regRead(mvme,base,0x50); // scalers clear, vme interrupt clear and disable
00064   regRead(mvme,base,0); // flush posted writes
00065 }

void v513_SetChannelMode ( MVME_INTERFACE mvme,
DWORD  base,
int  channel,
int  mode 
)

Definition at line 73 of file v513.c.

00074 {
00075   regWrite(mvme,base,0x10 + 2*channel, mode);
00076 }

void v513_Status ( MVME_INTERFACE mvme,
DWORD  base 
)

Definition at line 68 of file v513.c.

00069 {
00070   printf("CAEN V513 at A24 0x%x: version 0x%x, type 0x%x, code 0x%x\n", (int)base,regRead(mvme,base,0xFE),regRead(mvme,base,0xFC),regRead(mvme,base,0xFA));
00071 }

void v513_Write ( MVME_INTERFACE mvme,
DWORD  base,
uint16_t  data 
)

Definition at line 53 of file v513.c.

00054 {
00055   regWrite(mvme,base,0x4,data);
00056 }


Midas DOC Version 3.0.0 ---- PSI Stefan Ritt ----
Contributions: Pierre-Andre Amaudruz - Sergio Ballestrero - Suzannah Daviel - Doxygen - Peter Green - Qing Gu - Greg Hackman - Gertjan Hofman - Paul Knowles - Exaos Lee - Rudi Meier - Glenn Moloney - Dave Morris - John M O'Donnell - Konstantin Olchanski - Renee Poutissou - Tamsen Schurman - Andreas Suter - Jan M.Wouters - Piotr Adam Zolnierczuk