65,8 → 65,7 |
short __stdcall VME_write_32(usb_dev_handle *hdev, short Address_Modifier, long VME_Address, long Data); |
|
|
void _VI_FUNC WIENER_VMUSB_load (const char* module_path) |
{ |
void _VI_FUNC WIENER_VMUSB_load (const char* module_path) { |
if (module_path == NULL) { |
DLLHandle = LoadLibrary("libxxusb.dll"); |
} else { |
105,8 → 104,7 |
if (!(VME_write_32_Ptr = (void*) GetProcAddress(DLLHandle,"VME_write_32"))) exit(1); |
} |
|
void _VI_FUNC WIENER_VMUSB_open (const char *serial) |
{ |
void _VI_FUNC WIENER_VMUSB_open (const char *serial) { |
|
xxusb_device_type devices[100]; |
struct usb_device *dev; |
129,8 → 127,7 |
|
} |
|
void _VI_FUNC WIENER_VMUSB_close (void) |
{ |
void _VI_FUNC WIENER_VMUSB_close (void) { |
if (WUSB_udev) xxusb_device_close(WUSB_udev); |
} |
|
152,7 → 149,8 |
int i; |
uint16_t * u16Stack = (uint16_t *) fStack; |
for (i=0;i< fStackSize*2;i++){ |
if (i<maxn) stack[i]=u16Stack[i]; else return -1; |
if (i<maxn) stack[i]=u16Stack[i]; |
else return -1; |
} |
return fStackSize*2; |
} |
161,7 → 159,8 |
int i; |
uint16_t * u16Stack = (uint16_t *) fStack; |
for (i=0;i< fStackSize*2;i++){ |
if (i<maxn) stack[i]=u16Stack[i]; else return -1; |
if (i<maxn) stack[i]=u16Stack[i]; |
else return -1; |
} |
return fStackSize*2; |
} |
250,9 → 249,14 |
if (!WUSB_udev) return -222; |
|
switch (DW){ |
case VME_D16: nb= VME_read_16(WUSB_udev, AM,VME_Address,(long int *) Data); break; |
case VME_D32: nb= VME_read_32(WUSB_udev, AM,VME_Address,(long int *)Data); break; |
default: return 0; |
case VME_D16: |
nb= VME_read_16(WUSB_udev, AM,VME_Address,(long int *) Data); |
break; |
case VME_D32: |
nb= VME_read_32(WUSB_udev, AM,VME_Address,(long int *)Data); |
break; |
default: |
return 0; |
} |
//printf("R 0x%02x 0x%02x 0x%08x %x\n", AM , DW, VME_Address, *Data); |
if (nb<0) printf("%s %d %d %s\n",__FILE__,__LINE__,nb, strerror(-nb) ); |
265,9 → 269,14 |
if (!WUSB_udev) return -222; |
// printf("W 0x%02x 0x%02x 0x%08x %x\n", AM , DW, VME_Address, Data); |
switch (DW){ |
case VME_D16: nb= VME_write_16(WUSB_udev, AM,VME_Address,Data); break; |
case VME_D32: nb= VME_write_32(WUSB_udev, AM,VME_Address,Data); break; |
default: return 0; |
case VME_D16: |
nb= VME_write_16(WUSB_udev, AM,VME_Address,Data); |
break; |
case VME_D32: |
nb= VME_write_32(WUSB_udev, AM,VME_Address,Data); |
break; |
default: |
return 0; |
} |
if (nb<0) printf("%s %d %d %s\n",__FILE__,__LINE__,nb, strerror(-nb) ); |
|
276,9 → 285,12 |
|
short __stdcall WIENER_VMUSB_VME_MW( uint16_t AM, uint16_t DW, uint32_t VME_Address, uint32_t Data){ |
switch (DW){ |
case VME_D16: return (short) WIENER_VMUSB_StackAppendData(CMD_WRITE | AM , VME_Address | CMD_D16 , Data); |
case VME_D32: return (short) WIENER_VMUSB_StackAppendData(CMD_WRITE | AM , VME_Address | CMD_D32 , Data); |
default: return 0; |
case VME_D16: |
return (short) WIENER_VMUSB_StackAppendData(CMD_WRITE | AM , VME_Address | CMD_D16 , Data); |
case VME_D32: |
return (short) WIENER_VMUSB_StackAppendData(CMD_WRITE | AM , VME_Address | CMD_D32 , Data); |
default: |
return 0; |
} |
return 0; |
} |
292,9 → 304,12 |
|
short __stdcall WIENER_VMUSB_VME_MR( uint16_t AM, uint16_t DW, uint32_t VME_Address, uint32_t *Data){ |
switch (DW){ |
case VME_D16: return (short) WIENER_VMUSB_StackAppend(CMD_READ | AM , VME_Address | CMD_D16 ); |
case VME_D32: return (short) WIENER_VMUSB_StackAppend(CMD_READ | AM , VME_Address | CMD_D32 ); |
default: return 0; |
case VME_D16: |
return (short) WIENER_VMUSB_StackAppend(CMD_READ | AM , VME_Address | CMD_D16 ); |
case VME_D32: |
return (short) WIENER_VMUSB_StackAppend(CMD_READ | AM , VME_Address | CMD_D32 ); |
default: |
return 0; |
} |
return 0; |
} |