Subversion Repositories f9daq

Rev

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