Rev 82 | Rev 138 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed
| Rev | Author | Line No. | Line | 
|---|---|---|---|
| 61 | f9daq | 1 | #ifndef _WUSBVME_DLL_H | 
        
| 2 | #define _WUSBVME_DLL_H | 
        ||
| 3 | |||
| 100 | f9daq | 4 | #ifdef _CVI_ | 
        
| 61 | f9daq | 5 | #include <ansi_c.h> | 
        
| 6 | #include <windows.h> | 
        ||
| 7 | #include <cvidef.h> | 
        ||
| 8 | #include <ivi.h> | 
        ||
| 100 | f9daq | 9 | #include "usb.h" | 
        
| 10 | #else  | 
        ||
| 11 | #include "/usr/include/usb.h" | 
        ||
| 12 | #endif | 
        ||
| 61 | f9daq | 13 | |
| 14 | #include "xxusb_dll.h" | 
        ||
| 15 | |||
| 16 | |||
| 82 | f9daq | 17 | #define CMD_WRITE 0x000 | 
        
| 18 | #define CMD_READ  0x100 | 
        ||
| 19 | #define CMD_A24   0x039 | 
        ||
| 20 | #define CMD_A32   0x009 | 
        ||
| 21 | #define CMD_HM    0x80000 | 
        ||
| 22 | #define CMD_HD    0x20000 | 
        ||
| 23 | #define CMD_MRK   0x2000 | 
        ||
| 24 | #define CMD_DLY   0x8000 | 
        ||
| 25 | #define CMD_BLT   0xFF000000 | 
        ||
| 61 | f9daq | 26 | |
| 82 | f9daq | 27 | #define CMD_D16   1 | 
        
| 28 | #define CMD_D32   0 | 
        ||
| 29 | |||
| 30 | |||
| 31 | #define MAXSTACKSIZE 100000 | 
        ||
| 32 | |||
| 33 | int WIENER_VMUSB_StackInit();  | 
        ||
| 34 | void WIENER_VMUSB_StackClear();  | 
        ||
| 35 | |||
| 36 | |||
| 37 | #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) )  | 
        ||
| 39 | #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) )  | 
        ||
| 41 | |||
| 42 | #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)) | 
        ||
| 44 | #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)) | 
        ||
| 46 | |||
| 47 | #define WIENER_VMUSB_StackMarker(MRK) WIENER_VMUSB_StackAppend(CMD_MRK, (MRK)) | 
        ||
| 48 | |||
| 49 | int WIENER_VMUSB_StackAppend(int cmd, uint32_t addr);  | 
        ||
| 50 | int WIENER_VMUSB_StackAppendData(int cmd, uint32_t addr, uint32_t data);  | 
        ||
| 51 | |||
| 52 | void WIENER_VMUSB_StackConditionalRead(int am ,int d16d32,uint32_t addr, uint32_t data);  | 
        ||
| 53 | 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);  | 
        ||
| 55 | |||
| 56 | int WIENER_VMUSB_StackGetUint32(int maxn, uint32_t *stack);  | 
        ||
| 57 | int WIENER_VMUSB_StackGetUint16(int maxn, uint16_t *stack);  | 
        ||
| 58 | void WIENER_VMUSB_StackPrint();  | 
        ||
| 59 | |||
| 60 | |||
| 100 | f9daq | 61 | void _VI_FUNC WIENER_VMUSB_load (const char *module_path);  | 
        
| 62 | void _VI_FUNC WIENER_VMUSB_open (const char *serial);  | 
        ||
| 82 | f9daq | 63 | void _VI_FUNC WIENER_VMUSB_close (void);  | 
        
| 64 | |||
| 65 | #define WIENER_VMUSB_VME_START(NODE) WIENER_VMUSB_load(NULL);WIENER_VMUSB_open((NODE)); | 
        ||
| 66 | #define WIENER_VMUSB_VME_STOP() WIENER_VMUSB_close() | 
        ||
| 61 | f9daq | 67 | //#define VME_RESET() WIENVME_reset() | 
        
| 68 | //#define VME_A24D8_R(VME,DATA) WIENVME_read8(hHandle24, 1, (VME), (DATA)) | 
        ||
| 82 | f9daq | 69 | #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)) | 
        ||
| 61 | f9daq | 71 | //#define VME_A24D8_W(VME,DATA) WIENVME_write8(hHandle24, 1, (VME), (DATA)) | 
        
| 82 | f9daq | 72 | #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)) | 
        ||
| 61 | f9daq | 74 | //#define VME_A32D8_R(VME,DATA) WIENVME_read8(hHandle32, 1, (VME), (DATA)) | 
        
| 82 | f9daq | 75 | #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)) | 
        ||
| 61 | f9daq | 77 | //#define VME_A32D8_W(VME,DATA) WIENVME_write8(hHandle32, 1, (VME), (DATA)) | 
        
| 82 | f9daq | 78 | #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)) | 
        ||
| 61 | f9daq | 80 | |
| 82 | f9daq | 81 | |
| 100 | f9daq | 82 | extern short __stdcall WIENER_VMUSB_VME_R( uint16_t AM, uint16_t DW, uint32_t VME_Address, uint32_t *Data);  | 
        
| 82 | f9daq | 83 | |
| 100 | f9daq | 84 | extern short __stdcall WIENER_VMUSB_VME_W( uint16_t AM, uint16_t DW, uint32_t VME_Address, uint32_t Data);  | 
        
| 82 | f9daq | 85 | |
| 100 | f9daq | 86 | 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 );  | 
        ||
| 88 | extern short __stdcall WIENER_VMUSB_VME_MWEXEC( void );  | 
        ||
| 82 | f9daq | 89 | |
| 100 | f9daq | 90 | 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 );  | 
        ||
| 92 | extern short __stdcall WIENER_VMUSB_VME_MREXEC( uint32_t *Data );  | 
        ||
| 82 | f9daq | 93 | |
| 61 | f9daq | 94 | #endif | 
        
| 95 |