#include "hp834xb.h"  
#include "aw67XXB.h" 
#define TRUEQ  1
#define FALSEQ 0
#define BMASK 0xff
#define ADDC  0x311      /* counter control port */
#define ADDD  0x310      /* counter data port */
#define WILTRON 0
#define HP834xB 1

/* data structure for queues */
#define SMMACQCMD struct t_smmacqcmd
SMMACQCMD {
int updn, indx, ixend, numvolts, numav;
};

#define SMMACQDATA struct t_tsmmacq
SMMACQDATA {
 int indx;
 double intens, auxfreq, *voltage, liax;
};



/* global declarations */
extern int ModSen, LASER, acqcmdTSQ, acqdataTSQ, acqmxnTSQ, synthID, synthHandle, synthID2, synthHandle2;
extern int ds345Handle, laserHandle, LIAhandle, SAhandle, TimeWait, TimeBase, Exp, SAType;
extern int   LIA, FG, NUMPTPI, DAQ, DAQNUM, NUMBERPOINTS, NPage, ZEEMAN, yigfilt, synthHarm, synthHarm2;
extern TaskHandle   DAQHandle, DAQInputs;

extern float64 DAQdata[2], *voltages;
extern unsigned int numvolts, numav;// TEMPV, TEMP2V
extern int gain[8];
extern double WaitCPUTime, intenScale, synthStart, synthStep, synthOffset;
extern double defFreq, freqScale, sensitivity;
extern double raterate;
extern short iNumChans, piChanVect[3], piGainVect[3];

extern  SMMACQCMD acq; 
extern  SMMACQDATA acqdata, aqrd;


/* function prototypes */
int updateScan(int updn, int indx, int nbuf);
int acqthread(void *dumy);
void SetFreq(int ix);
void PutSynth(char * str, int len);
void PutSynth2(char * str, int len);
void PutLASER(char * str, int len);
void PutDS345(char * str, int len);
void  LIACMD(char *str);
void  SACMD(char *str);
void  FGCMD(char *str);
void Read_Voltages(int numv, int numa, double V[8]);







