Go to the documentation of this file.
58 #define ADA4250_REG_GAIN_MUX 0x00
59 #define ADA4250_REG_REFBUF_EN 0x01
60 #define ADA4250_REG_RESET 0x02
61 #define ADA4250_REG_SNSR_CAL_VAL 0x04
62 #define ADA4250_REG_SNSR_CAL_CNFG 0x05
63 #define ADA4250_REG_DIE_REV 0x18
64 #define ADA4250_REG_CHIP_ID1 0x19
65 #define ADA4250_REG_CHIP_ID2 0x1a
68 #define ADA4250_GAIN_MUX_MSK NO_OS_GENMASK(2, 0)
69 #define ADA4250_GAIN_MUX(x) no_os_field_prep(ADA4250_GAIN_MUX_MSK, x)
72 #define ADA4250_REFBUF_MSK NO_OS_BIT(0)
73 #define ADA4250_REFBUF(x) no_os_field_prep(ADA4250_REFBUF_MSK, x)
76 #define ADA4250_BUF_ENABLE 0x01
77 #define ADA4250_BUF_DISABLE 0x00
80 #define ADA4250_RESET_MSK NO_OS_BIT(0)
81 #define ADA4250_RESET(x) no_os_field_prep(ADA4250_RESET_MSK, x)
84 #define ADA4250_RESET_ENABLE 0x01
85 #define ADA4250_RESET_DISABLE 0x00
88 #define ADA4250_SNSR_CAL_VAL_MSK NO_OS_GENMASK(7, 0)
89 #define ADA4250_SNSR_CAL_VAL(x) no_os_field_prep(ADA4250_SNSR_CAL_VAL_MSK, x)
92 #define ADA4250_BIAS_SET_MSK NO_OS_GENMASK(3, 2)
93 #define ADA4250_BIAS_SET(x) no_os_field_prep(ADA4250_BIAS_SET_MSK, x)
94 #define ADA4250_RANGE_SET_MSK NO_OS_GENMASK(1, 0)
95 #define ADA4250_RANGE_SET(x) no_os_field_prep(ADA4250_RANGE_SET_MSK, x)
98 #define ADA4250_SPI_WRITE_CMD 0x0
99 #define ADA4250_BUFF_SIZE_BYTES 2
100 #define ADA4250_SPI_READ_CMD NO_OS_BIT(7)
101 #define ADA4250_DIE_REV 0x0
102 #define ADA4250_CHIP_ID 0x4250
105 #define ADA4250_SPI_DUMMY_DATA 0x00
255 uint8_t mask, uint8_t data);
struct no_os_gpio_init_param * gpio_g2_param
Definition: ada4250.h:185
#define ADA4250_RESET_MSK
Definition: ada4250.h:80
int32_t ada4250_set_bias(struct ada4250_dev *dev, enum ada4250_bias bias)
Set current bias for ADA4250.
Definition: ada4250.c:233
@ ADA4250_GAIN_128
Definition: ada4250.h:153
uint32_t timeout
Definition: ad413x.c:55
Structure holding the parameters for GPIO initialization.
Definition: no_os_gpio.h:85
@ ADA4250
Definition: ada4250.h:117
int32_t ada4250_read(struct ada4250_dev *dev, uint8_t reg_addr, uint8_t *data)
Reads data from ada4250 over SPI.
Definition: ada4250.c:82
int32_t ada4250_remove(struct ada4250_dev *dev)
Free resoulces allocated for ADA4250.
Definition: ada4250.c:663
struct no_os_gpio_desc * gpio_slp
Definition: ada4250.h:221
@ ADA4250_BIAS_BANDGAP_REF
Definition: ada4250.h:126
int32_t no_os_spi_write_and_read(struct no_os_spi_desc *desc, uint8_t *data, uint16_t bytes_number)
Write and read data to/from SPI.
Definition: no_os_spi.c:165
ADA4250 Initialization Parameters structure.
Definition: ada4250.h:179
@ ADA4250_RANGE2
Definition: ada4250.h:136
Header file of SPI Interface.
@ ADA4250_POWER_SHUTDOWN
Definition: ada4250.h:172
#define ADA4250_REFBUF(x)
Definition: ada4250.h:73
#define ADA4250_GAIN_MUX_MSK
Definition: ada4250.h:68
enum ada4250_power_mode power_mode
Definition: ada4250.h:236
@ ADA4250_BIAS_AVDD
Definition: ada4250.h:127
struct no_os_spi_desc * spi_desc
Definition: ada4250.h:214
int32_t ada4250_set_offset(struct ada4250_dev *dev, int64_t offset)
Set offset value for ADA4250.
Definition: ada4250.c:310
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:441
int32_t ada4250_update(struct ada4250_dev *dev, uint8_t reg_addr, uint8_t mask, uint8_t data)
Update ADA4250 register.
Definition: ada4250.c:111
#define ADA4250_BUFF_SIZE_BYTES
Definition: ada4250.h:99
bool refbuf_en
Definition: ada4250.h:226
#define ADA4250_RESET(x)
Definition: ada4250.h:81
ada4250_id
Current bias settings.
Definition: ada4250.h:115
struct no_os_gpio_desc * gpio_g2
Definition: ada4250.h:216
Header file of Delay functions.
enum ada4250_bias bias
Definition: ada4250.h:232
int32_t offset_nv
Definition: ada4250.h:203
int32_t ada4250_init(struct ada4250_dev **device, struct ada4250_init_param *init_param)
Initialize the ADA4250 device.
Definition: ada4250.c:521
int32_t ada4250_set_offset(struct ada4250_dev *dev, int64_t offset)
Set offset value for ADA4250.
Definition: ada4250.c:310
#define ADA4250_REG_RESET
Definition: ada4250.h:60
struct no_os_spi_init_param * spi_init
Definition: ada4250.h:183
@ ADA4250_POWER_SLEEP
Definition: ada4250.h:171
int32_t ada4250_write(struct ada4250_dev *dev, uint8_t reg_addr, uint8_t data)
Writes data to ada4250 over SPI.
Definition: ada4250.c:60
Definition: ad9361_util.h:75
@ NO_OS_GPIO_HIGH
Definition: no_os_gpio.h:123
#define ADA4250_SPI_DUMMY_DATA
Definition: ada4250.h:105
ada4250_power_mode
Power Modes.
Definition: ada4250.h:169
int32_t ada4250_set_bandwidth(struct ada4250_dev *dev, enum ada4250_bandwidth bw)
Set the bandwidth value for ADA4250.
Definition: ada4250.c:368
void * no_os_calloc(size_t nitems, size_t size)
Allocate memory and return a pointer to it, set memory to 0.
Definition: chibios_alloc.c:60
@ ADA4250_RANGE4
Definition: ada4250.h:138
int32_t ada4250_update(struct ada4250_dev *dev, uint8_t reg_addr, uint8_t mask, uint8_t data)
Update ADA4250 register.
Definition: ada4250.c:111
struct no_os_gpio_desc * gpio_g1
Definition: ada4250.h:217
int32_t ada4250_soft_reset(struct ada4250_dev *dev)
Software reset.
Definition: ada4250.c:166
#define ADA4250_REG_SNSR_CAL_VAL
Definition: ada4250.h:61
#define ADA4250_GAIN_MUX(x)
Definition: ada4250.h:69
@ NO_OS_GPIO_LOW
Definition: no_os_gpio.h:121
int32_t ada4250_write(struct ada4250_dev *dev, uint8_t reg_addr, uint8_t data)
Writes data to ada4250 over SPI.
Definition: ada4250.c:60
#define ADA4250_BIAS_SET(x)
Definition: ada4250.h:93
void no_os_mdelay(uint32_t msecs)
Wait until msecs milliseconds passed.
Definition: aducm3029_delay.c:132
ada4250_bandwidth
Bandwidth modes.
Definition: ada4250.h:160
#define ADA4250_BIAS_SET_MSK
Definition: ada4250.h:92
int32_t avdd_v
Definition: ada4250.h:224
@ ADA4250_BANDWIDTH_LOW
Definition: ada4250.h:161
int32_t ada4250_init(struct ada4250_dev **device, struct ada4250_init_param *init_param)
Initialize the ADA4250 device.
Definition: ada4250.c:521
int32_t ada4250_update_desc(struct ada4250_dev *dev)
Update ADA4250 device descriptor.
Definition: ada4250.c:137
@ ADA4250_GAIN_32
Definition: ada4250.h:151
@ ADA4250_GAIN_4
Definition: ada4250.h:148
enum ada4250_bias bias
Definition: ada4250.h:199
#define ADA4250_REG_GAIN_MUX
Definition: ada4250.h:58
struct no_os_gpio_init_param * gpio_g0_param
Definition: ada4250.h:187
enum ada4250_id device_id
Definition: ada4250.h:212
#define ADA4250_SPI_READ_CMD
Definition: ada4250.h:100
int32_t ada4250_set_bias(struct ada4250_dev *dev, enum ada4250_bias bias)
Set current bias for ADA4250.
Definition: ada4250.c:233
bool refbuf_en
Definition: ada4250.h:195
struct no_os_gpio_init_param * gpio_bufen_param
Definition: ada4250.h:189
int32_t ada4250_set_gain(struct ada4250_dev *dev, enum ada4250_gain gain)
Set gain for ADA4250.
Definition: ada4250.c:278
int32_t no_os_gpio_remove(struct no_os_gpio_desc *desc)
Free the resources allocated by no_os_gpio_get().
Definition: no_os_gpio.c:110
Structure holding SPI descriptor.
Definition: no_os_spi.h:177
@ ADA4250_BANDWIDTH_HIGH
Definition: ada4250.h:162
#define ADA4250_SPI_WRITE_CMD
Definition: ada4250.h:98
@ ADA4250_RANGE3
Definition: ada4250.h:137
int32_t ada4250_set_bandwidth(struct ada4250_dev *dev, enum ada4250_bandwidth bw)
Set the bandwidth value for ADA4250.
Definition: ada4250.c:368
ada4250_offset_range
Sensor offset trim range.
Definition: ada4250.h:134
struct no_os_gpio_init_param * gpio_slp
Definition: ada4250.h:190
enum ada4250_gain gain
Definition: ada4250.h:228
struct no_os_gpio_init_param * gpio_bw_param
Definition: ada4250.h:188
Structure holding the GPIO descriptor.
Definition: no_os_gpio.h:102
@ ADA4250_GAIN_16
Definition: ada4250.h:150
enum ada4250_gain gain
Definition: ada4250.h:197
int32_t no_os_gpio_get(struct no_os_gpio_desc **desc, const struct no_os_gpio_init_param *param)
Obtain the GPIO decriptor.
Definition: no_os_gpio.c:55
int32_t ada4250_read(struct ada4250_dev *dev, uint8_t reg_addr, uint8_t *data)
Reads data from ada4250 over SPI.
Definition: ada4250.c:82
@ ADA4250_GAIN_8
Definition: ada4250.h:149
ADA4250 Device Descriptor.
Definition: ada4250.h:210
Header file for ada4250 Driver.
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:474
void no_os_free(void *ptr)
Deallocate memory previously allocated by a call to no_os_calloc or no_os_malloc.
Definition: chibios_alloc.c:75
struct no_os_gpio_desc * gpio_shtdwn
Definition: ada4250.h:222
#define ADA4250_RESET_ENABLE
Definition: ada4250.h:84
#define ADA4250_RANGE_SET(x)
Definition: ada4250.h:95
@ ADA4250_GAIN_2
Definition: ada4250.h:147
ada4250_bias
Current bias settings.
Definition: ada4250.h:124
enum ada4250_offset_range offset_range
Definition: ada4250.h:230
@ ADA4230
Definition: ada4250.h:116
void no_os_udelay(uint32_t usecs)
Wait until usecs microseconds passed.
Definition: aducm3029_delay.c:120
enum ada4250_bandwidth bandwidth
Definition: ada4250.h:201
int32_t ada4250_set_gain(struct ada4250_dev *dev, enum ada4250_gain gain)
Set gain for ADA4250.
Definition: ada4250.c:278
int32_t no_os_gpio_set_value(struct no_os_gpio_desc *desc, uint8_t value)
Set the value of the specified GPIO.
Definition: no_os_gpio.c:203
#define ADA4250_REG_REFBUF_EN
Definition: ada4250.h:59
struct ad7616_init_param init_param
Definition: ad7616_sdz.c:119
struct no_os_gpio_init_param * gpio_shtdwn
Definition: ada4250.h:191
int32_t avdd_v
Definition: ada4250.h:193
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:474
int32_t ada4250_en_refbuf(struct ada4250_dev *dev, bool refbuf)
Enable/Disable Reference Buffer.
Definition: ada4250.c:204
#define ADA4250_CHIP_ID
Definition: ada4250.h:102
@ ADA4250_BIAS_DISABLE
Definition: ada4250.h:125
int32_t no_os_spi_remove(struct no_os_spi_desc *desc)
Free the resources allocated by no_os_spi_init().
Definition: no_os_spi.c:122
@ ADA4250_RANGE1
Definition: ada4250.h:135
int32_t ada4250_soft_reset(struct ada4250_dev *dev)
Software reset.
Definition: ada4250.c:166
#define ADA4250_REG_SNSR_CAL_CNFG
Definition: ada4250.h:62
Header file of GPIO Interface.
enum ada4250_id device_id
Definition: ada4250.h:181
struct no_os_gpio_init_param * gpio_g1_param
Definition: ada4250.h:186
int32_t no_os_spi_init(struct no_os_spi_desc **desc, const struct no_os_spi_init_param *param)
Initialize the SPI communication peripheral.
Definition: no_os_spi.c:58
struct no_os_gpio_desc * gpio_bw
Definition: ada4250.h:219
int32_t ada4250_remove(struct ada4250_dev *dev)
Free resoulces allocated for ADA4250.
Definition: ada4250.c:663
Header file of utility functions.
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:441
@ ADA4250_GAIN_64
Definition: ada4250.h:152
#define ADA4250_REG_CHIP_ID1
Definition: ada4250.h:64
struct no_os_gpio_desc * gpio_bufen
Definition: ada4250.h:220
int32_t no_os_gpio_direction_output(struct no_os_gpio_desc *desc, uint8_t value)
Enable the output direction of the specified GPIO.
Definition: no_os_gpio.c:153
struct no_os_gpio_desc * gpio_g0
Definition: ada4250.h:218
enum ada4250_bandwidth bandwidth
Definition: ada4250.h:234
ada4250_gain
Gain value.
Definition: ada4250.h:145
@ ADA4250_GAIN_1
Definition: ada4250.h:146
int32_t ada4250_en_refbuf(struct ada4250_dev *dev, bool refbuf)
Enable/Disable Reference Buffer.
Definition: ada4250.c:204
#define ADA4250_REG_CHIP_ID2
Definition: ada4250.h:65
int32_t ada4250_update_desc(struct ada4250_dev *dev)
Update ADA4250 device descriptor.
Definition: ada4250.c:137
int32_t offset_nv
Definition: ada4250.h:238
@ ADA4250_POWER_NORMAL
Definition: ada4250.h:170
chip_id
Definition: ad9172.h:57
#define ADA4250_RANGE_SET_MSK
Definition: ada4250.h:94
Structure holding the parameters for SPI initialization.
Definition: no_os_spi.h:131
#define ADA4250_REFBUF_MSK
Definition: ada4250.h:72
int32_t no_os_gpio_get_optional(struct no_os_gpio_desc **desc, const struct no_os_gpio_init_param *param)
Get the value of an optional GPIO.
Definition: no_os_gpio.c:81