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