mcp4725 - Driver for 12-bit DAC MCP4725¶
-
group
mcp4725
ESP-IDF Driver for 12-bit DAC MCP4725.
Ported from esp-open-rtos
Copyright (C) 2016, 2019 Ruslan V. Uss unclerus@gmail.com
BSD Licensed as described in the file LICENSE
Defines
-
MCP4725A0_I2C_ADDR0
¶
-
MCP4725A0_I2C_ADDR1
¶
-
MCP4725A1_I2C_ADDR0
¶
-
MCP4725A1_I2C_ADDR1
¶
-
MCP4725A2_I2C_ADDR0
¶
-
MCP4725A2_I2C_ADDR1
¶
-
MCP4725_MAX_VALUE
¶
Enums
-
enum
mcp4725_power_mode_t
¶ Power mode, see datasheet.
Values:
-
enumerator
MCP4725_PM_NORMAL
¶ Normal mode.
-
enumerator
MCP4725_PM_PD_1K
¶ Power down, 1kOhm resistor to ground.
-
enumerator
MCP4725_PM_PD_100K
¶ Power down, 100kOhm resistor to ground.
-
enumerator
MCP4725_PM_PD_500K
¶ Power down, 500kOhm resistor to ground.
-
enumerator
Functions
-
esp_err_t
mcp4725_init_desc
(i2c_dev_t *dev, i2c_port_t port, uint8_t addr, gpio_num_t sda_gpio, gpio_num_t scl_gpio)¶ Initialize device descriptor SCL frequency is 1MHz.
- Return
ESP_OK
on success- Parameters
dev
: I2C device descriptorport
: I2C port numberaddr
: I2C address,sda_gpio
: SDA GPIOscl_gpio
: SCL GPIO
-
esp_err_t
mcp4725_free_desc
(i2c_dev_t *dev)¶ Free device descriptor.
- Return
ESP_OK
on success- Parameters
dev
: I2C device descriptor
-
esp_err_t
mcp4725_eeprom_busy
(i2c_dev_t *dev, bool *busy)¶ Get device EEPROM status.
- Return
ESP_OK
on success- Parameters
dev
: I2C device descriptorbusy
: true when EEPROM is busy
-
esp_err_t
mcp4725_get_power_mode
(i2c_dev_t *dev, bool eeprom, mcp4725_power_mode_t *mode)¶ Get power mode.
- Return
ESP_OK
on success- Parameters
dev
: I2C device descriptoreeprom
: Read power mode from EEPROM if truemode
: Power mode
-
esp_err_t
mcp4725_set_power_mode
(i2c_dev_t *dev, bool eeprom, mcp4725_power_mode_t mode)¶ Set power mode.
- Return
ESP_OK
on success- Parameters
dev
: I2C device descriptormode
: Power modeeeprom
: Store mode to device EEPROM if true
-
esp_err_t
mcp4725_get_raw_output
(i2c_dev_t *dev, bool eeprom, uint16_t *value)¶ Get current DAC value.
- Return
ESP_OK
on success- Parameters
dev
: I2C device descriptoreeprom
: Read value from device EEPROM if truevalue
: Raw output value, 0..4095
-
esp_err_t
mcp4725_set_raw_output
(i2c_dev_t *dev, uint16_t value, bool eeprom)¶ Set DAC output value.
- Return
ESP_OK
on success- Parameters
dev
: I2C device descriptorvalue
: Raw output value, 0..4095eeprom
: Store value to device EEPROM if true
-
esp_err_t
mcp4725_get_voltage
(i2c_dev_t *dev, float vdd, bool eeprom, float *voltage)¶ Get current DAC output voltage.
- Return
ESP_OK
on success- Parameters
dev
: I2C device descriptorvdd
: Device operating voltage, voltseeprom
: Read voltage from device EEPROM if truevoltage
: Current output voltage, volts
-