ads111x - Driver for ADS1113/ADS1114/ADS1115 and ADS1013/ADS1014/ADS1015 I2C ADC¶
-
group
ads111x
ESP-IDF driver for ADS1113/ADS1114/ADS1115, ADS1013/ADS1014/ADS1015 I2C ADC.
Ported from esp-open-rtos
Copyright (C) 2016, 2018 Ruslan V. Uss unclerus@gmail.com Copyright (C) 2020 Lucio Tarantino (https://github.com/dianlight)
BSD Licensed as described in the file LICENSE
Defines
-
ADS111X_ADDR_GND
¶ I2C device address with ADDR pin connected to ground.
-
ADS111X_ADDR_VCC
¶ I2C device address with ADDR pin connected to VCC.
-
ADS111X_ADDR_SDA
¶ I2C device address with ADDR pin connected to SDA.
-
ADS111X_ADDR_SCL
¶ I2C device address with ADDR pin connected to SCL.
-
ADS111X_MAX_VALUE
¶ Maximum ADC value.
-
ADS101X_MAX_VALUE
¶
-
ADS101X_DATA_RATE_128
¶
-
ADS101X_DATA_RATE_250
¶
-
ADS101X_DATA_RATE_490
¶
-
ADS101X_DATA_RATE_920
¶
-
ADS101X_DATA_RATE_1600
¶
-
ADS101X_DATA_RATE_2400
¶
-
ADS101X_DATA_RATE_3300
¶
Enums
-
enum
ads111x_gain_t
¶ Gain amplifier.
Values:
-
enumerator
ADS111X_GAIN_6V144
¶ +-6.144V
-
enumerator
ADS111X_GAIN_4V096
¶ +-4.096V
-
enumerator
ADS111X_GAIN_2V048
¶ +-2.048V (default)
-
enumerator
ADS111X_GAIN_1V024
¶ +-1.024V
-
enumerator
ADS111X_GAIN_0V512
¶ +-0.512V
-
enumerator
ADS111X_GAIN_0V256
¶ +-0.256V
-
enumerator
ADS111X_GAIN_0V256_2
¶ +-0.256V (same as ADS111X_GAIN_0V256)
-
enumerator
ADS111X_GAIN_0V256_3
¶ +-0.256V (same as ADS111X_GAIN_0V256)
-
enumerator
-
enum
ads111x_mux_t
¶ Input multiplexer configuration (ADS1115 only)
Values:
-
enumerator
ADS111X_MUX_0_1
¶ positive = AIN0, negative = AIN1 (default)
-
enumerator
ADS111X_MUX_0_3
¶ positive = AIN0, negative = AIN3
-
enumerator
ADS111X_MUX_1_3
¶ positive = AIN1, negative = AIN3
-
enumerator
ADS111X_MUX_2_3
¶ positive = AIN2, negative = AIN3
-
enumerator
ADS111X_MUX_0_GND
¶ positive = AIN0, negative = GND
-
enumerator
ADS111X_MUX_1_GND
¶ positive = AIN1, negative = GND
-
enumerator
ADS111X_MUX_2_GND
¶ positive = AIN2, negative = GND
-
enumerator
ADS111X_MUX_3_GND
¶ positive = AIN3, negative = GND
-
enumerator
-
enum
ads111x_data_rate_t
¶ Data rate.
Values:
-
enumerator
ADS111X_DATA_RATE_8
¶ 8 samples per second
-
enumerator
ADS111X_DATA_RATE_16
¶ 16 samples per second
-
enumerator
ADS111X_DATA_RATE_32
¶ 32 samples per second
-
enumerator
ADS111X_DATA_RATE_64
¶ 64 samples per second
-
enumerator
ADS111X_DATA_RATE_128
¶ 128 samples per second (default)
-
enumerator
ADS111X_DATA_RATE_250
¶ 250 samples per second
-
enumerator
ADS111X_DATA_RATE_475
¶ 475 samples per second
-
enumerator
ADS111X_DATA_RATE_860
¶ 860 samples per second
-
enumerator
-
enum
ads111x_mode_t
¶ Operational mode.
Values:
-
enumerator
ADS111X_MODE_CONTINUOUS
¶ Continuous conversion mode.
-
enumerator
ADS111X_MODE_SINGLE_SHOT
¶ Power-down single-shot mode (default)
-
enumerator
-
enum
ads111x_comp_mode_t
¶ Comparator mode (ADS1114 and ADS1115 only)
Values:
-
enumerator
ADS111X_COMP_MODE_NORMAL
¶ Traditional comparator with hysteresis (default)
-
enumerator
ADS111X_COMP_MODE_WINDOW
¶ Window comparator.
-
enumerator
-
enum
ads111x_comp_polarity_t
¶ Comparator polarity (ADS1114 and ADS1115 only)
Values:
-
enumerator
ADS111X_COMP_POLARITY_LOW
¶ Active low (default)
-
enumerator
ADS111X_COMP_POLARITY_HIGH
¶ Active high.
-
enumerator
-
enum
ads111x_comp_latch_t
¶ Comparator latch (ADS1114 and ADS1115 only)
Values:
-
enumerator
ADS111X_COMP_LATCH_DISABLED
¶ Non-latching comparator (default)
-
enumerator
ADS111X_COMP_LATCH_ENABLED
¶ Latching comparator.
-
enumerator
-
enum
ads111x_comp_queue_t
¶ Comparator queue.
Values:
-
enumerator
ADS111X_COMP_QUEUE_1
¶ Assert ALERT/RDY pin after one conversion.
-
enumerator
ADS111X_COMP_QUEUE_2
¶ Assert ALERT/RDY pin after two conversions.
-
enumerator
ADS111X_COMP_QUEUE_4
¶ Assert ALERT/RDY pin after four conversions.
-
enumerator
ADS111X_COMP_QUEUE_DISABLED
¶ Disable comparator (default)
-
enumerator
Functions
-
esp_err_t
ads111x_init_desc
(i2c_dev_t *dev, uint8_t addr, i2c_port_t port, gpio_num_t sda_gpio, gpio_num_t scl_gpio)¶ Initialize device descriptor.
- Return
ESP_OK
on success- Parameters
dev
: Device descriptoraddr
: Device addressport
: I2C port numbersda_gpio
: GPIO pin for SDAscl_gpio
: GPIO pin for SCL
-
esp_err_t
ads111x_free_desc
(i2c_dev_t *dev)¶ Free device descriptor.
- Return
ESP_OK
on success- Parameters
dev
: Pointer to device descriptor
-
esp_err_t
ads111x_is_busy
(i2c_dev_t *dev, bool *busy)¶ Get device operational status.
- Return
ESP_OK
on success- Parameters
dev
: Device descriptorbusy
:true
when device performing conversion
-
esp_err_t
ads111x_start_conversion
(i2c_dev_t *dev)¶ Begin a single conversion (when in single-shot mode)
- Return
ESP_OK
on success- Parameters
dev
: Device descriptor
-
esp_err_t
ads111x_get_value
(i2c_dev_t *dev, int16_t *value)¶ Read last conversion result.
- Return
ESP_OK
on success- Parameters
dev
: Device descriptorvalue
: Last conversion result
-
esp_err_t
ads101x_get_value
(i2c_dev_t *dev, int16_t *value)¶ Read last conversion result for ADS101x.
- Return
ESP_OK
on success- Parameters
dev
: Device descriptorvalue
: Last conversion result
-
esp_err_t
ads111x_get_gain
(i2c_dev_t *dev, ads111x_gain_t *gain)¶ Read the programmable gain amplifier configuration (ADS1114 and ADS1115 only).
Use
ads111x_gain_values[]
for real voltage.- Return
ESP_OK
on success- Parameters
dev
: Device descriptorgain
: Gain value
-
esp_err_t
ads111x_set_gain
(i2c_dev_t *dev, ads111x_gain_t gain)¶ Configure the programmable gain amplifier (ADS1114 and ADS1115 only)
- Return
ESP_OK
on success- Parameters
dev
: Device descriptorgain
: Gain value
-
esp_err_t
ads111x_get_input_mux
(i2c_dev_t *dev, ads111x_mux_t *mux)¶ Read the input multiplexer configuration (ADS1115 only)
- Return
ESP_OK
on success- Parameters
dev
: Device descriptormux
: Input multiplexer configuration
-
esp_err_t
ads111x_set_input_mux
(i2c_dev_t *dev, ads111x_mux_t mux)¶ Configure the input multiplexer configuration (ADS1115 only)
- Return
ESP_OK
on success- Parameters
dev
: Device descriptormux
: Input multiplexer configuration
-
esp_err_t
ads111x_get_mode
(i2c_dev_t *dev, ads111x_mode_t *mode)¶ Read the device operating mode.
- Return
ESP_OK
on success- Parameters
dev
: Device descriptormode
: Device operating mode
-
esp_err_t
ads111x_set_mode
(i2c_dev_t *dev, ads111x_mode_t mode)¶ Set the device operating mode.
- Return
ESP_OK
on success- Parameters
dev
: Device descriptormode
: Device operating mode
-
esp_err_t
ads111x_get_data_rate
(i2c_dev_t *dev, ads111x_data_rate_t *rate)¶ Read the data rate.
- Return
ESP_OK
on success- Parameters
dev
: Device descriptorrate
: Data rate
-
esp_err_t
ads111x_set_data_rate
(i2c_dev_t *dev, ads111x_data_rate_t rate)¶ Configure the data rate.
- Return
ESP_OK
on success- Parameters
dev
: Device descriptorrate
: Data rate
-
esp_err_t
ads111x_get_comp_mode
(i2c_dev_t *dev, ads111x_comp_mode_t *mode)¶ Get comparator mode (ADS1114 and ADS1115 only)
- Return
ESP_OK
on success- Parameters
dev
: Device descriptormode
: Comparator mode
-
esp_err_t
ads111x_set_comp_mode
(i2c_dev_t *dev, ads111x_comp_mode_t mode)¶ Set comparator mode (ADS1114 and ADS1115 only)
- Return
ESP_OK
on success- Parameters
dev
: Device descriptormode
: Comparator mode
-
esp_err_t
ads111x_get_comp_polarity
(i2c_dev_t *dev, ads111x_comp_polarity_t *polarity)¶ Get polarity of the comparator output pin ALERT/RDY (ADS1114 and ADS1115 only)
- Return
ESP_OK
on success- Parameters
dev
: Device descriptorpolarity
: Comparator output pin polarity
-
esp_err_t
ads111x_set_comp_polarity
(i2c_dev_t *dev, ads111x_comp_polarity_t polarity)¶ Set polarity of the comparator output pin ALERT/RDY (ADS1114 and ADS1115 only)
- Return
ESP_OK
on success- Parameters
dev
: Device descriptorpolarity
: Comparator output pin polarity
-
esp_err_t
ads111x_get_comp_latch
(i2c_dev_t *dev, ads111x_comp_latch_t *latch)¶ Get comparator output latch mode, see datasheet.
(ADS1114 and ADS1115 only)
- Return
ESP_OK
on success- Parameters
dev
: Device descriptorlatch
: Comparator output latch mode
-
esp_err_t
ads111x_set_comp_latch
(i2c_dev_t *dev, ads111x_comp_latch_t latch)¶ Set comparator output latch mode (ADS1114 and ADS1115 only)
- Return
ESP_OK
on success- Parameters
dev
: Device descriptorlatch
: Comparator output latch mode
-
esp_err_t
ads111x_get_comp_queue
(i2c_dev_t *dev, ads111x_comp_queue_t *queue)¶ Set number of the comparator conversions before pin ALERT/RDY assertion, or disable comparator (ADS1114 and ADS1115 only)
- Return
ESP_OK
on success- Parameters
dev
: Device descriptorqueue
: Number of the comparator conversions
-
esp_err_t
ads111x_set_comp_queue
(i2c_dev_t *dev, ads111x_comp_queue_t queue)¶ Get number of the comparator conversions before pin ALERT/RDY assertion (ADS1114 and ADS1115 only)
- Return
ESP_OK
on success- Parameters
dev
: Device descriptorqueue
: Number of the comparator conversions
-
esp_err_t
ads111x_get_comp_low_thresh
(i2c_dev_t *dev, int16_t *th)¶ Get the lower threshold value used by comparator.
- Return
ESP_OK
on success- Parameters
dev
: Device descriptorth
: Lower threshold value
-
esp_err_t
ads111x_set_comp_low_thresh
(i2c_dev_t *dev, int16_t th)¶ Set the lower threshold value used by comparator.
- Return
ESP_OK
on success- Parameters
dev
: Device descriptorth
: Lower threshold value
Variables
-
const float
ads111x_gain_values
[]¶ Gain amplifier values.
-