/**************************************************************************** * AD8DRV.H * * This is the header file for the AD8-16 Windows Driver. * * LAST MODIFICATION: AUGUST 23, 1993 * ****************************************************************************/ // error_codes returned by the system #define AD816_SUCCESS 0 #define CONFIG_CODE 2 #define BASE_ADDRESS 3 #define VOLTAGE_RANGE 4 #define CARD_INACTIVE 5 #define POINT_ERROR 7 #define POINT_INSTALL 8 #define LIST_EMPTY 9 #define LIST_ERROR 10 #define INVALID_CONV 11 #define INVALID_BUFFER 12 #define POINT_UNINSTALL 13 #define ACTIVE_PROCESS 14 #define BUFFER_EMPTY 15 #define INVALID_PTR 16 #define GAIN_ERROR 17 #define UNIT_ERROR 18 #define CHANNEL_ERROR 20 #define INVALID_IRQ 21 #define INVALID_COUNTER 24 #define FREQ_ERROR 25 #define INVALID_MODE 26 #define TIMEOUT 27 #define IRQ_UNINSTALL 29 #define PROCESS_ERROR 30 #define INPUT_TYPE 31 #define RANGE_ERROR 32 #define DAC_ERROR 33 #define DAC_RANGE 34 #define WINDOWSERROR 99 #define NOT_IMPLEMENTED 1000 // AD8-16 voltage range constants #define UNIPOLAR_255 0 #define UNIPOLAR_10 1 #define BIPOLAR_127 2 #define BIPOLAR_5 3 // Process types #define SOFTWARE 0 #define TIMER 1 // Mux type #define DIFFERENTIAL 0 #define SINGLE_ENDED 1 // dac's #define DAC0 0 #define DAC1 1 extern "C" { int PASCAL AD816_ClearPointList(); int PASCAL AD816_AddPoints(int start,int stop); int PASCAL AD816_ResetListIndex(); int PASCAL AD816_FetchPointConfig(int addr,float *low,float *hi); int PASCAL AD816_DelPtListIndexes(int start,int stop); int PASCAL AD816_GetNextPoint(int *addr,float *result); int PASCAL AD816_GetIndexPoint(int index,int *addr,float *result); int PASCAL AD816_GetDirectPoint(int addr,float *result); int PASCAL AD816_PollScan(int scans,int convs,int index); int PASCAL AD816_PostProcess(int scans,int convs,int index,float *buffer); int PASCAL AD816_SetPointConfig(int start,int stop,int range,float low, float hi); int PASCAL AD816_IRQStatus(int *scan,int *conv); int PASCAL AD816_IRQTerminate(); int PASCAL AD816_IRQScan(int scans,int convs,int list_index,unsigned IRQ, unsigned process_type,HWND hWnd); int PASCAL AD816_DACOut(int DAC,float voltage); int PASCAL AD816_DigitalOut(int value); int PASCAL AD816_DigitalIn(int *value); int PASCAL AD816_SetCounter(int counter,int mode,unsigned loadvalue,int bcd); int PASCAL AD816_ReadCounter(int counter,unsigned *value); int PASCAL AD816_DisableCounter(int counter,int state); int PASCAL AD816_RateGenerator(int counter,int divisor,float freq); int PASCAL AD816_MeasureFreq(int range,float *freq); int PASCAL AD816_MeasurePeriod(int range,float *period); int PASCAL AD816_SetSettleTime(int counts); int PASCAL AD816_Init(int addr,int muxtype); int PASCAL AD816_Shutdown(); };