65 lines
1.6 KiB
C
65 lines
1.6 KiB
C
|
|
#ifndef __ADC_ADS1256_H__
|
||
|
|
#define __ADC_ADS1256_H__
|
||
|
|
|
||
|
|
#include "SPIDevice.h"
|
||
|
|
|
||
|
|
#define ADS1256_SPI_MODE 1
|
||
|
|
#define DRATE_MAX 16
|
||
|
|
#define DEBUG
|
||
|
|
|
||
|
|
#define ADS1256_GAIN_1 0 /* GAIN 1 */
|
||
|
|
#define ADS1256_GAIN_2 1 /*GAIN 2 */
|
||
|
|
#define ADS1256_GAIN_4 2 /*GAIN 4 */
|
||
|
|
#define ADS1256_GAIN_8 3 /*GAIN 8 */
|
||
|
|
#define ADS1256_GAIN_16 4 /* GAIN 16 */
|
||
|
|
#define ADS1256_GAIN_32 5 /*GAIN 32 */
|
||
|
|
#define ADS1256_GAIN_64 6 /*GAIN 64 */
|
||
|
|
|
||
|
|
|
||
|
|
#define ADS1256_30000SPS 15
|
||
|
|
#define ADS1256_15000SPS 14
|
||
|
|
#define ADS1256_7500SPS 13
|
||
|
|
#define ADS1256_3750SPS 12
|
||
|
|
#define ADS1256_2000SPS 11
|
||
|
|
#define ADS1256_1000SPS 10
|
||
|
|
#define ADS1256_500SPS 9
|
||
|
|
#define ADS1256_100SPS 8
|
||
|
|
#define ADS1256_60SPS 7
|
||
|
|
#define ADS1256_50SPS 6
|
||
|
|
#define ADS1256_30SPS 5
|
||
|
|
#define ADS1256_25SPS 4
|
||
|
|
#define ADS1256_15SPS 3
|
||
|
|
#define ADS1256_10SPS 2
|
||
|
|
#define ADS1256_5SPS 1
|
||
|
|
#define ADS1256_2d5SPS 0
|
||
|
|
|
||
|
|
|
||
|
|
typedef struct
|
||
|
|
{
|
||
|
|
GPIO_TypeDef* _drdy;
|
||
|
|
uint16_t _drdy_Pin;
|
||
|
|
SPI_DEV_t* _dev;
|
||
|
|
const char* name;
|
||
|
|
bool success;
|
||
|
|
|
||
|
|
uint8_t gain;
|
||
|
|
uint8_t dataRate;
|
||
|
|
int32_t adcNow[8]; /* ADC Conversion value */
|
||
|
|
uint8_t channel; /* The current channel*/
|
||
|
|
uint8_t prevChannel; /* The previous channel --when muxing */
|
||
|
|
uint8_t scanMode; /*Scanning mode, 0 = Single-ended input 8 channel; 1= Differential input 4 channels*/
|
||
|
|
uint8_t buffer_en;
|
||
|
|
uint32_t maxWaitDelay_us;
|
||
|
|
/* gain channel? */
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
} ADC_ADS1256_t;
|
||
|
|
|
||
|
|
bool ADC_ADS1256_init(ADC_ADS1256_t *adc, const char *name, SPI_DEV_t* dev, GPIO_TypeDef* drdy, uint16_t drdy_Pin);
|
||
|
|
|
||
|
|
void ADC_ADS1256_update(ADC_ADS1256_t *adc);
|
||
|
|
|
||
|
|
#endif
|
||
|
|
|