/* analog input method */ #define SINGLE_END 0x00 #define DIFFERENTIAL 0x08 /* channel mode */ #define MULTI 0x04 #define SINGLE 0x00 /* clock mode */ #define EXTERNAL_CLOCK 0x02 #define INTERNAL_CLOCK 0x00 /* stop mode */ #define SOFTWARE_COMMAND 0x00 #define CLOCK 0x01 #define BUF_CLR 0x05 #define DRE 0x02 #define MULTI_CHANNEL_MODE //#define CH 0 /* channel # for convert (single channel mode) // maximum chanel # for convert (multi channel mode) // */ #define CH 2 /* channel # for convert (single channel mode) maximum chanel # for convert (multi channel mode) */ #define V_MAX 5. #define V_MIN -5. //#define V_MAX 2. //#define V_MIN -2. #define V_OFFSET ((V_MAX+V_MIN)/2.) #define SAMPLING_CLOCK 10000 /* nsec */ #define ADC_BASE_ADDR 0xdf80 #define DAC_BASE_ADDR 0xdf40 int init_adc(void); void cleanup_adc(void); int init_dac(void); void cleanup_dac(void); int ad_conv(double *); int ad_conv_raw(int *); int da_conv(double, unsigned char); int da_conv_pic(double, unsigned char);