#ifndef _ADS1256_H #define _ADS1256_H #include "stdint.h" #include "ads1256_defines.h" #define STATUS 0x00 #define MUX 0x01 #define ADCON 0x02 #define DRATE 0x03 #define IO 0x04 #define OFC0 0x05 #define OFC1 0x06 #define OFC2 0x07 #define FSC0 0x08 #define FSC1 0x09 #define FSC2 0x0A #define uV 100000000 #define mV 1000 #define MEAS_CASE_INIT 50 #define MEAS_CASE_SET_CH 51 #define MEAS_CASE_GET_CH_DATA 52 #define MEAS_BUF_SIZE 16 #define CH1_INDEX_RANGE 2 #define CH2_INDEX_RANGE 6 #define CH3_INDEX_RANGE 10 #define CH4_INDEX_RANGE 14 #define CH_MEAN_SIZE 4 #define ADC_MAX_RANGE 6U #define ADC_MAX_SPS ADC_SPS_VAR_30000_SPS #define ADC_MAX_PGA ADC_PGA_VAR_64 #define CH_1p 0x0A #define CH_1n 0x0B #define CH_2p 0x14 #define CH_2n 0x15 #define CH_3p 0x1e #define CH_3n 0x1f #define CH_4p 0x28 #define CH_4n 0x29 #endif void ADC_SET_CS(uint8_t state); void ADC_SET_SYNC(uint8_t state); void ADC_RESET_STATE(uint8_t state); uint8_t read_reg(uint8_t reg_name); void write_reg(uint8_t reg_name, uint8_t cmd_byte); void ADC_change_SPS(uint8_t SPS); void ADC_set_SPS(uint8_t SPS); void ADC_init(uint8_t buf_state); uint8_t ADC_get_SPS(void); void ADC_change_PGA(uint8_t PGA); uint8_t ADC_get_PGA(void); void ADC_set_PGA(uint8_t PGA_val_new); void ADC_SelfCal(); void ADC_sync(uint8_t state); void ADC_sync_trig(void); void ADC_setCh_p(uint8_t adcx, uint8_t chx); void ADC_setCh_n(uint8_t adcx, uint8_t chx); int64_t ADC_read(uint8_t ADC_number); int64_t ADC_read_aver(uint8_t adcx, uint8_t chx); void iter_delay(long delay); void ADC_set_pos_ch(uint8_t ch); void ADC_set_neg_ch(uint8_t ch); void ADC_revpol_read(int64_t *ADC_arrptr); uint8_t ADC_meas_ready(void); uint8_t ADC_get_currMeasCh(void);