v792.c File Reference

Go to the source code of this file.

Functions

WORD v792_Read16 (MVME_INTERFACE *mvme, DWORD base, int offset)
void v792_Write16 (MVME_INTERFACE *mvme, DWORD base, int offset, WORD value)
int v792_EventRead (MVME_INTERFACE *mvme, DWORD base, DWORD *pdest, int *nentry)
int v792_DataRead (MVME_INTERFACE *mvme, DWORD base, DWORD *pdest, int *nentry)
int v792_ThresholdWrite (MVME_INTERFACE *mvme, DWORD base, WORD *threshold)
int v792_ThresholdRead (MVME_INTERFACE *mvme, DWORD base, WORD *threshold)
void v792_EvtTriggerSet (MVME_INTERFACE *mvme, DWORD base, int count)
void v792_EvtCntRead (MVME_INTERFACE *mvme, DWORD base, DWORD *evtcnt)
int v792_CSR1Read (MVME_INTERFACE *mvme, DWORD base)
int v792_isBusy (MVME_INTERFACE *mvme, DWORD base)
int v792_CSR2Read (MVME_INTERFACE *mvme, DWORD base)
int v792_BitSet2Read (MVME_INTERFACE *mvme, DWORD base)
void v792_BitSet2Set (MVME_INTERFACE *mvme, DWORD base, WORD pat)
void v792_BitSet2Clear (MVME_INTERFACE *mvme, DWORD base, WORD pat)
void v792_DataClear (MVME_INTERFACE *mvme, DWORD base)
void v792_SoftReset (MVME_INTERFACE *mvme, DWORD base)
void v792_OnlineSet (MVME_INTERFACE *mvme, DWORD base)
void v792_LowThEnable (MVME_INTERFACE *mvme, DWORD base)
void v792_LowThDisable (MVME_INTERFACE *mvme, DWORD base)
void v792_EmptyEnable (MVME_INTERFACE *mvme, DWORD base)
void v792_EvtCntReset (MVME_INTERFACE *mvme, DWORD base)
void v792_SingleShotReset (MVME_INTERFACE *mvme, DWORD base)
int v792_DataReady (MVME_INTERFACE *mvme, DWORD base)
int v792_isEvtReady (MVME_INTERFACE *mvme, DWORD base)
void v792_IntSet (MVME_INTERFACE *mvme, DWORD base, int level, int vector)
void v792_IntEnable (MVME_INTERFACE *mvme, DWORD base, int level)
void v792_IntDisable (MVME_INTERFACE *mvme, DWORD base)
WORD v792_ControlRegister1Read (MVME_INTERFACE *mvme, DWORD base)
void v792_ControlRegister1Write (MVME_INTERFACE *mvme, DWORD base, WORD pat)
void v792_Trigger (MVME_INTERFACE *mvme, DWORD base)
int v792_Setup (MVME_INTERFACE *mvme, DWORD base, int mode)
void v792_Status (MVME_INTERFACE *mvme, DWORD base)
void v792_printEntry (const v792_Data *v)
int v792_isPresent (MVME_INTERFACE *mvme, DWORD base)


Function Documentation

void v792_BitSet2Clear ( MVME_INTERFACE mvme,
DWORD  base,
WORD  pat 
)

Definition at line 215 of file v792.c.

00216 {
00217   int cmode;
00218   mvme_get_dmode(mvme, &cmode);
00219   mvme_set_dmode(mvme, MVME_DMODE_D16);
00220   mvme_write_value(mvme, base+V792_BIT_SET1_RW, 0xA0);
00221   mvme_write_value(mvme, base+V792_BIT_CLEAR1_WO, 0xA0);
00222   mvme_set_dmode(mvme, cmode);
00223 }

int v792_BitSet2Read ( MVME_INTERFACE mvme,
DWORD  base 
)

Definition at line 192 of file v792.c.

Referenced by v792_Status().

00193 {
00194   int status, cmode;
00195 
00196   mvme_get_dmode(mvme, &cmode);
00197   mvme_set_dmode(mvme, MVME_DMODE_D16);
00198   status = mvme_read_value(mvme, base+V792_BIT_SET2_RW);
00199   mvme_set_dmode(mvme, cmode);
00200   return status;
00201 }

void v792_BitSet2Set ( MVME_INTERFACE mvme,
DWORD  base,
WORD  pat 
)

Definition at line 204 of file v792.c.

00205 {
00206   int cmode;
00207   mvme_get_dmode(mvme, &cmode);
00208   mvme_set_dmode(mvme, MVME_DMODE_D16);
00209   mvme_write_value(mvme, base+V792_BIT_SET1_RW, 0xA0);
00210   mvme_write_value(mvme, base+V792_BIT_CLEAR1_WO, 0xA0);
00211   mvme_set_dmode(mvme, cmode);
00212 }

WORD v792_ControlRegister1Read ( MVME_INTERFACE mvme,
DWORD  base 
)

read Control Register 1 (0x1010,16 bit)

Definition at line 369 of file v792.c.

00369                                                                  {
00370   int cmode;
00371   WORD pat;
00372   mvme_get_dmode(mvme, &cmode);
00373   mvme_set_dmode(mvme, MVME_DMODE_D16);
00374   pat = mvme_read_value(mvme, base+V792_CR1_RW);
00375   mvme_set_dmode(mvme, cmode);
00376   return pat;
00377 }

void v792_ControlRegister1Write ( MVME_INTERFACE mvme,
DWORD  base,
WORD  pat 
)

write Control Register 1 (0x1010,16 bit)

Definition at line 383 of file v792.c.

00383                                                                             {
00384   int cmode;
00385   mvme_get_dmode(mvme, &cmode);
00386   mvme_set_dmode(mvme, MVME_DMODE_D16);
00387   mvme_write_value(mvme, base+V792_CR1_RW,pat);
00388   mvme_set_dmode(mvme, cmode);
00389 }

int v792_CSR1Read ( MVME_INTERFACE mvme,
DWORD  base 
)

Definition at line 151 of file v792.c.

Referenced by v792_isEvtReady(), and v792_Status().

00152 {
00153   int status, cmode;
00154 
00155   mvme_get_dmode(mvme, &cmode);
00156   mvme_set_dmode(mvme, MVME_DMODE_D16);
00157   status = mvme_read_value(mvme, base+V792_CSR1_RO);
00158   mvme_set_dmode(mvme, cmode);
00159   return status;
00160 }

int v792_CSR2Read ( MVME_INTERFACE mvme,
DWORD  base 
)

Definition at line 180 of file v792.c.

Referenced by v792_Status().

00181 {
00182   int status, cmode;
00183 
00184   mvme_get_dmode(mvme, &cmode);
00185   mvme_set_dmode(mvme, MVME_DMODE_D16);
00186   status = mvme_read_value(mvme, base+V792_CSR2_RO);
00187   mvme_set_dmode(mvme, cmode);
00188   return status;
00189 }

void v792_DataClear ( MVME_INTERFACE mvme,
DWORD  base 
)

Definition at line 226 of file v792.c.

00227 {
00228   int cmode;
00229   mvme_get_dmode(mvme, &cmode);
00230   mvme_set_dmode(mvme, MVME_DMODE_D16);
00231   mvme_write_value(mvme, base+V792_BIT_SET2_RW, 0x4);
00232   mvme_write_value(mvme, base+V792_BIT_CLEAR2_WO, 0x4);
00233   mvme_set_dmode(mvme, cmode);
00234 }

int v792_DataRead ( MVME_INTERFACE mvme,
DWORD  base,
DWORD pdest,
int *  nentry 
)

Definition at line 73 of file v792.c.

00074 {
00075   int  cmode;
00076 
00077   mvme_get_dmode(mvme, &cmode);
00078   mvme_set_dmode(mvme, MVME_DMODE_D32);
00079   *nentry = 128;
00080   if (v792_DataReady(mvme, base)) {
00081     mvme_read(mvme, pdest, base, *nentry*4);
00082   }
00083   mvme_set_dmode(mvme, cmode);
00084   return *nentry;
00085 }

int v792_DataReady ( MVME_INTERFACE mvme,
DWORD  base 
)

Definition at line 308 of file v792.c.

00309 {
00310   int data_ready, cmode;
00311 
00312   mvme_get_dmode(mvme, &cmode);
00313   mvme_set_dmode(mvme, MVME_DMODE_D16);
00314   data_ready = mvme_read_value(mvme, base+V792_CSR1_RO) & 0x1;
00315   mvme_set_dmode(mvme, cmode);
00316   return data_ready;
00317 }

void v792_EmptyEnable ( MVME_INTERFACE mvme,
DWORD  base 
)

Definition at line 278 of file v792.c.

Referenced by v792_Setup().

00279 {
00280   int cmode;
00281   mvme_get_dmode(mvme, &cmode);
00282   mvme_set_dmode(mvme, MVME_DMODE_D16);
00283   mvme_write_value(mvme, base+V792_BIT_SET2_RW, 0x1000);
00284   mvme_set_dmode(mvme, cmode);
00285 }

int v792_EventRead ( MVME_INTERFACE mvme,
DWORD  base,
DWORD pdest,
int *  nentry 
)

Definition at line 41 of file v792.c.

00042 {
00043   DWORD hdata;
00044   int   cmode;
00045 
00046   mvme_get_dmode(mvme, &cmode);
00047   mvme_set_dmode(mvme, MVME_DMODE_D32);
00048 
00049   *nentry = 0;
00050   if (v792_DataReady(mvme, base)) {
00051     do {
00052       hdata = mvme_read_value(mvme, base);
00053     } while (!(hdata & 0x02000000)); // skip up to the header
00054 
00055     pdest[*nentry] = hdata;
00056     *nentry += 1;
00057     do {
00058       pdest[*nentry] = mvme_read_value(mvme, base);
00059       *nentry += 1;
00060     } while (!(pdest[*nentry-1] & 0x04000000)); // copy until the trailer
00061 
00062     nentry--;
00063   }
00064   mvme_set_dmode(mvme, cmode);
00065   return *nentry;
00066 }

void v792_EvtCntRead ( MVME_INTERFACE mvme,
DWORD  base,
DWORD evtcnt 
)

Definition at line 139 of file v792.c.

00140 {
00141   int cmode;
00142 
00143   mvme_get_dmode(mvme, &cmode);
00144   mvme_set_dmode(mvme, MVME_DMODE_D16);
00145   *evtcnt  = mvme_read_value(mvme, base+V792_EVT_CNT_L_RO);
00146   *evtcnt += (mvme_read_value(mvme, base+V792_EVT_CNT_H_RO) << 16);
00147   mvme_set_dmode(mvme, cmode);
00148 }

void v792_EvtCntReset ( MVME_INTERFACE mvme,
DWORD  base 
)

Definition at line 288 of file v792.c.

00289 {
00290   int cmode;
00291   mvme_get_dmode(mvme, &cmode);
00292   mvme_set_dmode(mvme, MVME_DMODE_D16);
00293   mvme_write_value(mvme, base+V792_EVT_CNT_RST_WO, 1);
00294   mvme_set_dmode(mvme, cmode);
00295 }

void v792_EvtTriggerSet ( MVME_INTERFACE mvme,
DWORD  base,
int  count 
)

Definition at line 128 of file v792.c.

00129 {
00130   int cmode;
00131 
00132   mvme_get_dmode(mvme, &cmode);
00133   mvme_set_dmode(mvme, MVME_DMODE_D16);
00134   mvme_write_value(mvme, base+V792_EVTRIG_REG_RW, (count & 0x1F));
00135   mvme_set_dmode(mvme, cmode);
00136 }

void v792_IntDisable ( MVME_INTERFACE mvme,
DWORD  base 
)

Definition at line 352 of file v792.c.

00353 {
00354   int cmode;
00355   mvme_get_dmode(mvme, &cmode);
00356   mvme_set_dmode(mvme, MVME_DMODE_D16);
00357   mvme_write_value(mvme, base+V792_EVTRIG_REG_RW, 0);
00358   /* Use the trigger buffer for int enable/disable
00359      Setting a level 0 reboot the VMIC !
00360   mvme_write_value(mvme, base+V792_INT_LEVEL_WO, 0);
00361   */
00362   mvme_set_dmode(mvme, cmode);
00363 }

void v792_IntEnable ( MVME_INTERFACE mvme,
DWORD  base,
int  level 
)

Definition at line 339 of file v792.c.

00340 {
00341   int cmode;
00342   mvme_get_dmode(mvme, &cmode);
00343   mvme_set_dmode(mvme, MVME_DMODE_D16);
00344   mvme_write_value(mvme, base+V792_EVTRIG_REG_RW, (level & 0x1F));
00345   /* Use the trigger buffer for int enable/disable
00346   mvme_write_value(mvme, base+V792_INT_LEVEL_WO, (level & 0x7));
00347   */
00348   mvme_set_dmode(mvme, cmode);
00349 }

void v792_IntSet ( MVME_INTERFACE mvme,
DWORD  base,
int  level,
int  vector 
)

Definition at line 328 of file v792.c.

00329 {
00330   int cmode;
00331   mvme_get_dmode(mvme, &cmode);
00332   mvme_set_dmode(mvme, MVME_DMODE_D16);
00333   mvme_write_value(mvme, base+V792_INT_VECTOR_WO, (vector & 0xFF));
00334   mvme_write_value(mvme, base+V792_INT_LEVEL_WO, (level & 0x7));
00335   mvme_set_dmode(mvme, cmode);
00336 }

int v792_isBusy ( MVME_INTERFACE mvme,
DWORD  base 
)

Definition at line 163 of file v792.c.

00164 {
00165   int status, busy, timeout, cmode;
00166 
00167   mvme_get_dmode(mvme, &cmode);
00168   mvme_set_dmode(mvme, MVME_DMODE_D16);
00169   timeout = 1000;
00170   do {
00171     status = mvme_read_value(mvme, base+V792_CSR1_RO);
00172     busy = status & 0x4;
00173     timeout--;
00174   } while (busy || timeout);
00175   mvme_set_dmode(mvme, cmode);
00176   return (busy != 0 ? 1 : 0);
00177 }

int v792_isEvtReady ( MVME_INTERFACE mvme,
DWORD  base 
)

Definition at line 320 of file v792.c.

00321 {
00322   int csr;
00323   csr = v792_CSR1Read(mvme, base);
00324   return (csr & 0x100);
00325 }

int v792_isPresent ( MVME_INTERFACE mvme,
DWORD  base 
)

Definition at line 543 of file v792.c.

00544 {
00545   int status, cmode;
00546   mvme_get_dmode(mvme, &cmode);
00547   mvme_set_dmode(mvme, MVME_DMODE_D16);
00548   status = mvme_read_value(mvme, base+V792_FIRM_REV);
00549   mvme_set_dmode(mvme, cmode);
00550   if (status == 0xFFFF)
00551     return 0;
00552   else
00553     return 1;
00554 }

void v792_LowThDisable ( MVME_INTERFACE mvme,
DWORD  base 
)

Definition at line 268 of file v792.c.

00269 {
00270   int cmode;
00271   mvme_get_dmode(mvme, &cmode);
00272   mvme_set_dmode(mvme, MVME_DMODE_D16);
00273   mvme_write_value(mvme, base+V792_BIT_SET2_RW, 0x10);
00274   mvme_set_dmode(mvme, cmode);
00275 }

void v792_LowThEnable ( MVME_INTERFACE mvme,
DWORD  base 
)

Definition at line 258 of file v792.c.

Referenced by v792_Setup().

00259 {
00260   int cmode;
00261   mvme_get_dmode(mvme, &cmode);
00262   mvme_set_dmode(mvme, MVME_DMODE_D16);
00263   mvme_write_value(mvme, base+V792_BIT_CLEAR2_WO, 0x10);
00264   mvme_set_dmode(mvme, cmode);
00265 }

void v792_OnlineSet ( MVME_INTERFACE mvme,
DWORD  base 
)

Definition at line 248 of file v792.c.

Referenced by v792_Setup().

00249 {
00250   int cmode;
00251   mvme_get_dmode(mvme, &cmode);
00252   mvme_set_dmode(mvme, MVME_DMODE_D16);
00253   mvme_write_value(mvme, base+V792_BIT_CLEAR2_WO, 0x2);
00254   mvme_set_dmode(mvme, cmode);
00255 }

void v792_printEntry ( const v792_Data v  ) 

decoded printout of readout entry Not to be trusted for data decoding but acceptable for display purpose as its implementation is strongly compiler dependent and not flawless.

Parameters:
v 

Definition at line 519 of file v792.c.

00519                                          {
00520   switch (v->data.type) {
00521   case v792_typeMeasurement:
00522     printf("Data=0x%08x Measurement ch=%3d v=%6d over=%1d under=%1d\n",
00523            (int)v->raw,v->data.channel,v->data.adc,v->data.ov,v->data.un);
00524     break;
00525   case v792_typeHeader:
00526     printf("Data=0x%08x Header geo=%2x crate=%2x cnt=%2d\n",
00527            (int)v->raw,v->header.geo,v->header.crate,v->header.cnt);
00528     break;
00529   case v792_typeFooter:
00530     printf("Data=0x%08x Footer geo=%2x evtCnt=%7d\n",
00531            (int)v->raw,v->footer.geo,v->footer.evtCnt);
00532     break;
00533   case v792_typeFiller:
00534     printf("Data=0x%08x Filler\n",(int)v->raw);
00535     break;
00536   default:
00537     printf("Data=0x%08x Unknown %04x\n",(int)v->raw,v->data.type);
00538     break;
00539   }
00540 }

WORD v792_Read16 ( MVME_INTERFACE mvme,
DWORD  base,
int  offset 
)

Definition at line 24 of file v792.c.

Referenced by v792_Status().

00025 {
00026   mvme_set_dmode(mvme, MVME_DMODE_D16);
00027   return mvme_read_value(mvme, base+offset);
00028 }

int v792_Setup ( MVME_INTERFACE mvme,
DWORD  base,
int  mode 
)

Sets all the necessary paramters for a given configuration. The configuration is provided by the mode argument. Add your own configuration in the case statement. Let me know your setting if you want to include it in the distribution.

Parameters:
*mvme VME structure
base Module base address
mode Configuration mode number
*nentry number of entries requested and returned.
Returns:
MVME_SUCCESS

Definition at line 415 of file v792.c.

00416 {
00417   int  cmode;
00418 
00419   mvme_get_dmode(mvme, &cmode);
00420   mvme_set_dmode(mvme, MVME_DMODE_D16);
00421 
00422   switch (mode) {
00423   case 0x1:
00424     printf("Default setting after power up (mode:%d)\n", mode);
00425     printf("\n");
00426     break;
00427   case 0x2:
00428     printf("Modified setting (mode:%d)\n", mode);
00429     printf("Empty Enable, Over Range disable, Low Th Enable\n");
00430     v792_OnlineSet(mvme, base);
00431     v792_EmptyEnable(mvme, base);
00432     v792_LowThEnable(mvme, base);
00433     break;
00434   default:
00435     printf("Unknown setup mode\n");
00436     mvme_set_dmode(mvme, cmode);
00437     return -1;
00438   }
00439   mvme_set_dmode(mvme, cmode);
00440   return 0;
00441 }

void v792_SingleShotReset ( MVME_INTERFACE mvme,
DWORD  base 
)

Definition at line 298 of file v792.c.

00299 {
00300   int cmode;
00301   mvme_get_dmode(mvme, &cmode);
00302   mvme_set_dmode(mvme, MVME_DMODE_D16);
00303   mvme_write_value(mvme, base+V792_SINGLE_RST_WO, 1);
00304   mvme_set_dmode(mvme, cmode);
00305 }

void v792_SoftReset ( MVME_INTERFACE mvme,
DWORD  base 
)

Definition at line 237 of file v792.c.

00238 {
00239   int cmode;
00240   mvme_get_dmode(mvme, &cmode);
00241   mvme_set_dmode(mvme, MVME_DMODE_D16);
00242   mvme_write_value(mvme, base+V792_BIT_SET1_RW, 0xA0);
00243   mvme_write_value(mvme, base+V792_BIT_CLEAR1_WO, 0xA0);
00244   mvme_set_dmode(mvme, cmode);
00245 }

void v792_Status ( MVME_INTERFACE mvme,
DWORD  base 
)

Definition at line 444 of file v792.c.

00445 {
00446   int status, cmode, i;
00447   WORD threshold[V792_MAX_CHANNELS];
00448 
00449   mvme_get_dmode(mvme, &cmode);
00450   mvme_set_dmode(mvme, MVME_DMODE_D16);
00451   printf("V792 at VME A24 0x%06x:\n", base);
00452   status = mvme_read_value(mvme, base+V792_FIRM_REV);
00453   printf("Firmware revision: 0x%x\n", status);
00454   if (status == 0xFFFF) {
00455     printf("Module not present!\n");
00456     return;
00457   }
00458   status = v792_CSR1Read(mvme, base);
00459   printf("CSR1: 0x%x\n", status);
00460   printf("DataReady    :%s\t", status & 0x1 ? "Y" : "N");
00461   printf(" - Global Dready:%s\t", status & 0x2 ? "Y" : "N");
00462   printf(" - Busy         :%s\n", status & 0x4 ? "Y" : "N");
00463   printf("Global Busy  :%s\t", status & 0x8 ? "Y" : "N");
00464   printf(" - Amnesia      :%s\t", status & 0x10 ? "Y" : "N");
00465   printf(" - Purge        :%s\n", status & 0x20 ? "Y" : "N");
00466   printf("Term ON      :%s\t", status & 0x40 ? "Y" : "N");
00467   printf(" - TermOFF      :%s\t", status & 0x80 ? "Y" : "N");
00468   printf(" - Event Ready  :%s\n", status & 0x100 ? "Y" : "N");
00469   status = v792_CSR2Read(mvme, base);
00470   printf("CSR2: 0x%x\n", status);
00471   printf("Buffer Empty :%s\t", status & 0x2 ? "Y" : "N");
00472   printf(" - Buffer Full  :%s\n", status & 0x4 ? "Y" : "N");
00473   int dtype = (status & 0xF0) >> 4;
00474   printf("Daughter card type (CSEL/DSEL)  :%d%d%d%d (0x%x) ",
00475          status & 0x80 ? 1 : 0, 
00476          status & 0x40 ? 1 : 0,
00477          status & 0x20 ? 1 : 0,
00478          status & 0x10 ? 1 : 0,
00479          dtype);
00480   switch (dtype) {
00481   default:
00482     printf("\n");
00483     break;
00484   case 2:
00485     printf("V792 32ch QDC\n");
00486     break;
00487   }
00488   status = v792_BitSet2Read(mvme, base);
00489   printf("BitSet2: 0x%x\n", status);
00490   printf("Test Mem     :%s\t", status & 0x1 ? "Y" : "N");
00491   printf(" - Offline      :%s\t", status & 0x2 ? "Y" : "N");
00492   printf(" - Clear Data   :%s\n", status & 0x4  ? "Y" : "N");
00493   printf("Over Range En:%s\t", status & 0x8  ? "Y" : "N");
00494   printf(" - Low Thres En :%s\t", status & 0x10 ? "Y" : "N");
00495   printf(" - Auto Incr    :%s\n", status & 0x20 ? "Y" : "N");
00496   printf("Empty Enable :%s\t", status & 0x1000 ? "Y" : "N");
00497   printf(" - Slide sub En :%s\t", status & 0x2000 ? "Y" : "N");
00498   printf(" - All Triggers :%s\n", status & 0x4000 ? "Y" : "N");
00499   v792_EvtCntRead(mvme, base, &status);
00500   printf("Event counter: %d\n", status);
00501   printf("Iped value: %d\n", v792_Read16(mvme, base, V792_IPED_RW));
00502 
00503   v792_ThresholdRead(mvme, base, threshold);
00504   for (i=0;i<V792_MAX_CHANNELS;i+=2) {
00505     printf("Threshold[%2i] = 0x%4.4x\t   -  ", i, threshold[i]);
00506     printf("Threshold[%2i] = 0x%4.4x\n", i+1, threshold[i+1]);
00507   }
00508   mvme_set_dmode(mvme, cmode);
00509 }

int v792_ThresholdRead ( MVME_INTERFACE mvme,
DWORD  base,
WORD threshold 
)

Read Thresholds

Definition at line 113 of file v792.c.

Referenced by v792_Status().

00114 {
00115   int k, cmode;
00116 
00117   mvme_get_dmode(mvme, &cmode);
00118   mvme_set_dmode(mvme, MVME_DMODE_D16);
00119 
00120   for (k=0; k<V792_MAX_CHANNELS ; k++) {
00121     threshold[k] = mvme_read_value(mvme, base+V792_THRES_BASE+2*k) & 0x1FF;
00122   }
00123   mvme_set_dmode(mvme, cmode);
00124   return V792_MAX_CHANNELS;
00125 }

int v792_ThresholdWrite ( MVME_INTERFACE mvme,
DWORD  base,
WORD threshold 
)

Write Thresholds and read them back

Definition at line 91 of file v792.c.

00092 {
00093   int k, cmode;
00094 
00095   mvme_get_dmode(mvme, &cmode);
00096   mvme_set_dmode(mvme, MVME_DMODE_D16);
00097   for (k=0; k<V792_MAX_CHANNELS ; k++) {
00098     mvme_write_value(mvme, base+V792_THRES_BASE+2*k, threshold[k] & 0x1FF);
00099   }
00100 
00101   for (k=0; k<V792_MAX_CHANNELS ; k++) {
00102     threshold[k] = mvme_read_value(mvme, base+V792_THRES_BASE+2*k) & 0x1FF;
00103   }
00104 
00105   mvme_set_dmode(mvme, cmode);
00106   return V792_MAX_CHANNELS;
00107 }

void v792_Trigger ( MVME_INTERFACE mvme,
DWORD  base 
)

cause a software trigger

Definition at line 395 of file v792.c.

00395                                                     {
00396   int cmode;
00397   mvme_get_dmode(mvme, &cmode);
00398   mvme_set_dmode(mvme, MVME_DMODE_D16);
00399   mvme_write_value(mvme, base+V792_SWCOMM_WO, 0);
00400   mvme_set_dmode(mvme, cmode);
00401 }

void v792_Write16 ( MVME_INTERFACE mvme,
DWORD  base,
int  offset,
WORD  value 
)

Definition at line 30 of file v792.c.

00031 {
00032   mvme_set_dmode(mvme, MVME_DMODE_D16);
00033   mvme_write_value(mvme, base+offset, value);
00034 }


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