#ifndef CAEN_V729_H
#define CAEN_V729_H
#define V729_OFFSET 0x880000
typedef struct {
uint32_t mask;
int cbl;
int nall;
char filename[0xFF];
int verbose ;
int neve ;
uint32_t addr;
uint32_t bias1 ;
uint32_t bias2;
int append;
int panel;
FILE *fp;
double fraction;
} CAEN_V729_PARAM;
void V729_map( uint32_t addr);
void V729_info(FILE *kam);
void V729_reg( uint32_t val);
void V729_reset(int nall,int nbefore,int obae,int obaf);
void V729_set_bias(int range, int bias1, int bias2);
void V729_aquisition_mode(uint32_t mode);
void V729_soft_stop( void);
void V729_clear_buffer(void) ;
void V729_get_buffer(uint32_t *data1, uint32_t *data2);
void V729_init(uint32_t addr, int nall, int cbl, uint32_t bias1, uint32_t bias2);
int V729_status( void );
int V729_event(int mask, int nall, uint32_t *data,uint32_t *data1,uint32_t *data2);
int V729_decode(uint32_t mask, int nall, uint32_t *data, uint16_t *dadc, int debug);
void V729_Usage(void);
int V729_GetParams(int argc,char **argv);
int V729_LoadPanel (int Parent_Panel_Handle, char Filename[], int Panel_Resource_ID);
int V729_SetFilePointer (FILE *fp);
int V729_main (int argc,char **argv);
int CVICALLBACK V729_daq(void *functionData);
#endif