vme/lrs1190.c File Reference

Go to the source code of this file.

Functions

void lrs1190_Reset (MVME_INTERFACE *mvme, DWORD base)
void lrs1190_Enable (MVME_INTERFACE *mvme, DWORD base)
void lrs1190_Disable (MVME_INTERFACE *mvme, DWORD base)
int lrs1190_CountRead (MVME_INTERFACE *mvme, DWORD base)
int lrs1190_I4Read (MVME_INTERFACE *mvme, DWORD base, DWORD *data, int r)
int lrs1190_L2Read (MVME_INTERFACE *mvme, DWORD base, WORD *data, int r)
int lrs1190_H2Read (MVME_INTERFACE *mvme, DWORD base, WORD *data, int r)


Function Documentation

int lrs1190_CountRead ( MVME_INTERFACE mvme,
DWORD  base 
)

Definition at line 67 of file vme/lrs1190.c.

00068 {
00069   int   cmode, count;
00070 
00071   mvme_get_dmode(mvme, &cmode);
00072   mvme_set_dmode(mvme, MVME_DMODE_D16);
00073 
00074   count = mvme_read_value(mvme, base+LRS1190_COUNT_RO);
00075   mvme_set_dmode(mvme, cmode);
00076   return count;
00077 }

void lrs1190_Disable ( MVME_INTERFACE mvme,
DWORD  base 
)

Definition at line 51 of file vme/lrs1190.c.

00052 {
00053   int   cmode;
00054 
00055   mvme_get_dmode(mvme, &cmode);
00056   mvme_set_dmode(mvme, MVME_DMODE_D16);
00057 
00058   mvme_write_value(mvme, base+LRS1190_ENABLE_RW, 0x0);
00059   mvme_set_dmode(mvme, cmode);
00060   return;
00061 }

void lrs1190_Enable ( MVME_INTERFACE mvme,
DWORD  base 
)

Definition at line 35 of file vme/lrs1190.c.

00036 {
00037   int   cmode;
00038 
00039   mvme_get_dmode(mvme, &cmode);
00040   mvme_set_dmode(mvme, MVME_DMODE_D16);
00041 
00042   mvme_write_value(mvme, base+LRS1190_ENABLE_RW, 0x1);
00043   mvme_set_dmode(mvme, cmode);
00044   return;
00045 }

int lrs1190_H2Read ( MVME_INTERFACE mvme,
DWORD  base,
WORD data,
int  r 
)

Definition at line 137 of file vme/lrs1190.c.

00138 {
00139   int  cmode, count;
00140   DWORD local;
00141 
00142   mvme_get_dmode(mvme, &cmode);
00143   mvme_set_dmode(mvme, MVME_DMODE_D16);
00144   count = mvme_read_value(mvme, base+LRS1190_COUNT_RO);
00145   mvme_set_dmode(mvme, MVME_DMODE_D32);
00146   if (r > count) r = count;
00147   while (r > 0) {
00148     local = mvme_read_value(mvme, base+LRS1190_DATA_RO);
00149     *data = *((WORD *)(&local)+1);
00150     data++;
00151     r--;
00152   }
00153   mvme_set_dmode(mvme, cmode);
00154   return count;
00155 }

int lrs1190_I4Read ( MVME_INTERFACE mvme,
DWORD  base,
DWORD data,
int  r 
)

Definition at line 83 of file vme/lrs1190.c.

00084 {
00085   int  cmode, count;
00086   DWORD add;
00087   mvme_get_dmode(mvme, &cmode);
00088   mvme_set_dmode(mvme, MVME_DMODE_D16);
00089   count = mvme_read_value(mvme, base+LRS1190_COUNT_RO);
00090   mvme_write_value(mvme, base+LRS1190_ENABLE_RW, 0x0);
00091   mvme_set_dmode(mvme, MVME_DMODE_D32);
00092   printf("internal count:%d\n", count);
00093   if (r > count) r = count;
00094   add = base+LRS1190_DATA_RO;
00095   while (r > 0) {
00096     *data = mvme_read_value(mvme, add);
00097     add += 4;
00098     printf("data:0x%x\n", *data);
00099     data++;
00100     r--;
00101   }
00102   mvme_set_dmode(mvme, MVME_DMODE_D16);
00103   mvme_write_value(mvme, base+LRS1190_RESET_WO, 0);
00104   mvme_write_value(mvme, base+LRS1190_ENABLE_RW, 0x1);
00105   mvme_set_dmode(mvme, cmode);
00106   return count;
00107 }

int lrs1190_L2Read ( MVME_INTERFACE mvme,
DWORD  base,
WORD data,
int  r 
)

Definition at line 113 of file vme/lrs1190.c.

00114 {
00115   int  cmode, count;
00116   DWORD local;
00117 
00118   mvme_get_dmode(mvme, &cmode);
00119   mvme_set_dmode(mvme, MVME_DMODE_D16);
00120   count = mvme_read_value(mvme, base+LRS1190_COUNT_RO);
00121   mvme_set_dmode(mvme, MVME_DMODE_D32);
00122   if (r > count) r = count;
00123   while (r > 0) {
00124     local = mvme_read_value(mvme, base+LRS1190_DATA_RO);
00125     *data = *((WORD *)(&local)+0);
00126     data++;
00127     r--;
00128   }
00129   mvme_set_dmode(mvme, cmode);
00130   return count;
00131 }

void lrs1190_Reset ( MVME_INTERFACE mvme,
DWORD  base 
)

Definition at line 19 of file vme/lrs1190.c.

00020 {
00021   int   cmode, status;
00022 
00023   mvme_get_dmode(mvme, &cmode);
00024   mvme_set_dmode(mvme, MVME_DMODE_D16);
00025 
00026   status = mvme_read_value(mvme, base+LRS1190_RESET_WO);
00027   mvme_set_dmode(mvme, cmode);
00028   return;
00029 }


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