no-OS
|
Header file for ada4250 Driver. More...
#include <stdint.h>
#include <math.h>
#include <stdbool.h>
#include "no_os_spi.h"
#include "no_os_gpio.h"
#include "no_os_util.h"
Go to the source code of this file.
Classes | |
struct | ada4250_init_param |
ADA4250 Initialization Parameters structure. More... | |
struct | ada4250_dev |
ADA4250 Device Descriptor. More... | |
Enumerations | |
enum | ada4250_id { ADA4230, ADA4250 } |
Current bias settings. More... | |
enum | ada4250_bias { ADA4250_BIAS_DISABLE, ADA4250_BIAS_BANDGAP_REF, ADA4250_BIAS_AVDD } |
Current bias settings. More... | |
enum | ada4250_offset_range { ADA4250_RANGE1, ADA4250_RANGE2, ADA4250_RANGE3, ADA4250_RANGE4 } |
Sensor offset trim range. More... | |
enum | ada4250_gain { ADA4250_GAIN_1, ADA4250_GAIN_2, ADA4250_GAIN_4, ADA4250_GAIN_8, ADA4250_GAIN_16, ADA4250_GAIN_32, ADA4250_GAIN_64, ADA4250_GAIN_128 } |
Gain value. More... | |
enum | ada4250_bandwidth { ADA4250_BANDWIDTH_LOW, ADA4250_BANDWIDTH_HIGH } |
Bandwidth modes. More... | |
enum | ada4250_power_mode { ADA4250_POWER_NORMAL, ADA4250_POWER_SLEEP, ADA4250_POWER_SHUTDOWN } |
Power Modes. More... | |
Functions | |
int32_t | ada4250_write (struct ada4250_dev *dev, uint8_t reg_addr, uint8_t data) |
Writes data to ada4250 over SPI. More... | |
int32_t | ada4250_read (struct ada4250_dev *dev, uint8_t reg_addr, uint8_t *data) |
Reads data from ada4250 over SPI. More... | |
int32_t | ada4250_update (struct ada4250_dev *dev, uint8_t reg_addr, uint8_t mask, uint8_t data) |
Update ADA4250 register. More... | |
int32_t | ada4250_update_desc (struct ada4250_dev *dev) |
Update ADA4250 device descriptor. More... | |
int32_t | ada4250_soft_reset (struct ada4250_dev *dev) |
Software reset. More... | |
int32_t | ada4250_en_refbuf (struct ada4250_dev *dev, bool refbuf) |
Enable/Disable Reference Buffer. More... | |
int32_t | ada4250_set_bias (struct ada4250_dev *dev, enum ada4250_bias bias) |
Set current bias for ADA4250. More... | |
int32_t | ada4250_set_gain (struct ada4250_dev *dev, enum ada4250_gain gain) |
Set gain for ADA4250. More... | |
int32_t | ada4250_set_offset (struct ada4250_dev *dev, int64_t offset) |
Set offset value for ADA4250. More... | |
int32_t | ada4250_set_bandwidth (struct ada4250_dev *dev, enum ada4250_bandwidth bw) |
Set the bandwidth value for ADA4250. More... | |
int32_t | ada4250_set_slp_shtdwn_mode (struct ada4250_dev *dev, enum ada4250_power_mode pwrmode) |
Set the ADA4250 into sleep or shutdown mode. More... | |
int32_t | ada4250_set_normal_mode (struct ada4250_dev *dev, bool reconfig) |
Sets the ADA4250 into normal mode and reconfigures it according to the user input. More... | |
int32_t | ada4250_init (struct ada4250_dev **device, struct ada4250_init_param *init_param) |
Initialize the ADA4250 device. More... | |
int32_t | ada4250_remove (struct ada4250_dev *dev) |
Free resoulces allocated for ADA4250. More... | |
Header file for ada4250 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 ADA4250_BIAS_SET | ( | x | ) | no_os_field_prep(ADA4250_BIAS_SET_MSK, x) |
#define ADA4250_BIAS_SET_MSK NO_OS_GENMASK(3, 2) |
#define ADA4250_BUF_DISABLE 0x00 |
#define ADA4250_BUF_ENABLE 0x01 |
#define ADA4250_BUFF_SIZE_BYTES 2 |
#define ADA4250_CHIP_ID 0x4250 |
#define ADA4250_DIE_REV 0x0 |
#define ADA4250_GAIN_MUX | ( | x | ) | no_os_field_prep(ADA4250_GAIN_MUX_MSK, x) |
#define ADA4250_GAIN_MUX_MSK NO_OS_GENMASK(2, 0) |
#define ADA4250_RANGE_SET | ( | x | ) | no_os_field_prep(ADA4250_RANGE_SET_MSK, x) |
#define ADA4250_RANGE_SET_MSK NO_OS_GENMASK(1, 0) |
#define ADA4250_REFBUF | ( | x | ) | no_os_field_prep(ADA4250_REFBUF_MSK, x) |
#define ADA4250_REFBUF_MSK NO_OS_BIT(0) |
#define ADA4250_REG_CHIP_ID1 0x19 |
#define ADA4250_REG_CHIP_ID2 0x1a |
#define ADA4250_REG_DIE_REV 0x18 |
#define ADA4250_REG_GAIN_MUX 0x00 |
#define ADA4250_REG_REFBUF_EN 0x01 |
#define ADA4250_REG_RESET 0x02 |
#define ADA4250_REG_SNSR_CAL_CNFG 0x05 |
#define ADA4250_REG_SNSR_CAL_VAL 0x04 |
#define ADA4250_RESET | ( | x | ) | no_os_field_prep(ADA4250_RESET_MSK, x) |
#define ADA4250_RESET_DISABLE 0x00 |
#define ADA4250_RESET_ENABLE 0x01 |
#define ADA4250_RESET_MSK NO_OS_BIT(0) |
#define ADA4250_SNSR_CAL_VAL | ( | x | ) | no_os_field_prep(ADA4250_SNSR_CAL_VAL_MSK, x) |
#define ADA4250_SNSR_CAL_VAL_MSK NO_OS_GENMASK(7, 0) |
#define ADA4250_SPI_DUMMY_DATA 0x00 |
#define ADA4250_SPI_READ_CMD NO_OS_BIT(7) |
#define ADA4250_SPI_WRITE_CMD 0x0 |
enum ada4250_bandwidth |
enum ada4250_bias |
enum ada4250_gain |
enum ada4250_id |
enum ada4250_offset_range |
enum ada4250_power_mode |
int32_t ada4250_en_refbuf | ( | struct ada4250_dev * | dev, |
bool | refbuf | ||
) |
Enable/Disable Reference Buffer.
dev | - The device structure. |
refbuf | - REFBUF enable/disable. |
int32_t ada4250_init | ( | struct ada4250_dev ** | device, |
struct ada4250_init_param * | init_param | ||
) |
Initialize the ADA4250 device.
device | - The device structure. |
init_param | - The structure containing the device initial parameters. |
int32_t ada4250_read | ( | struct ada4250_dev * | dev, |
uint8_t | reg_addr, | ||
uint8_t * | data | ||
) |
Reads data from ada4250 over SPI.
ADA4250 SPI Read
dev | - The device structure. |
reg_addr | - The register address. |
data | - Data read from the device. |
int32_t ada4250_remove | ( | struct ada4250_dev * | dev | ) |
Free resoulces allocated for ADA4250.
ADA4250 Resources Deallocation
dev | - The device structure. |
int32_t ada4250_set_bandwidth | ( | struct ada4250_dev * | dev, |
enum ada4250_bandwidth | bw | ||
) |
Set the bandwidth value for ADA4250.
dev | - The device structure. |
bw | - Bandwidth value. |
int32_t ada4250_set_bias | ( | struct ada4250_dev * | dev, |
enum ada4250_bias | bias | ||
) |
Set current bias for ADA4250.
dev | - The device structure. |
bias | - Current bias option. |
int32_t ada4250_set_gain | ( | struct ada4250_dev * | dev, |
enum ada4250_gain | gain | ||
) |
Set gain for ADA4250.
dev | - The device structure. |
gain | - Gain Value. |
int32_t ada4250_set_normal_mode | ( | struct ada4250_dev * | dev, |
bool | reconfig | ||
) |
Sets the ADA4250 into normal mode and reconfigures it according to the user input.
dev | - The device structure. |
reconfig | - Reconfiguration enable/disable. |
int32_t ada4250_set_offset | ( | struct ada4250_dev * | dev, |
int64_t | offset | ||
) |
Set offset value for ADA4250.
dev | - The device structure. |
offset | - Offset Value in nV. |
int32_t ada4250_set_slp_shtdwn_mode | ( | struct ada4250_dev * | dev, |
enum ada4250_power_mode | pwrmode | ||
) |
Set the ADA4250 into sleep or shutdown mode.
dev | - The device structure. |
pwrmode | - Power mode option. |
int32_t ada4250_soft_reset | ( | struct ada4250_dev * | dev | ) |
Software reset.
dev | - The device structure. |
int32_t ada4250_update | ( | struct ada4250_dev * | dev, |
uint8_t | reg_addr, | ||
uint8_t | mask, | ||
uint8_t | data | ||
) |
Update ADA4250 register.
dev | - The device structure. |
reg_addr | - The register address. |
mask | - Mask for specific register bits to be updated. |
data | - Data read from the device. |
int32_t ada4250_update_desc | ( | struct ada4250_dev * | dev | ) |
Update ADA4250 device descriptor.
dev | - The device structure. |
int32_t ada4250_write | ( | struct ada4250_dev * | dev, |
uint8_t | reg_addr, | ||
uint8_t | data | ||
) |
Writes data to ada4250 over SPI.
ADA4250 SPI write
dev | - The device structure. |
reg_addr | - The register address. |
data | - Data value to write. |