Subversion Repositories f9daq

Compare Revisions

Ignore whitespace Rev 120 → Rev 121

/cvi/instr/CAENV288/CAENV288.c
4,10 → 4,10
 
 
#include "vme.h"
 
#include <utility.h>
 
static unsigned long ModuleAddress[10];
static float timeout = 0.01;
 
void _VI_FUNC V288_Map (int ModuleNumber, unsigned long ModuleOffset)
{
18,9 → 18,9
 
void _VI_FUNC V288_Reset(int ModuleNumber)
{
unsigned short ultmp=0;
uint32_t ultmp=0;
 
VME_A24D16_W(ModuleAddress[ModuleNumber]+V288_RST, &ultmp);
VME_A24D16_W(ModuleAddress[ModuleNumber]+V288_RST, ultmp);
 
return;
};
31,15 → 31,15
 
return;
}
int _VI_FUNC V288_Send (int ModuleNumber,int slaveid,int nbuf,unsigned short *buf)
{
int i;
unsigned short ultmp,ulstat;
uint32_t ultmp,ulstat;
ultmp=0x0001;
ultmp=0x00000001;
while (1){
VME_A24D16_W(ModuleAddress[ModuleNumber]+V288_BUF, &ultmp);
VME_A24D16_W(ModuleAddress[ModuleNumber]+V288_BUF, ultmp);
VME_A24D16_R(ModuleAddress[ModuleNumber]+V288_STATUS, &ulstat);
if (ulstat & 1) Delay(0.1); else break;
}
46,7 → 46,7
 
ultmp=slaveid;
while (1){
VME_A24D16_W(ModuleAddress[ModuleNumber]+V288_BUF, &ultmp);
VME_A24D16_W(ModuleAddress[ModuleNumber]+V288_BUF, ultmp);
VME_A24D16_R(ModuleAddress[ModuleNumber]+V288_STATUS, &ulstat);
if (ulstat & 1) Delay(0.1); else break;
}
54,7 → 54,7
for (i=0;i<nbuf;i++){
ultmp=buf[i];
while (1){
VME_A24D16_W(ModuleAddress[ModuleNumber]+V288_BUF, &ultmp);
VME_A24D16_W(ModuleAddress[ModuleNumber]+V288_BUF, ultmp);
VME_A24D16_R(ModuleAddress[ModuleNumber]+V288_STATUS, &ulstat);
if (ulstat & 1) Delay(0.1); else break;
}
61,7 → 61,7
}
 
while (1){
VME_A24D16_W(ModuleAddress[ModuleNumber]+V288_TX, &ultmp);
VME_A24D16_W(ModuleAddress[ModuleNumber]+V288_TX, ultmp);
VME_A24D16_R(ModuleAddress[ModuleNumber]+V288_STATUS, &ulstat);
if (ulstat & 1) Delay(0.1); else break;
}
72,7 → 72,7
int _VI_FUNC V288_Receive(int ModuleNumber,int nbuf,unsigned short *buf)
{
int i;
unsigned short ecode,ulstat;
uint32_t ecode,ulstat;
while (1){
VME_A24D16_R(ModuleAddress[ModuleNumber]+V288_BUF, &ecode);
83,7 → 83,8
 
i=0;
while (i<nbuf){
VME_A24D16_R(ModuleAddress[ModuleNumber]+V288_BUF, &buf[i]);
VME_A24D16_R(ModuleAddress[ModuleNumber]+V288_BUF, &ecode);
buf[i]=(unsigned short) ecode;
VME_A24D16_R(ModuleAddress[ModuleNumber]+V288_STATUS, &ulstat);
if (ulstat & 1) break;
i++;