mcp342x: Driver for 18-Bit, delta-sigma ADC MCP3426/MCP3427/MCP3428
Enums
- enum mcp342x_mode_t
Device operation mode.
Values:
- enumerator MCP342X_ONESHOT
One-shot conversion mode.
- enumerator MCP342X_CONTINUOUS
Continuous conversions mode, default.
- enum mcp342x_channel_t
Input channel.
Values:
- enumerator MCP342X_CHANNEL1
Channel 1, default.
- enumerator MCP342X_CHANNEL2
Channel 2.
- enumerator MCP342X_CHANNEL3
Channel 3 (MCP3428 only, treated as channel 1 by the MCP3426/MCP3427)
- enumerator MCP342X_CHANNEL4
Channel 4 (MCP3428 only, treated as channel 2 by the MCP3426/MCP3427)
Functions
- esp_err_t mcp342x_init_desc(mcp342x_t *dev, uint8_t addr, i2c_port_t port, gpio_num_t sda_gpio, gpio_num_t scl_gpio)
Initialize device descriptor.
- Parameters:
dev – Device descriptor
port – I2C port
addr – Device address
sda_gpio – SDA GPIO pin
scl_gpio – SCL GPIO pin
- Returns:
ESP_OK
on success
- esp_err_t mcp342x_free_desc(mcp342x_t *dev)
Free device descriptor.
- Parameters:
dev – Device descriptor
- Returns:
ESP_OK
on success
- esp_err_t mcp342x_set_config(mcp342x_t *dev)
Configure device.
- Parameters:
dev – Device descriptor
- Returns:
ESP_OK
on success
- esp_err_t mcp342x_get_config(mcp342x_t *dev)
Read device configuration.
- Parameters:
dev – Device descriptor
- Returns:
ESP_OK
on success
- esp_err_t mcp342x_get_sample_time_us(mcp342x_t *dev, uint32_t *us)
Get conversion time in microseconds.
- Parameters:
dev – Device descriptor
us – [out] Conversion time, us
- Returns:
ESP_OK
on success
- esp_err_t mcp342x_start_conversion(mcp342x_t *dev)
Start conversion.
- Parameters:
dev – Device descriptor
- Returns:
ESP_OK
on success
- esp_err_t mcp342x_get_data(mcp342x_t *dev, int32_t *data, bool *ready)
Get raw ADC value.
- Parameters:
dev – Device descriptor
data – [out] ADC value
ready – [out] Data validity flag
- Returns:
ESP_OK
on success
- struct mcp342x_t
#include <mcp342x.h>Device descriptor.
Public Members
- i2c_dev_t i2c_dev
I2C device descriptor.
- mcp342x_mode_t mode
Operational mode.
- mcp342x_channel_t channel
Input channel.
- mcp342x_resolution_t resolution
Resolution.
- mcp342x_gain_t gain
PGA gain.