Subversion Repositories f9daq

Compare Revisions

Ignore whitespace Rev 263 → Rev 264

/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()