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++; |