45#define ADA4250_REG_GAIN_MUX 0x00
46#define ADA4250_REG_REFBUF_EN 0x01
47#define ADA4250_REG_RESET 0x02
48#define ADA4250_REG_SNSR_CAL_VAL 0x04
49#define ADA4250_REG_SNSR_CAL_CNFG 0x05
50#define ADA4250_REG_DIE_REV 0x18
51#define ADA4250_REG_CHIP_ID1 0x19
52#define ADA4250_REG_CHIP_ID2 0x1a
55#define ADA4250_GAIN_MUX_MSK NO_OS_GENMASK(2, 0)
56#define ADA4250_GAIN_MUX(x) no_os_field_prep(ADA4250_GAIN_MUX_MSK, x)
59#define ADA4250_REFBUF_MSK NO_OS_BIT(0)
60#define ADA4250_REFBUF(x) no_os_field_prep(ADA4250_REFBUF_MSK, x)
63#define ADA4250_BUF_ENABLE 0x01
64#define ADA4250_BUF_DISABLE 0x00
67#define ADA4250_RESET_MSK NO_OS_BIT(0)
68#define ADA4250_RESET(x) no_os_field_prep(ADA4250_RESET_MSK, x)
71#define ADA4250_RESET_ENABLE 0x01
72#define ADA4250_RESET_DISABLE 0x00
75#define ADA4250_SNSR_CAL_VAL_MSK NO_OS_GENMASK(7, 0)
76#define ADA4250_SNSR_CAL_VAL(x) no_os_field_prep(ADA4250_SNSR_CAL_VAL_MSK, x)
79#define ADA4250_BIAS_SET_MSK NO_OS_GENMASK(3, 2)
80#define ADA4250_BIAS_SET(x) no_os_field_prep(ADA4250_BIAS_SET_MSK, x)
81#define ADA4250_RANGE_SET_MSK NO_OS_GENMASK(1, 0)
82#define ADA4250_RANGE_SET(x) no_os_field_prep(ADA4250_RANGE_SET_MSK, x)
85#define ADA4250_SPI_WRITE_CMD 0x0
86#define ADA4250_BUFF_SIZE_BYTES 2
87#define ADA4250_SPI_READ_CMD NO_OS_BIT(7)
88#define ADA4250_DIE_REV 0x0
89#define ADA4250_CHIP_ID 0x4250
92#define ADA4250_SPI_DUMMY_DATA 0x00
234 uint8_t mask, uint8_t data);
struct ad7616_init_param init_param
Definition ad7616_sdz.c:107
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.
Definition ada4250.c:462
ada4250_id
Current bias settings.
Definition ada4250.h:98
@ ADA4230
Definition ada4250.h:99
@ ADA4250
Definition ada4250.h:100
int32_t ada4250_update_desc(struct ada4250_dev *dev)
Update ADA4250 device descriptor.
Definition ada4250.c:125
int32_t ada4250_en_refbuf(struct ada4250_dev *dev, bool refbuf)
Enable/Disable Reference Buffer.
Definition ada4250.c:192
int32_t ada4250_set_slp_shtdwn_mode(struct ada4250_dev *dev, enum ada4250_power_mode pwrmode)
Set the ADA4250 into sleep or shutdown mode.
Definition ada4250.c:429
int32_t ada4250_update(struct ada4250_dev *dev, uint8_t reg_addr, uint8_t mask, uint8_t data)
Update ADA4250 register.
Definition ada4250.c:99
int32_t ada4250_set_bandwidth(struct ada4250_dev *dev, enum ada4250_bandwidth bw)
Set the bandwidth value for ADA4250.
Definition ada4250.c:356
ada4250_power_mode
Power Modes.
Definition ada4250.h:152
@ ADA4250_POWER_SHUTDOWN
Definition ada4250.h:155
@ ADA4250_POWER_NORMAL
Definition ada4250.h:153
@ ADA4250_POWER_SLEEP
Definition ada4250.h:154
int32_t ada4250_soft_reset(struct ada4250_dev *dev)
Software reset.
Definition ada4250.c:154
ada4250_bias
Current bias settings.
Definition ada4250.h:107
@ ADA4250_BIAS_DISABLE
Definition ada4250.h:108
@ ADA4250_BIAS_BANDGAP_REF
Definition ada4250.h:109
@ ADA4250_BIAS_AVDD
Definition ada4250.h:110
ada4250_bandwidth
Bandwidth modes.
Definition ada4250.h:143
@ ADA4250_BANDWIDTH_HIGH
Definition ada4250.h:145
@ ADA4250_BANDWIDTH_LOW
Definition ada4250.h:144
int32_t ada4250_remove(struct ada4250_dev *dev)
Free resoulces allocated for ADA4250.
Definition ada4250.c:651
ada4250_gain
Gain value.
Definition ada4250.h:128
@ ADA4250_GAIN_128
Definition ada4250.h:136
@ ADA4250_GAIN_4
Definition ada4250.h:131
@ ADA4250_GAIN_8
Definition ada4250.h:132
@ ADA4250_GAIN_16
Definition ada4250.h:133
@ ADA4250_GAIN_32
Definition ada4250.h:134
@ ADA4250_GAIN_64
Definition ada4250.h:135
@ ADA4250_GAIN_1
Definition ada4250.h:129
@ ADA4250_GAIN_2
Definition ada4250.h:130
int32_t ada4250_write(struct ada4250_dev *dev, uint8_t reg_addr, uint8_t data)
Writes data to ada4250 over SPI.
Definition ada4250.c:48
ada4250_offset_range
Sensor offset trim range.
Definition ada4250.h:117
@ ADA4250_RANGE3
Definition ada4250.h:120
@ ADA4250_RANGE1
Definition ada4250.h:118
@ ADA4250_RANGE2
Definition ada4250.h:119
@ ADA4250_RANGE4
Definition ada4250.h:121
int32_t ada4250_set_gain(struct ada4250_dev *dev, enum ada4250_gain gain)
Set gain for ADA4250.
Definition ada4250.c:266
int32_t ada4250_read(struct ada4250_dev *dev, uint8_t reg_addr, uint8_t *data)
Reads data from ada4250 over SPI.
Definition ada4250.c:70
int32_t ada4250_set_offset(struct ada4250_dev *dev, int64_t offset)
Set offset value for ADA4250.
Definition ada4250.c:298
int32_t ada4250_set_bias(struct ada4250_dev *dev, enum ada4250_bias bias)
Set current bias for ADA4250.
Definition ada4250.c:221
int32_t ada4250_init(struct ada4250_dev **device, struct ada4250_init_param *init_param)
Initialize the ADA4250 device.
Definition ada4250.c:509
Header file of GPIO Interface.
Header file of SPI Interface.
Header file of utility functions.
ADA4250 Device Descriptor.
Definition ada4250.h:193
bool refbuf_en
Definition ada4250.h:209
struct no_os_spi_desc * spi_desc
Definition ada4250.h:197
enum ada4250_id device_id
Definition ada4250.h:195
enum ada4250_bandwidth bandwidth
Definition ada4250.h:217
enum ada4250_power_mode power_mode
Definition ada4250.h:219
int32_t offset_nv
Definition ada4250.h:221
struct no_os_gpio_desc * gpio_shtdwn
Definition ada4250.h:205
struct no_os_gpio_desc * gpio_bw
Definition ada4250.h:202
struct no_os_gpio_desc * gpio_g2
Definition ada4250.h:199
struct no_os_gpio_desc * gpio_slp
Definition ada4250.h:204
struct no_os_gpio_desc * gpio_g0
Definition ada4250.h:201
struct no_os_gpio_desc * gpio_bufen
Definition ada4250.h:203
struct no_os_gpio_desc * gpio_g1
Definition ada4250.h:200
enum ada4250_offset_range offset_range
Definition ada4250.h:213
int32_t avdd_v
Definition ada4250.h:207
enum ada4250_gain gain
Definition ada4250.h:211
enum ada4250_bias bias
Definition ada4250.h:215
ADA4250 Initialization Parameters structure.
Definition ada4250.h:162
enum ada4250_id device_id
Definition ada4250.h:164
enum ada4250_bandwidth bandwidth
Definition ada4250.h:184
struct no_os_gpio_init_param * gpio_bufen_param
Definition ada4250.h:172
struct no_os_gpio_init_param * gpio_g0_param
Definition ada4250.h:170
bool refbuf_en
Definition ada4250.h:178
struct no_os_gpio_init_param * gpio_bw_param
Definition ada4250.h:171
int32_t avdd_v
Definition ada4250.h:176
struct no_os_gpio_init_param * gpio_slp
Definition ada4250.h:173
struct no_os_gpio_init_param * gpio_shtdwn
Definition ada4250.h:174
int32_t offset_nv
Definition ada4250.h:186
struct no_os_gpio_init_param * gpio_g1_param
Definition ada4250.h:169
struct no_os_gpio_init_param * gpio_g2_param
Definition ada4250.h:168
enum ada4250_bias bias
Definition ada4250.h:182
enum ada4250_gain gain
Definition ada4250.h:180
struct no_os_spi_init_param * spi_init
Definition ada4250.h:166
Definition ad9361_util.h:63
Structure holding the GPIO descriptor.
Definition no_os_gpio.h:84
Structure holding the parameters for GPIO initialization.
Definition no_os_gpio.h:67
Structure holding SPI descriptor.
Definition no_os_spi.h:180
Structure holding the parameters for SPI initialization.
Definition no_os_spi.h:128