ads130e08 - Driver for ADS130E08 SPI ADC

group ads130e08

ESP-IDF driver for ADS130E08 ADC.

Copyright (c) 2021 Weslley M. F. Duarte weslleymfd@gmail.com

MIT Licensed as described in the file LICENSE

Enums

enum ads130e08_system_cmd_t

Values:

enumerator ADS130E08_CMD_WAKEUP
enumerator ADS130E08_CMD_STANDBY
enumerator ADS130E08_CMD_RESET
enumerator ADS130E08_CMD_START
enumerator ADS130E08_CMD_STOP
enum ads130e08_data_read_cmd_t

Values:

enumerator ADS130E08_CMD_RDATAC
enumerator ADS130E08_CMD_SDATAC
enumerator ADS130E08_CMD_RDATA
enum ads130e08_clk_en_t

Values:

enumerator ADS130E08_CLK_OUT_DISABLED

Oscillator clock output disabled (default)

enumerator ADS130E08_CLK_OUT_ENABLED

Oscillator clock output enabled.

enum ads130e08_int_test_t

Values:

enumerator ADS130E08_INT_TEST_EXTERNAL

Test signals are driven externally (default)

enumerator ADS130E08_INT_TEST_INTERNAL

Test signals are generated internally.

enum ads130e08_test_amp_t

Values:

enumerator ADS130E08_TEST_AMP_CALIB_1X

1 × –(VREFP – VREFN) / 2.4 mV (default)

enumerator ADS130E08_TEST_AMP_CALIB_2X

2 × –(VREFP – VREFN) / 2.4 mV

enum ads130e08_test_freq_t

Values:

enumerator ADS130E08_TEST_FREQ_EXP_21

Pulsed at fCLK / 2^21 (default)

enumerator ADS130E08_TEST_FREQ_EXP_20

Pulsed at fCLK / 2^20.

enumerator ADS130E08_TEST_FREQ_AT_DC

At dc.

enum ads130e08_pd_refbuf_t

Values:

enumerator ADS130E08_INTERNAL_REF_BUFFER_DISABLED

Power-down internal reference buffer (default)

enumerator ADS130E08_INTERNAL_REF_BUFFER_ENABLED

Enable internal reference buffer.

enum ads130e08_vref_4v_t

Values:

enumerator ADS130E08_REF_VOLTAGE_2_4V

VREFP is set to 2.4 V (default)

enumerator ADS130E08_REF_VOLTAGE_4_0V

VREFP is set to 4 V (only use with a 5-V analog supply)

enum ads130e08_opamp_ref_t

Values:

enumerator ADS130E08_NON_INVERTING_CONNECT_OPAMP

Noninverting input connected to the OPAMPP pin (default)

enumerator ADS130E08_NON_INVERTING_CONNECT_AV

Noninverting input connected to (AVDD + AVSS) / 2.

enum ads130e08_pd_opamp_t

Values:

enumerator ADS130E08_OPAMP_DISABLED

Power-down op amp (default)

enumerator ADS130E08_OPAMP_ENABLED

Enable op amp.

enum ads130e08_channel_t

Channels.

Values:

enumerator ADS130E08_CHANNEL_1
enumerator ADS130E08_CHANNEL_2
enumerator ADS130E08_CHANNEL_3
enumerator ADS130E08_CHANNEL_4
enumerator ADS130E08_CHANNEL_5
enumerator ADS130E08_CHANNEL_6
enumerator ADS130E08_CHANNEL_7
enumerator ADS130E08_CHANNEL_8
enum ads130e08_fault_threshold_t

Fault detect comparator threshold.

Values:

enumerator ADS130E08_MODE_1

Comparator positive threshold: 95% , negative threshold: 5% (default)

enumerator ADS130E08_MODE_2

Comparator positive threshold: 92.5% , negative threshold: 7.5% (default)

enumerator ADS130E08_MODE_3

Comparator positive threshold: 90% , negative threshold: 10% (default)

enumerator ADS130E08_MODE_4

Comparator positive threshold: 87.5% , negative threshold: 12.5% (default)

enumerator ADS130E08_MODE_5

Comparator positive threshold: 85% , negative threshold: 15% (default)

enumerator ADS130E08_MODE_6

Comparator positive threshold: 80% , negative threshold: 20% (default)

enumerator ADS130E08_MODE_7

Comparator positive threshold: 75% , negative threshold: 25% (default)

enumerator ADS130E08_MODE_8

Comparator positive threshold: 70% , negative threshold: 30% (default)

enum ads130e08_pd_t

Power down.

Values:

enumerator ADS130E08_NORMAL_OPERATION

Normal operation (default)

enumerator ADS130E08_POWER_DOWN

Channel power-down.

enum ads130e08_pga_gain_t

PGA gain.

Values:

enumerator ADS130E08_PGA_1

x1

enumerator ADS130E08_PGA_2

x2

enumerator ADS130E08_PGA_8

x8

enum ads130e08_mux_t

MUX.

Values:

enumerator ADS130E08_NORMAL_INPUT

Normal input (default)

enumerator ADS130E08_INPUT_SHORTED

Input shorted (for offset or noise measurements)

enumerator ADS130E08_MVDD

MVDD for supply measurement.

enumerator ADS130E08_TEMPERATURE_SENSOR

Temperature sensor.

enumerator ADS130E08_TEST_SIGNAL

Test signal.

enum ads130e08_fault_t

Values:

enumerator ADS130E08_FAULT_STATP
enumerator ADS130E08_FAULT_STATN
enum ads130e08_fault_status_t

Fault status.

Values:

enumerator ADS130E08_NO_FAULT_PRESENT

No fault present (default)

enumerator ADS130E08_FAULT_PRESENT

Fault present.

enum ads130e08_gpio_mode_t

GPIO mode.

Values:

enumerator ADS130E08_GPIO_OUTPUT

Output.

enumerator ADS130E08_GPIO_INPUT

Input (default)

enum ads130e08_gpio_level_t

GPIO level.

Values:

enumerator ADS130E08_GPIO_RESET
enumerator ADS130E08_GPIO_SET
enum ads130e08_gpio_pin_t

GPIOs.

Values:

enumerator ADS130E08_GPIO1
enumerator ADS130E08_GPIO2
enumerator ADS130E08_GPIO3
enumerator ADS130E08_GPIO4
enum ads130e08_devices_n_t

Number of devices.

Values:

enumerator ADS130E08_DEVICES_1
enumerator ADS130E08_DEVICES_2

Functions

esp_err_t ads130e08_init_desc(ads130e08_t *dev, spi_host_device_t host, gpio_num_t cs_pin)

Initialize device descriptor.

Parameters:
  • dev – Device descriptor

  • host – SPI host

  • cs_pin – CS GPIO number

Returns:

ESP_OK on success

esp_err_t ads130e08_free_desc(ads130e08_t *dev)

Free device descriptor.

Parameters:

dev – Device descriptor

Returns:

ESP_OK on success

esp_err_t ads130e08_send_system_cmd(ads130e08_t *dev, ads130e08_system_cmd_t cmd)

Send system_command to device.

Parameters:
  • dev – Device descriptor

  • cmd – Command

Returns:

ESP_OK on success

esp_err_t ads130e08_send_data_read_cmd(ads130e08_t *dev, ads130e08_data_read_cmd_t cmd)

Send data_read_command to device.

Parameters:
  • dev – Device descriptor

  • cmd – Command

Returns:

ESP_OK on success

esp_err_t ads130e08_get_device_id(ads130e08_t *dev, uint8_t *id)

Get device id.

Parameters:
  • dev – Device descriptor

  • id – Id

Returns:

ESP_OK on success

esp_err_t ads130e08_set_device_config(ads130e08_t *dev, ads130e08_dev_config_t config)

Set device configuration.

Parameters:
  • dev – Device descriptor

  • config – Device configurations

Returns:

ESP_OK on success

esp_err_t ads130e08_get_device_config(ads130e08_t *dev, ads130e08_dev_config_t *config)

Get device configuration.

Parameters:
  • dev – Device descriptor

  • config – Device configurations

Returns:

ESP_OK on success

esp_err_t ads130e08_get_rdata(ads130e08_t *dev, ads130e08_raw_data_t *raw_data)

Reads raw data in “Read data by command” mode.

Parameters:
  • dev – Device descriptor

  • raw_data[out] Raw data

Returns:

ESP_OK on success

esp_err_t ads130e08_convert_raw_to_voltage(int16_t raw, uint8_t gain, float *volts)

Converts raw adc value to voltage.

Parameters:
  • raw – Raw adc value

  • gain – Channel gain

  • volts[out] Voltage value

Returns:

ESP_OK on success

esp_err_t ads130e08_set_fault_detect_control(ads130e08_t *dev, ads130e08_fault_threshold_t fault_mode)

Set fault detect control.

Parameters:
  • dev – Pointer to device descriptor

  • fault_mode – Fault mode

Returns:

ESP_OK on success

esp_err_t ads130e08_get_fault_detect_control(ads130e08_t *dev, ads130e08_fault_threshold_t *fault_mode)

Get fault detect control.

Parameters:
  • dev – Pointer to device descriptor

  • fault_mode[out] Fault mode

Returns:

ESP_OK on success

esp_err_t ads130e08_set_channel_config(ads130e08_t *dev, ads130e08_channel_t channel, ads130e08_channel_config_t config)

Set channel configuration.

Parameters:
  • dev – Pointer to device descriptor

  • channel – Channel

  • config – Channel configuration

Returns:

ESP_OK on success

esp_err_t ads130e08_get_channel_config(ads130e08_t *dev, ads130e08_channel_t channel, ads130e08_channel_config_t *config)

Get channel configuration.

Parameters:
  • dev – Pointer to device descriptor

  • channel – Channel

  • config[out] Channel configuration

Returns:

ESP_OK on success

esp_err_t ads130e08_set_gpio_pin_mode(ads130e08_t *dev, ads130e08_gpio_pin_t gpio_pin, ads130e08_gpio_mode_t gpio_mode)

Set GPIO pin mode.

Parameters:
  • dev – Pointer to device descriptor

  • gpio_pin – GPIO pin number

  • gpio_mode – GPIO pin mode

Returns:

ESP_OK on success

esp_err_t ads130e08_get_gpio_pin_mode(ads130e08_t *dev, ads130e08_gpio_pin_t gpio_pin, ads130e08_gpio_mode_t *gpio_mode)

Get GPIO pin mode.

Parameters:
  • dev – Pointer to device descriptor

  • gpio_pin – GPIO pin number

  • gpio_mode[out] GPIO pin mode

Returns:

ESP_OK on success

esp_err_t ads130e08_set_gpio_pin_level(ads130e08_t *dev, ads130e08_gpio_pin_t gpio_pin, ads130e08_gpio_level_t gpio_level)

Set GPIO pin level.

Parameters:
  • dev – Pointer to device descriptor

  • gpio_pin – GPIO pin number

  • gpio_level – GPIO pin level

Returns:

ESP_OK on success

esp_err_t ads130e08_get_gpio_pin_level(ads130e08_t *dev, ads130e08_gpio_pin_t gpio_pin, ads130e08_gpio_level_t *gpio_level)

Get GPIO pin level.

Parameters:
  • dev – Pointer to device descriptor

  • gpio_pin – GPIO pin number

  • gpio_level[out] GPIO pin level

Returns:

ESP_OK on success

esp_err_t ads130e08_detect_fault_auto(ads130e08_t *dev, uint8_t *fault_statp, uint8_t *fault_statn)

Run automatical fault detection cycle.

Parameters:
  • dev – Device descriptor

  • fault_statp[out] See datasheet

  • fault_statn[out] See datasheet

Returns:

ESP_OK on success

struct ads130e08_t
#include <ads130e08.h>

Device descriptor.

Public Members

spi_device_interface_config_t spi_cfg

SPI device configuration.

spi_device_handle_t spi_dev

SPI device handler.

struct ads130e08_dev_config_t
#include <ads130e08.h>

Device configuration.

struct ads130e08_channel_config_t
#include <ads130e08.h>

Channel configuration.

struct ads130e08_raw_data_t
#include <ads130e08.h>