Subversion Repositories f9daq

Rev

Rev 134 | Blame | Compare with Previous | Last modification | View Log | RSS feed

  1. #include "vme.h"
  2.  
  3.  
  4. short __stdcall VME_R( uint16_t AM, uint16_t DW,  uint32_t VME_Address, uint32_t *Data);
  5.  
  6. short __stdcall VME_W( uint16_t AM, uint16_t DW, uint32_t VME_Address, uint32_t Data);
  7.  
  8. short __stdcall VME_MW( uint16_t AM, uint16_t DW, uint32_t VME_Address, uint32_t Data);
  9. short __stdcall VME_MWRST( void );
  10. short __stdcall VME_MWEXEC( void );
  11.  
  12. short __stdcall VME_MR( uint16_t AM, uint16_t DW, uint32_t VME_Address, uint32_t *Data);
  13. short __stdcall VME_MRRST( void );
  14. short __stdcall VME_MREXEC(  uint32_t *Data  );
  15.  
  16. /*
  17. #ifdef _CVI_
  18. #include "c:\home\CVI\instr\WIENVME_DLL\wienvme_dll.h"
  19. #else
  20. #include "wienvme_dll.h"
  21. #endif
  22. */
  23.  
  24. #include "CAENV1718.h"
  25. #include "wusbvme_dll.h"
  26. #include "wienvme_dll.h"
  27. #include "sis3153.h"
  28.  
  29. static int VME_interface= -1;
  30. int VME_GetInterface() {
  31.   return VME_interface;
  32. }
  33. int VME_CONNECTED() {
  34.   return  VME_interface;
  35. }
  36.  
  37. short VME_START (int interface) {
  38. //short  __stdcall VME_START (int interface) {
  39.  
  40.   VME_interface=interface;
  41.   switch (VME_interface) {
  42.     case CAEN_V1718:
  43.       CAEN_VME_START (NULL);
  44.       VME_R_Ptr  =  CAEN_VME_R;
  45.       VME_W_Ptr  =  CAEN_VME_W;
  46.  
  47.       VME_MW_Ptr =  CAEN_VME_MW;
  48.       VME_MR_Ptr =  CAEN_VME_MR;
  49.  
  50.       VME_MW_Ptr =  CAEN_VME_MW;
  51.       VME_MR_Ptr =  CAEN_VME_MR;
  52.  
  53.       VME_MWEXEC_Ptr =  CAEN_VME_MWEXEC;
  54.       VME_MREXEC_Ptr =  CAEN_VME_MREXEC;
  55.  
  56.       VME_MWRST_Ptr =  CAEN_VME_MWRST;
  57.       VME_MRRST_Ptr =  CAEN_VME_MRRST;
  58.  
  59.  
  60.       break;
  61.  
  62.     case WIENER_VMEMM:
  63.       WIENVME_VME_START(NULL);
  64.       VME_R_Ptr  =  WIENVME_VME_R;
  65.       VME_W_Ptr  =  WIENVME_VME_W;
  66.  
  67.       VME_MW_Ptr =  WIENVME_VME_MW;
  68.       VME_MR_Ptr =  WIENVME_VME_MR;
  69.  
  70.       VME_MW_Ptr =  WIENVME_VME_MW;
  71.       VME_MR_Ptr =  WIENVME_VME_MR;
  72.  
  73.       VME_MWEXEC_Ptr =  WIENVME_VME_MWEXEC;
  74.       VME_MREXEC_Ptr =  WIENVME_VME_MREXEC;
  75.  
  76.       VME_MWRST_Ptr =  WIENVME_VME_MWRST;
  77.       VME_MRRST_Ptr =  WIENVME_VME_MRRST;
  78.       break;
  79.  
  80.     case WIENER_VMUSB:
  81.       WIENER_VMUSB_VME_START("VM0120");
  82.       VME_R_Ptr  =  WIENER_VMUSB_VME_R;
  83.       VME_W_Ptr  =  WIENER_VMUSB_VME_W;
  84.  
  85.       VME_MW_Ptr =  WIENER_VMUSB_VME_MW;
  86.       VME_MR_Ptr =  WIENER_VMUSB_VME_MR;
  87.  
  88.       VME_MW_Ptr =  WIENER_VMUSB_VME_MW;
  89.       VME_MR_Ptr =  WIENER_VMUSB_VME_MR;
  90.  
  91.       VME_MWEXEC_Ptr =  WIENER_VMUSB_VME_MWEXEC;
  92.       VME_MREXEC_Ptr =  WIENER_VMUSB_VME_MREXEC;
  93.  
  94.       VME_MWRST_Ptr =  WIENER_VMUSB_VME_MWRST;
  95.       VME_MRRST_Ptr =  WIENER_VMUSB_VME_MRRST;
  96.       break;
  97.  
  98.     case SIS3153_USB:
  99.       SIS3153_USB_VME_START(NULL);
  100.       VME_R_Ptr  =  SIS3153_USB_VME_R;
  101.       VME_W_Ptr  =  SIS3153_USB_VME_W;
  102.  
  103.       VME_MWRST_Ptr =  SIS3153_USB_VME_MWRST;
  104.       VME_MW_Ptr =  SIS3153_USB_VME_MW;
  105.       VME_MWEXEC_Ptr =  SIS3153_USB_VME_MWEXEC;
  106.  
  107.       VME_MRRST_Ptr =  SIS3153_USB_VME_MRRST;
  108.       VME_MR_Ptr =  SIS3153_USB_VME_MR;
  109.       VME_MREXEC_Ptr =  SIS3153_USB_VME_MREXEC;
  110.       break;
  111.     default:
  112.       break;
  113.   }
  114.   return 0;
  115. }
  116.  
  117. short    VME_STOP () {
  118. //short   __stdcall VME_STOP () {
  119.   switch (VME_interface) {
  120.     case CAEN_V1718:
  121.       CAEN_VME_STOP();
  122.       break;
  123.     case WIENER_VMEMM:
  124.       break;
  125.     case WIENER_VMUSB:
  126.       WIENER_VMUSB_VME_STOP();
  127.       break;
  128.     case SIS3153_USB:
  129.       SIS3153_USB_VME_STOP();
  130.       break;
  131.     default:
  132.       break;
  133.   }
  134.   VME_interface = -1;
  135.   return 0;
  136. }
  137.