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 |