/cvi/instr/CAENV965/CAENV965.c |
---|
1,13 → 1,10 |
#include <ansi_c.h> |
#include "vme.h" |
#include "CAENV965.h" |
#include "CAENV965_DEF.h" |
#ifdef SISVME |
#include "sisvme_dll.h" |
#endif |
#ifdef WIENVME |
#include "wienvme_dll.h" |
#endif |
static unsigned long ModuleAddress[10]; |
/cvi/instr/HISTO/H1D.c |
---|
11,7 → 11,7 |
#include "H1D.h" |
#define H1DMAX 500 |
H1D *h1[H1DMAX]; |
//int Printf(char *format, ...); |
146,7 → 146,7 |
H1D_Clear(h1d); |
H1D_Print(h1d); |
//Printf("InitH1D 0x%x\n", h1d ); |
return 0; |
return h1d; |
} |
/cvi/instr/HISTO/H1D.h |
---|
13,6 → 13,7 |
/* 2d histogramming */ |
#define H1DMAX 500 |
#define H1D_ID 0x11 |
#pragma pack(4) |
typedef struct { |
/cvi/instr/HISTO/H2D.c |
---|
8,7 → 8,7 |
#include "H2D.h" |
#define H2DMAX 500 |
H2D *h2[H2DMAX]; |
//int Printf(char *format, ...); |
128,7 → 128,7 |
H2D_Clear(h2d); |
H2D_Print(h2d); |
//Printf("InitH2D 0x%x\n", h2d ); |
return 0; |
return h2d; |
} |
double _VI_FUNC H2D_GetXBinCenter(int h2d,int xbin) { |
/cvi/instr/HISTO/H2D.h |
---|
36,6 → 36,7 |
/* 2d histogramming */ |
#define H2DMAX 500 |
#define H2D_ID 0x10 |
#pragma pack(4) |
typedef struct { |
59,7 → 60,7 |
#pragma pack() |
double _VI_FUNC H2D_GetYBinCenter(int h2d,int ybin); |
double _VI_FUNC H2D_GetYBinCenter(int h2d,int xbin); |
double _VI_FUNC H2D_GetXBinCenter(int h2d,int xbin); |
int _VI_FUNC H2D_Clear(int h2d); |
int _VI_FUNC H2D_Print(int h2d); |
/cvi/instr/HISTO/H3D.c |
---|
10,7 → 10,7 |
#include "H2D.h" |
#include "H1D.h" |
#define H3DMAX 500 |
H3D *h3[H3DMAX]; |
//int Printf(char *format, ...); |
169,6 → 169,8 |
} |
int hid=499; |
int i=0; |
int j=0; |
switch (direction){ |
case 0:// xy |
H2D_Init(hid,"projectionXY","projectionXY", |
175,8 → 177,8 |
H3D_GetNbinsX(histogram), H3D_GetMinX(histogram),H3D_GetMaxX(histogram), |
H3D_GetNbinsY(histogram), H3D_GetMinY(histogram),H3D_GetMaxY(histogram) |
); |
for (int i=0; i < H3D_GetNbinsX(histogram); i++ ) |
for (int j=0; j < H3D_GetNbinsY(histogram); j++ ) |
for (i=0; i < H3D_GetNbinsX(histogram); i++ ) |
for (j=0; j < H3D_GetNbinsY(histogram); j++ ) |
H2D_SetBinContent(hid,i,j,H3D_GetBinContent(histogram,i,j,slice)); |
break; |
case 1:// xz |
184,8 → 186,8 |
H3D_GetNbinsX(histogram), H3D_GetMinX(histogram),H3D_GetMaxX(histogram), |
H3D_GetNbinsZ(histogram), H3D_GetMinZ(histogram),H3D_GetMaxZ(histogram) |
); |
for (int i=0; i < H3D_GetNbinsX(histogram); i++ ) |
for (int j=0; j < H3D_GetNbinsZ(histogram); j++ ) |
for (i=0; i < H3D_GetNbinsX(histogram); i++ ) |
for (j=0; j < H3D_GetNbinsZ(histogram); j++ ) |
H2D_SetBinContent(hid,i,j,H3D_GetBinContent(histogram,i,slice,j)); |
break; |
case 2:// yz |
194,8 → 196,8 |
H3D_GetNbinsY(histogram), H3D_GetMinY(histogram),H3D_GetMaxY(histogram), |
H3D_GetNbinsZ(histogram), H3D_GetMinZ(histogram),H3D_GetMaxZ(histogram) |
); |
for (int i=0; i < H3D_GetNbinsY(histogram); i++ ) |
for (int j=0; j < H3D_GetNbinsZ(histogram); j++ ) |
for (i=0; i < H3D_GetNbinsY(histogram); i++ ) |
for (j=0; j < H3D_GetNbinsZ(histogram); j++ ) |
H2D_SetBinContent(hid,i,j,H3D_GetBinContent(histogram,slice,i,j)); |
break; |
/cvi/instr/HISTO/H3D.h |
---|
23,6 → 23,7 |
#include <stdio.h> |
/* 2d histogramming */ |
#define H3DMAX 500 |
#define H3D_ID 0x12 |
#pragma pack(4) |
typedef struct |
54,8 → 55,9 |
int _VI_FUNC H3D_SliXY(int histogram,int slice, int direction); |
double _VI_FUNC H3D_GetZBinCenter(int h3d,int zbin); |
double _VI_FUNC H3D_GetYBinCenter(int h3d,int ybin); |
double _VI_FUNC H3D_GetYBinCenter(int h3d,int xbin); |
double _VI_FUNC H3D_GetXBinCenter(int h3d,int xbin); |
int _VI_FUNC H3D_Clear(int h3d); |
int _VI_FUNC H3D_Print(int h3d); |
/cvi/instr/WUSBVME_DLL/wusbvme_dll.c |
---|
13,6 → 13,8 |
#endif |
#include "wusbvme_dll.h" |
#include <userint.h> |
#include <utility.h> |
usb_dev_handle *WUSB_udev; |
69,16 → 71,21 |
void _VI_FUNC WIENER_VMUSB_load (const char* module_path) { |
if (module_path == NULL) { |
DLLHandle = LoadLibrary("c:\\Windows\\system32\\libxxusb.dll"); |
} else { |
DLLHandle = LoadLibrary(module_path); |
printf("Module Path %s\n", module_path); |
} |
if (!DLLHandle) { |
printf ("\n\nFailed to Open libxxusb.dll \n"); |
printf ("\n\nFailed to Open libxxusb.dll \n"); |
printf("LastError 0x%x\n",GetLastError() ); |
MessagePopup ("ERROR", "Failed to load libxxusb.dll "); |
return; |
} |
} else { |
printf ("\n\nSuccesfully Opened libxxusb.dll \n"); |
} |
if (!(xxusb_register_read_Ptr = (void *) GetProcAddress(DLLHandle,"xxusb_register_read"))) exit(1); |
if (!(xxusb_stack_read_Ptr = (void*) GetProcAddress(DLLHandle,"xxusb_stack_read"))) exit(1); |
if (!(xxusb_stack_write_Ptr = (void*) GetProcAddress(DLLHandle,"xxusb_stack_write"))) exit(1); |
120,9 → 127,9 |
xxusb_device_type devices[100]; |
struct usb_device *dev; |
if (serial != NULL) |
if (serial != NULL) { |
WUSB_udev = xxusb_serial_open((char *) serial); |
else { |
} else { |
//Find XX_USB devices and open the first one found |
xxusb_devices_find(devices); |
dev = devices[0].usbdev; |
157,7 → 164,7 |
WIENER_VMUSB_StackInit(); |
} |
int WIENER_VMUSB_StackGetUInt16(int maxn, uint16_t *stack) { |
int WIENER_VMUSB_StackGetUint16(int maxn, uint16_t *stack) { |
int i; |
uint16_t * u16Stack = (uint16_t *) fStack; |
for (i=0; i< fStackSize*2; i++) { |
167,7 → 174,7 |
return fStackSize*2; |
} |
int WIENER_VMUSB_StackGetUInt32(int maxn, uint32_t *stack) { |
int WIENER_VMUSB_StackGetUint32(int maxn, uint32_t *stack) { |
int i; |
uint16_t * u16Stack = (uint16_t *) fStack; |
for (i=0; i< fStackSize*2; i++) { |
235,7 → 242,7 |
} |
uint16_t * exstack = (uint16_t *) wusbcc_stack; |
exstack[0]=0; |
nb = WIENER_VMUSB_StackGetUInt16(MAXSTACKSIZE, &exstack[1] ); |
nb = WIENER_VMUSB_StackGetUint16(MAXSTACKSIZE, &exstack[1] ); |
//printf("WUSBXX_stack_execute stack size %d\n", nb); |
//WIENER_VMUSB_StackPrint(); |
nb = xxusb_longstack_execute (dev, exstack, nb, 1000); |
248,6 → 255,8 |
#ifndef VME_D32 |
#define VME_D8 0x1 |
/cvi/instr/WUSBVME_DLL/wusbvme_dll.h |
---|
38,10 → 38,10 |
void WIENER_VMUSB_StackClear(); |
#define WIENER_VMUSB_StackReadA24D16( ADDR, DATA ) WIENER_VMUSB_StackAppend(CMD_READ | CMD_A24 , CMD_D16 | (ADDR) ) |
#define WIENER_VMUSB_StackReadA24D32( ADDR, DATA ) WIENER_VMUSB_StackAppend(CMD_READ | CMD_A24 , CMD_D32 | (ADDR) ) |
#define WIENER_VMUSB_StackReadA32D16( ADDR, DATA ) WIENER_VMUSB_StackAppend(CMD_READ | CMD_A32 , CMD_D16 | (ADDR) ) |
#define WIENER_VMUSB_StackReadA32D32( ADDR, DATA ) WIENER_VMUSB_StackAppend(CMD_READ | CMD_A32 , CMD_D32 | (ADDR) ) |
#define WIENER_VMUSB_StackReadA24D16( ADDR ) WIENER_VMUSB_StackAppend(CMD_READ | CMD_A24 , CMD_D16 | (ADDR) ) |
#define WIENER_VMUSB_StackReadA24D32( ADDR ) WIENER_VMUSB_StackAppend(CMD_READ | CMD_A24 , CMD_D32 | (ADDR) ) |
#define WIENER_VMUSB_StackReadA32D16( ADDR ) WIENER_VMUSB_StackAppend(CMD_READ | CMD_A32 , CMD_D16 | (ADDR) ) |
#define WIENER_VMUSB_StackReadA32D32( ADDR ) WIENER_VMUSB_StackAppend(CMD_READ | CMD_A32 , CMD_D32 | (ADDR) ) |
#define WIENER_VMUSB_StackWriteA24D16( ADDR, DATA) WIENER_VMUSB_StackAppendData(CMD_WRITE | CMD_A24,CMD_D16 | (ADDR), (DATA)) |
#define WIENER_VMUSB_StackWriteA24D32( ADDR, DATA) WIENER_VMUSB_StackAppendData(CMD_WRITE | CMD_A24,CMD_D32 | (ADDR), (DATA)) |
65,6 → 65,7 |
void _VI_FUNC WIENER_VMUSB_load (const char *module_path); |
void _VI_FUNC WIENER_VMUSB_open (const char *serial); |
void _VI_FUNC WIENER_VMUSB_close (void); |
extern usb_dev_handle *WUSB_udev; |
#define WIENER_VMUSB_VME_START(NODE) WIENER_VMUSB_load(NULL);WIENER_VMUSB_open((NODE)); |
#define WIENER_VMUSB_VME_STOP() WIENER_VMUSB_close() |