Subversion Repositories f9daq

Rev

Rev 82 | Rev 264 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

  1. #ifndef _WUSBVME_DLL_H
  2. #define _WUSBVME_DLL_H
  3.  
  4. #ifdef _CVI_
  5. #include <ansi_c.h>
  6. #include <windows.h>
  7. #include <cvidef.h>
  8. #include <ivi.h>
  9. #include "usb.h"
  10. #else
  11. #include "/usr/include/usb.h"
  12. #endif
  13.  
  14. #include "xxusb_dll.h"
  15.  
  16.  
  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
  26.  
  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.  
  61. void _VI_FUNC WIENER_VMUSB_load (const char *module_path);
  62. void _VI_FUNC WIENER_VMUSB_open (const char *serial);
  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()
  67. //#define VME_RESET() WIENVME_reset()
  68. //#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))
  70. #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))
  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))
  74. //#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))
  76. #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))
  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))
  80.  
  81.  
  82. extern short __stdcall WIENER_VMUSB_VME_R( uint16_t AM, uint16_t DW,  uint32_t VME_Address, uint32_t *Data);
  83.  
  84. extern short __stdcall WIENER_VMUSB_VME_W( uint16_t AM, uint16_t DW, uint32_t VME_Address, uint32_t Data);
  85.  
  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 );
  89.  
  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  );
  93.  
  94. #endif
  95.  
  96.