Maxim Integrated 7-bit Sink/Source Current DAC. DS4424, DS4422 input/output current Digital-to-Analog Converter Driver/library code.
Dependents: DS4424_Hello_Current_DAC_on_MAX32630FTHR
DS4424 Class Reference
Four/two Channel I2C Sink/Source Current DAC. More...
#include <DS4424.h>
Public Types | |
enum | DS4424_ic_t |
IC's supported with this driver. More... | |
enum | DS4424_i2c_adrs_t |
Valid 7-bit I2C addresses. More... | |
enum | ChannelRegAddr_e |
Register Addresses. More... | |
Public Member Functions | |
DS4424 (I2C &i2c_bus, DS4424_i2c_adrs_t slaveAddress, DS4424_ic_t ic_variant) | |
Constructor for DS4424 Class. | |
~DS4424 () | |
Default destructor for DS4424 Class. | |
int | read_raw (int32_t &result, ChannelRegAddr_e chan_addr) |
Read raw value of a channel using two's complement. | |
int | read_hw_raw (uint8_t &result, ChannelRegAddr_e chan_addr) |
Read raw value of a channel, using the hardware format. | |
int | write_raw (int32_t value, ChannelRegAddr_e chan_addr) |
Write two's complement raw value to a channel. | |
int | write_hw_raw (uint8_t value, ChannelRegAddr_e chan_addr) |
Write raw value to a channel, using the hardware format. | |
int | convert_picoAmps_to_hw_raw (uint8_t *val_out, int32_t picoAmps, uint32_t rfs_resistor) |
Convert picoAmps to raw values. | |
int | convert_raw_to_picoAmps (int32_t *val_out, int8_t raw_in, uint32_t rfs_resistor) |
Convert raw values to picoAmps. | |
Protected Member Functions | |
int | read_register (uint8_t &value, ChannelRegAddr_e reg) |
Read register of device at slave address. | |
int | write_register (ChannelRegAddr_e reg, uint8_t value) |
Write register of device at slave address. |
Detailed Description
Four/two Channel I2C Sink/Source Current DAC.
- Version:
- 1.0000.301
The DS4424/DS422 contains four/two I2C programmable current DACs. This driver enables the writing of source/since values to the channel registers.
#include "mbed.h" #include "DS4424.h" #include "max32630fthr.h" MAX32630FTHR pegasus(MAX32630FTHR::VIO_3V3); I2C i2cBus(P3_4, P3_5); DS4424 ds4424_dac(i2cBus, DS4424::DS4424_I2C_SLAVE_ADRS0, DS4424::DS4424_IC); int main() { int32_t value[4]={0,0,0,0}; int ret; i2cBus.frequency(400000); // read channel 0 register ret = ds4424_dac.read_raw(value[0], DS4424::REG_OUT0); //... rest of application }
Definition at line 86 of file DS4424.h.
Member Enumeration Documentation
enum ChannelRegAddr_e |
enum DS4424_i2c_adrs_t |
enum DS4424_ic_t |
Constructor & Destructor Documentation
DS4424 | ( | I2C & | i2c_bus, |
DS4424_i2c_adrs_t | slaveAddress, | ||
DS4424_ic_t | ic_variant | ||
) |
Constructor for DS4424 Class.
Allows user to use existing I2C object
On Entry:
- Parameters:
-
[in] i2c_bus - pointer to existing I2C object [in] i2c_adrs - 7-bit slave address of DS4424 [in] ic_variant - which type of DS44xx is used
On Exit:
- Returns:
- None
Definition at line 57 of file DS4424.cpp.
~DS4424 | ( | void | ) |
Default destructor for DS4424 Class.
Destroys I2C object if owner
On Entry:
On Exit:
- Returns:
- None
empty block
Definition at line 77 of file DS4424.cpp.
Member Function Documentation
int convert_picoAmps_to_hw_raw | ( | uint8_t * | val_out, |
int32_t | picoAmps, | ||
uint32_t | rfs_resistor | ||
) |
Convert picoAmps to raw values.
- Parameters:
-
*val_out - 8-bit raw value picoAmps - signed value in picoAmps Negative values are sink; Positive values are source. rfs_resistor - external resistor values in Ohms
- Returns:
- 0 on success, negative number on failure
Definition at line 169 of file DS4424.cpp.
int convert_raw_to_picoAmps | ( | int32_t * | val_out, |
int8_t | raw_in, | ||
uint32_t | rfs_resistor | ||
) |
Convert raw values to picoAmps.
- Parameters:
-
*val_out - value in picoAmps raw_in - 8 bit raw value, two's complement Negative values are sink; Positive values are source. rfs_resistor - external resistor values in Ohms
- Returns:
- 0 on success, negative number on failure
Definition at line 210 of file DS4424.cpp.
int read_hw_raw | ( | uint8_t & | result, |
ChannelRegAddr_e | chan_addr | ||
) |
Read raw value of a channel, using the hardware format.
- Parameters:
-
*result - Value that is read from the register. MSb is 0 for sink; MSb is 1 for source. chan_addr - Channel 0 to 3
- Returns:
- 0 on success, negative number on failure
Definition at line 107 of file DS4424.cpp.
int read_raw | ( | int32_t & | result, |
ChannelRegAddr_e | chan_addr | ||
) |
Read raw value of a channel using two's complement.
- Parameters:
-
result - Value that is read from the register Negative values are sink; Positive values are source. chan_addr - Channel 0 to 3
- Returns:
- 0 on success, negative number on failure
Sinking will be negative values
Definition at line 84 of file DS4424.cpp.
int read_register | ( | uint8_t & | value, |
ChannelRegAddr_e | reg | ||
) | [protected] |
Read register of device at slave address.
- Parameters:
-
[out] value - Read data on success reg - Register address
- Returns:
- 0 on success, negative number on failure
Definition at line 233 of file DS4424.cpp.
int write_hw_raw | ( | uint8_t | value, |
ChannelRegAddr_e | chan_addr | ||
) |
Write raw value to a channel, using the hardware format.
- Parameters:
-
value - Value that is stored to the register MSb is 0 for sink; MSb is 1 for source. chan_addr - Channel 0 to 3
- Returns:
- 0 on success, negative number on failure
Definition at line 153 of file DS4424.cpp.
int write_raw | ( | int32_t | value, |
ChannelRegAddr_e | chan_addr | ||
) |
Write two's complement raw value to a channel.
- Parameters:
-
value - Two's complement value that is stored to the register. Sink values are negative. chan_addr - Channel 0 to 3
- Returns:
- 0 on success, negative number on failure
Definition at line 123 of file DS4424.cpp.
int write_register | ( | ChannelRegAddr_e | reg, |
uint8_t | value | ||
) | [protected] |
Write register of device at slave address.
- Parameters:
-
reg - Register address value - Value to write
- Returns:
- 0 on success, negative number on failure
Definition at line 258 of file DS4424.cpp.
Generated on Fri Jul 15 2022 23:08:09 by
