no-OS
|
Header file for the ad7689 driver. More...
Go to the source code of this file.
Classes | |
struct | ad7689_config |
AD7689 configuration. More... | |
struct | ad7689_init_param |
struct | ad7689_dev |
Macros | |
#define | AD7689_CFG_CFG_MSK NO_OS_BIT(13) |
#define | AD7689_CFG_INCC_MSK NO_OS_GENMASK(12,10) |
#define | AD7689_CFG_INX_MSK NO_OS_GENMASK(9,7) |
#define | AD7689_CFG_BW_MSK NO_OS_BIT(6) |
#define | AD7689_CFG_REF_MSK NO_OS_GENMASK(5,3) |
#define | AD7689_CFG_SEQ_MSK NO_OS_GENMASK(2,1) |
#define | AD7689_CFG_RB_MSK NO_OS_BIT(0) |
Enumerations | |
enum | ad7689_device_id { ID_AD7689, ID_AD7682, ID_AD7949, ID_AD7699 } |
Device ID definitions. More... | |
enum | ad7689_incc { AD7689_BIPOLAR_DIFFERENTIAL_PAIRS = 0x1, AD7689_BIPOLAR_COM, AD7689_TEMPERATURE_SENSOR, AD7689_UNIPOLAR_DIFFERENTIAL_PAIRS = 0x5, AD7689_UNIPOLAR_COM, AD7689_UNIPOLAR_GND } |
Input channel configuration. More... | |
enum | ad7689_bw { AD7689_BW_QUARTER, AD7689_BW_FULL } |
Low-pass filter bandwidth selection. More... | |
enum | ad7689_ref { AD7689_REF_INTERNAL_2p5V, AD7689_REF_INTERNAL_4p096V, AD7689_REF_EXTERNAL_TEMP, AD7689_REF_EXTERNAL_TEMP_IBUF, AD7689_REF_EXTERNAL = 0x6, AD7689_REF_IBUF } |
Reference/buffer selection. More... | |
enum | ad7689_seq { AD7689_SEQ_DISABLE, AD7689_SEQ_UPDATE_CFG, AD7689_SEQ_SCAN_ALL_THEN_TEMP, AD7689_SEQ_SCAN_ALL } |
Channel sequencer configuration. More... | |
Functions | |
int32_t | ad7689_init (struct ad7689_dev **dev, struct ad7689_init_param *init_param) |
Initialize the ad7689 driver and create a descriptor. More... | |
int32_t | ad7689_write_config (struct ad7689_dev *dev, struct ad7689_config *config) |
Write the device's CFG register. More... | |
int32_t | ad7689_read_config (struct ad7689_dev *dev, struct ad7689_config *config) |
Read the device's CFG register. More... | |
int32_t | ad7689_read (struct ad7689_dev *dev, uint16_t *data, uint32_t nb_samples) |
Read ADC samples. More... | |
int32_t | ad7689_remove (struct ad7689_dev *dev) |
Remove the driver's descriptor by freeing the associated resources. More... | |
Header file for the ad7689 driver.
Copyright 2021(c) Analog Devices, Inc.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
THIS SOFTWARE IS PROVIDED BY ANALOG DEVICES, INC. “AS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL ANALOG DEVICES, INC. BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#define AD7689_CFG_BW_MSK NO_OS_BIT(6) |
#define AD7689_CFG_CFG_MSK NO_OS_BIT(13) |
#define AD7689_CFG_INCC_MSK NO_OS_GENMASK(12,10) |
#define AD7689_CFG_INX_MSK NO_OS_GENMASK(9,7) |
#define AD7689_CFG_RB_MSK NO_OS_BIT(0) |
#define AD7689_CFG_REF_MSK NO_OS_GENMASK(5,3) |
#define AD7689_CFG_SEQ_MSK NO_OS_GENMASK(2,1) |
enum ad7689_bw |
enum ad7689_device_id |
enum ad7689_incc |
Input channel configuration.
enum ad7689_ref |
Reference/buffer selection.
enum ad7689_seq |
int32_t ad7689_init | ( | struct ad7689_dev ** | dev, |
struct ad7689_init_param * | init_param | ||
) |
Initialize the ad7689 driver and create a descriptor.
dev | - Device descriptor to create. |
init_param | - Initialization parameters. |
int32_t ad7689_read | ( | struct ad7689_dev * | dev, |
uint16_t * | data, | ||
uint32_t | nb_samples | ||
) |
Read ADC samples.
This function uses the RAC mode to perform the SPI transactions.
dev | - Device descriptor. |
data | - pointer to a large enough buffer where the data gets stored. |
nb_samples | - Number of samples to read. |
int32_t ad7689_read_config | ( | struct ad7689_dev * | dev, |
struct ad7689_config * | config | ||
) |
Read the device's CFG register.
If the readback is enabled when making this call, one SPI transaction is enough to retrieve the CFG register.
If the readback is disabled when making this call, it is temporarily enabled, then disabled back. 3 SPI transactions are needed to retrieve the CFG register.
dev | - Device descriptor. |
config | - pointer to location where the read configuration gets stored. |
int32_t ad7689_remove | ( | struct ad7689_dev * | dev | ) |
Remove the driver's descriptor by freeing the associated resources.
dev | - Device descriptor. |
int32_t ad7689_write_config | ( | struct ad7689_dev * | dev, |
struct ad7689_config * | config | ||
) |
Write the device's CFG register.
dev | - Device descriptor. |
config | - Configuration to write. |