Rev 82 | Rev 138 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 82 | Rev 100 | ||
|---|---|---|---|
| 1 | #ifndef _WUSBVME_DLL_H |
1 | #ifndef _WUSBVME_DLL_H |
| 2 | #define _WUSBVME_DLL_H |
2 | #define _WUSBVME_DLL_H |
| 3 | 3 | ||
| - | 4 | #ifdef _CVI_ |
|
| 4 | #include <ansi_c.h> |
5 | #include <ansi_c.h> |
| 5 | #include <windows.h> |
6 | #include <windows.h> |
| 6 | #include <cvidef.h> |
7 | #include <cvidef.h> |
| 7 | #include <ivi.h> |
8 | #include <ivi.h> |
| 8 | - | ||
| 9 | #include "usb.h" |
9 | #include "usb.h" |
| - | 10 | #else |
|
| - | 11 | #include "/usr/include/usb.h" |
|
| - | 12 | #endif |
|
| - | 13 | ||
| 10 | #include "xxusb_dll.h" |
14 | #include "xxusb_dll.h" |
| 11 | 15 | ||
| 12 | 16 | ||
| 13 | #define CMD_WRITE 0x000 |
17 | #define CMD_WRITE 0x000 |
| 14 | #define CMD_READ 0x100 |
18 | #define CMD_READ 0x100 |
| 15 | #define CMD_A24 0x039 |
19 | #define CMD_A24 0x039 |
| 16 | #define CMD_A32 0x009 |
20 | #define CMD_A32 0x009 |
| 17 | #define CMD_HM 0x80000 |
21 | #define CMD_HM 0x80000 |
| 18 | #define CMD_HD 0x20000 |
22 | #define CMD_HD 0x20000 |
| 19 | #define CMD_MRK 0x2000 |
23 | #define CMD_MRK 0x2000 |
| 20 | #define CMD_DLY 0x8000 |
24 | #define CMD_DLY 0x8000 |
| 21 | #define CMD_BLT 0xFF000000 |
25 | #define CMD_BLT 0xFF000000 |
| 22 | 26 | ||
| 23 | #define CMD_D16 1 |
27 | #define CMD_D16 1 |
| 24 | #define CMD_D32 0 |
28 | #define CMD_D32 0 |
| 25 | 29 | ||
| 26 | 30 | ||
| 27 | #define MAXSTACKSIZE 100000 |
31 | #define MAXSTACKSIZE 100000 |
| 28 | 32 | ||
| 29 | int WIENER_VMUSB_StackInit(); |
33 | int WIENER_VMUSB_StackInit(); |
| 30 | void WIENER_VMUSB_StackClear(); |
34 | void WIENER_VMUSB_StackClear(); |
| 31 | 35 | ||
| 32 | 36 | ||
| 33 | #define WIENER_VMUSB_StackReadA24D16( ADDR, DATA ) WIENER_VMUSB_StackAppend(CMD_READ | CMD_A24 , CMD_D16 | (ADDR) ) |
37 | #define WIENER_VMUSB_StackReadA24D16( ADDR, DATA ) WIENER_VMUSB_StackAppend(CMD_READ | CMD_A24 , CMD_D16 | (ADDR) ) |
| 34 | #define WIENER_VMUSB_StackReadA24D32( ADDR, DATA ) WIENER_VMUSB_StackAppend(CMD_READ | CMD_A24 , CMD_D32 | (ADDR) ) |
38 | #define WIENER_VMUSB_StackReadA24D32( ADDR, DATA ) WIENER_VMUSB_StackAppend(CMD_READ | CMD_A24 , CMD_D32 | (ADDR) ) |
| 35 | #define WIENER_VMUSB_StackReadA32D16( ADDR, DATA ) WIENER_VMUSB_StackAppend(CMD_READ | CMD_A32 , CMD_D16 | (ADDR) ) |
39 | #define WIENER_VMUSB_StackReadA32D16( ADDR, DATA ) WIENER_VMUSB_StackAppend(CMD_READ | CMD_A32 , CMD_D16 | (ADDR) ) |
| 36 | #define WIENER_VMUSB_StackReadA32D32( ADDR, DATA ) WIENER_VMUSB_StackAppend(CMD_READ | CMD_A32 , CMD_D32 | (ADDR) ) |
40 | #define WIENER_VMUSB_StackReadA32D32( ADDR, DATA ) WIENER_VMUSB_StackAppend(CMD_READ | CMD_A32 , CMD_D32 | (ADDR) ) |
| 37 | 41 | ||
| 38 | #define WIENER_VMUSB_StackWriteA24D16( ADDR, DATA) WIENER_VMUSB_StackAppendData(CMD_WRITE | CMD_A24,CMD_D16 | (ADDR), (DATA)) |
42 | #define WIENER_VMUSB_StackWriteA24D16( ADDR, DATA) WIENER_VMUSB_StackAppendData(CMD_WRITE | CMD_A24,CMD_D16 | (ADDR), (DATA)) |
| 39 | #define WIENER_VMUSB_StackWriteA24D32( ADDR, DATA) WIENER_VMUSB_StackAppendData(CMD_WRITE | CMD_A24,CMD_D32 | (ADDR), (DATA)) |
43 | #define WIENER_VMUSB_StackWriteA24D32( ADDR, DATA) WIENER_VMUSB_StackAppendData(CMD_WRITE | CMD_A24,CMD_D32 | (ADDR), (DATA)) |
| 40 | #define WIENER_VMUSB_StackWriteA32D16( ADDR, DATA) WIENER_VMUSB_StackAppendData(CMD_WRITE | CMD_A32,CMD_D16 | (ADDR), (DATA)) |
44 | #define WIENER_VMUSB_StackWriteA32D16( ADDR, DATA) WIENER_VMUSB_StackAppendData(CMD_WRITE | CMD_A32,CMD_D16 | (ADDR), (DATA)) |
| 41 | #define WIENER_VMUSB_StackWriteA32D32( ADDR, DATA) WIENER_VMUSB_StackAppendData(CMD_WRITE | CMD_A32,CMD_D32 | (ADDR), (DATA)) |
45 | #define WIENER_VMUSB_StackWriteA32D32( ADDR, DATA) WIENER_VMUSB_StackAppendData(CMD_WRITE | CMD_A32,CMD_D32 | (ADDR), (DATA)) |
| 42 | 46 | ||
| 43 | #define WIENER_VMUSB_StackMarker(MRK) WIENER_VMUSB_StackAppend(CMD_MRK, (MRK)) |
47 | #define WIENER_VMUSB_StackMarker(MRK) WIENER_VMUSB_StackAppend(CMD_MRK, (MRK)) |
| 44 | 48 | ||
| 45 | int WIENER_VMUSB_StackAppend(int cmd, uint32_t addr); |
49 | int WIENER_VMUSB_StackAppend(int cmd, uint32_t addr); |
| 46 | int WIENER_VMUSB_StackAppendData(int cmd, uint32_t addr, uint32_t data); |
50 | int WIENER_VMUSB_StackAppendData(int cmd, uint32_t addr, uint32_t data); |
| 47 | 51 | ||
| 48 | void WIENER_VMUSB_StackConditionalRead(int am ,int d16d32,uint32_t addr, uint32_t data); |
52 | void WIENER_VMUSB_StackConditionalRead(int am ,int d16d32,uint32_t addr, uint32_t data); |
| 49 | void WIENER_VMUSB_StackMultiRead(int addr_modifier,int d16d32, uint32_t baseaddr, int n,uint32_t increment); |
53 | void WIENER_VMUSB_StackMultiRead(int addr_modifier,int d16d32, uint32_t baseaddr, int n,uint32_t increment); |
| 50 | void WIENER_VMUSB_StackMultiWrite(int addr_modifier,int d16d32,uint32_t baseaddr, int n, uint32_t increment, uint32_t data); |
54 | void WIENER_VMUSB_StackMultiWrite(int addr_modifier,int d16d32,uint32_t baseaddr, int n, uint32_t increment, uint32_t data); |
| 51 | 55 | ||
| 52 | int WIENER_VMUSB_StackGetUint32(int maxn, uint32_t *stack); |
56 | int WIENER_VMUSB_StackGetUint32(int maxn, uint32_t *stack); |
| 53 | int WIENER_VMUSB_StackGetUint16(int maxn, uint16_t *stack); |
57 | int WIENER_VMUSB_StackGetUint16(int maxn, uint16_t *stack); |
| 54 | void WIENER_VMUSB_StackPrint(); |
58 | void WIENER_VMUSB_StackPrint(); |
| 55 | 59 | ||
| 56 | 60 | ||
| 57 | void _VI_FUNC WIENER_VMUSB_load (char *module_path); |
61 | void _VI_FUNC WIENER_VMUSB_load (const char *module_path); |
| 58 | void _VI_FUNC WIENER_VMUSB_open (char *serial); |
62 | void _VI_FUNC WIENER_VMUSB_open (const char *serial); |
| 59 | void _VI_FUNC WIENER_VMUSB_close (void); |
63 | void _VI_FUNC WIENER_VMUSB_close (void); |
| 60 | 64 | ||
| 61 | #define WIENER_VMUSB_VME_START(NODE) WIENER_VMUSB_load(NULL);WIENER_VMUSB_open((NODE)); |
65 | #define WIENER_VMUSB_VME_START(NODE) WIENER_VMUSB_load(NULL);WIENER_VMUSB_open((NODE)); |
| 62 | #define WIENER_VMUSB_VME_STOP() WIENER_VMUSB_close() |
66 | #define WIENER_VMUSB_VME_STOP() WIENER_VMUSB_close() |
| 63 | //#define VME_RESET() WIENVME_reset() |
67 | //#define VME_RESET() WIENVME_reset() |
| 64 | //#define VME_A24D8_R(VME,DATA) WIENVME_read8(hHandle24, 1, (VME), (DATA)) |
68 | //#define VME_A24D8_R(VME,DATA) WIENVME_read8(hHandle24, 1, (VME), (DATA)) |
| 65 | #define WIENER_VMUSB_VME_A24D16_R(VME,DATA) VME_read_16(WUSB_udev, Std_NoPriv_Data, (VME), (DATA)) |
69 | #define WIENER_VMUSB_VME_A24D16_R(VME,DATA) VME_read_16(WUSB_udev, Std_NoPriv_Data, (VME), (DATA)) |
| 66 | #define WIENER_VMUSB_VME_A24D32_R(VME,DATA) VME_read_32(WUSB_udev, Std_NoPriv_Data, (VME), (DATA)) |
70 | #define WIENER_VMUSB_VME_A24D32_R(VME,DATA) VME_read_32(WUSB_udev, Std_NoPriv_Data, (VME), (DATA)) |
| 67 | //#define VME_A24D8_W(VME,DATA) WIENVME_write8(hHandle24, 1, (VME), (DATA)) |
71 | //#define VME_A24D8_W(VME,DATA) WIENVME_write8(hHandle24, 1, (VME), (DATA)) |
| 68 | #define WIENER_VMUSB_VME_A24D16_W(VME,DATA) VME_write_16(WUSB_udev, Std_NoPriv_Data, (VME), (DATA)) |
72 | #define WIENER_VMUSB_VME_A24D16_W(VME,DATA) VME_write_16(WUSB_udev, Std_NoPriv_Data, (VME), (DATA)) |
| 69 | #define WIENER_VMUSB_VME_A24D32_W(VME,DATA) VME_write_32(WUSB_udev, Std_NoPriv_Data, (VME), (DATA)) |
73 | #define WIENER_VMUSB_VME_A24D32_W(VME,DATA) VME_write_32(WUSB_udev, Std_NoPriv_Data, (VME), (DATA)) |
| 70 | //#define VME_A32D8_R(VME,DATA) WIENVME_read8(hHandle32, 1, (VME), (DATA)) |
74 | //#define VME_A32D8_R(VME,DATA) WIENVME_read8(hHandle32, 1, (VME), (DATA)) |
| 71 | #define WIENER_VMUSB_VME_A32D16_R(VME,DATA) VME_read_16(WUSB_udev, Ext_NoPriv_Data, (VME), (DATA)) |
75 | #define WIENER_VMUSB_VME_A32D16_R(VME,DATA) VME_read_16(WUSB_udev, Ext_NoPriv_Data, (VME), (DATA)) |
| 72 | #define WIENER_VMUSB_VME_A32D32_R(VME,DATA) VME_read_32(WUSB_udev, Ext_NoPriv_Data, (VME), (DATA)) |
76 | #define WIENER_VMUSB_VME_A32D32_R(VME,DATA) VME_read_32(WUSB_udev, Ext_NoPriv_Data, (VME), (DATA)) |
| 73 | //#define VME_A32D8_W(VME,DATA) WIENVME_write8(hHandle32, 1, (VME), (DATA)) |
77 | //#define VME_A32D8_W(VME,DATA) WIENVME_write8(hHandle32, 1, (VME), (DATA)) |
| 74 | #define WIENER_VMUSB_VME_A32D16_W(VME,DATA) VME_write_16(WUSB_udev, Ext_NoPriv_Data, (VME), (DATA)) |
78 | #define WIENER_VMUSB_VME_A32D16_W(VME,DATA) VME_write_16(WUSB_udev, Ext_NoPriv_Data, (VME), (DATA)) |
| 75 | #define WIENER_VMUSB_VME_A32D32_W(VME,DATA) VME_write_32(WUSB_udev, Ext_NoPriv_Data, (VME), (DATA)) |
79 | #define WIENER_VMUSB_VME_A32D32_W(VME,DATA) VME_write_32(WUSB_udev, Ext_NoPriv_Data, (VME), (DATA)) |
| 76 | 80 | ||
| 77 | 81 | ||
| 78 | short __stdcall WIENER_VMUSB_VME_R( uint16_t AM, uint16_t DW, uint32_t VME_Address, uint32_t *Data); |
82 | extern short __stdcall WIENER_VMUSB_VME_R( uint16_t AM, uint16_t DW, uint32_t VME_Address, uint32_t *Data); |
| 79 | 83 | ||
| 80 | short __stdcall WIENER_VMUSB_VME_W( uint16_t AM, uint16_t DW, uint32_t VME_Address, uint32_t Data); |
84 | extern short __stdcall WIENER_VMUSB_VME_W( uint16_t AM, uint16_t DW, uint32_t VME_Address, uint32_t Data); |
| 81 | 85 | ||
| 82 | short __stdcall WIENER_VMUSB_VME_MW( uint16_t AM, uint16_t DW, uint32_t VME_Address, uint32_t Data); |
86 | extern short __stdcall WIENER_VMUSB_VME_MW( uint16_t AM, uint16_t DW, uint32_t VME_Address, uint32_t Data); |
| 83 | short __stdcall WIENER_VMUSB_VME_MWRST( void ); |
87 | extern short __stdcall WIENER_VMUSB_VME_MWRST( void ); |
| 84 | short __stdcall WIENER_VMUSB_VME_MWEXEC( void ); |
88 | extern short __stdcall WIENER_VMUSB_VME_MWEXEC( void ); |
| 85 | 89 | ||
| 86 | short __stdcall WIENER_VMUSB_VME_MR( uint16_t AM, uint16_t DW, uint32_t VME_Address, uint32_t *Data); |
90 | extern short __stdcall WIENER_VMUSB_VME_MR( uint16_t AM, uint16_t DW, uint32_t VME_Address, uint32_t *Data); |
| 87 | short __stdcall WIENER_VMUSB_VME_MRRST( void ); |
91 | extern short __stdcall WIENER_VMUSB_VME_MRRST( void ); |
| 88 | short __stdcall WIENER_VMUSB_VME_MREXEC( uint32_t *Data ); |
92 | extern short __stdcall WIENER_VMUSB_VME_MREXEC( uint32_t *Data ); |
| 89 | 93 | ||
| 90 | #endif |
94 | #endif |
| 91 | 95 | ||
| 92 | 96 | ||