99 lines
2.3 KiB
C
99 lines
2.3 KiB
C
#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);
|