46#define AD4110_CMD_WR_COM_REG(x) (0x00 | ((x) & 0xF))
47#define AD4110_CMD_READ_COM_REG(x) (0x40 | ((x) & 0xF))
48#define AD4110_DEV_ADDR_MASK (0x30)
55#define AD4110_REG_AFE_TOP_STATUS 0x0
56#define AD4110_REG_AFE_CNTRL1 0x1
57#define AD4110_REG_AFE_CLK_CTRL 0x3
58#define AD4110_REG_AFE_CNTRL2 0x4
59#define AD4110_REG_PGA_RTD_CTRL 0x5
60#define AD4110_REG_AFE_ERR_DISABLE 0x6
61#define AD4110_REG_AFE_DETAIL_STATUS 0x7
62#define AD4110_REG_AFE_CAL_DATA 0xC
63#define AD4110_REG_AFE_RSENSE_DATA 0xD
64#define AD4110_REG_AFE_NO_PWR_DEFAULT_SEL 0xE
65#define AD4110_REG_AFE_NO_PWR_DEFAULT_STATUS 0xF
68#define AD4110_REG_ADC_STATUS 0x0
69#define AD4110_REG_ADC_MODE 0x1
70#define AD4110_REG_ADC_INTERFACE 0x2
71#define AD4110_REG_ADC_CONFIG 0x3
72#define AD4110_REG_DATA 0x4
73#define AD4110_REG_FILTER 0x5
74#define AD4110_REG_ADC_GPIO_CONFIG 0x6
75#define AD4110_REG_ID 0x7
76#define AD4110_ADC_OFFSET0 0x8
77#define AD4110_ADC_OFFSET1 0x9
78#define AD4110_ADC_OFFSET2 0xA
79#define AD4110_ADC_OFFSET3 0xB
80#define AD4110_ADC_GAIN0 0xC
81#define AD4110_ADC_GAIN1 0xD
82#define AD4110_ADC_GAIN2 0xE
83#define AD4110_ADC_GAIN3 0xF
86#define AD4110_REG_AFE_CNTRL1_CRC_EN (1 << 14)
87#define AD4110_REG_AFE_CNTRL1_DISRTD (1 << 9)
90#define AD4110_REG_AFE_CLK_CTRL_CFG(x) (((x) & 0x3) << 3)
93#define AD4110_REG_AFE_CNTRL2_IMODE_MSK (1 << 1)
94#define AD4110_REG_AFE_CNTRL2_EXT_R_SEL_MSK (1 << 2)
95#define AD4110_REG_AFE_CNTRL2_EN_FLD_PWR_MSK (1 << 3)
96#define AD4110_AFE_VBIAS(x) (((x) & 0x3) << 6)
97#define AD4110_AFE_VBIAS_ON 0x1
98#define AD4110_AFE_VBIAS_DEFAULT_OFF 0x2
99#define AD4110_AFE_VBIAS_OFF 0x3
100#define AD4110_REG_AFE_CNTRL2_AINP_UP1 (1 << 8)
101#define AD4110_REG_AFE_CNTRL2_AINP_UP100 (1 << 9)
102#define AD4110_REG_AFE_CNTRL2_AINP_DN1 (1 << 10)
103#define AD4110_REG_AFE_CNTRL2_AINP_DN100 (1 << 11)
104#define AD4110_REG_AFE_CNTRL2_AINN_UP1 (1 << 12)
105#define AD4110_REG_AFE_CNTRL2_AINN_UP100 (1 << 13)
106#define AD4110_REG_AFE_CNTRL2_AINN_DN1 (1 << 14)
107#define AD4110_REG_AFE_CNTRL2_AINN_DN100 (1 << 15)
110#define AD4110_REG_PGA_RTD_CTRL_23W_EN_MSK (1 << 15)
111#define AD4110_REG_PGA_RTD_CTRL_I_COM_SEL(x) (((x) & 0x7) << 12)
112#define AD4110_REG_PGA_RTD_CTRL_I_EXC_SEL(x) (((x) & 0x7) << 9)
113#define AD4110_REG_PGA_RTD_CTRL_EXT_RTD (1 << 8)
114#define AD4110_REG_PGA_RTD_CTRL_GAIN_CH(x) (((x) & 0xF) << 4)
115#define AD4110_REG_PGA_RTD_CTRL_GAIN_CH_MSK 0xF0
118#define AD4110_REG_AFE_ERR_DIS_AIN_OC (1 << 1)
119#define AD4110_REG_AFE_ERR_DIS_FLD_PWR_OC (1 << 2)
120#define AD4110_REG_AFE_ERR_DIS_I_COM (1 << 6)
121#define AD4110_REG_AFE_ERR_DIS_I_EXC (1 << 7)
122#define AD4110_REG_AFE_ERR_DIS_AINP_OV (1 << 8)
123#define AD4110_REG_AFE_ERR_DIS_AINN_OV (1 << 9)
124#define AD4110_REG_AFE_ERR_DIS_AINP_UV (1 << 10)
125#define AD4110_REG_AFE_ERR_DIS_AINN_UV (1 << 11)
128#define AD4110_REG_NO_PWR_DEFAULT_SEL_MSK 0xFF
131#define AD4110_REG_ADC_STATUS_RDY (1 << 7)
134#define AD4110_REG_ADC_MODE_MSK 0x70
135#define AD4110_ADC_MODE(x) (((x) & 0x7) << 4)
136#define AD4110_REG_ADC_MODE_REF_EN (1 << 15)
137#define AD4110_REG_ADC_DELAY(x) (((x) & 0x7) << 8)
138#define AD4110_REG_ADC_CLK_SEL(x) (((x) & 0x3) << 2)
141#define AD4110_REG_ADC_INTERFACE_CRC_EN_MSK 0x0C
142#define AD4110_ADC_CRC_EN(x) (((x) & 0x3) << 2)
143#define AD4110_REG_ADC_INTERFACE_WL16_MSK 0x01
144#define AD4110_REG_ADC_INTERFACE_DS_MSK 0x40
145#define AD4110_DATA_STAT_EN (1 << 6)
148#define AD4110_REG_ADC_CONFIG_CHAN_EN_MSK 0xF
149#define AD4110_REG_ADC_CONFIG_CHAN_EN_0 (1 << 0)
150#define AD4110_REG_ADC_CONFIG_CHAN_EN_1 (1 << 1)
151#define AD4110_REG_ADC_CONFIG_CHAN_EN_2 (1 << 2)
152#define AD4110_REG_ADC_CONFIG_CHAN_EN_3 (1 << 3)
153#define AD4110_REG_ADC_CONFIG_REF_SEL(x) (((x) & 0x3) << 4)
154#define AD4110_REG_ADC_CONFIG_BIT_6 (1 << 6)
155#define AD4110_REG_ADC_CONFIG_AIN_BUFF(x) ((((x) & 0x3) << 8))
156#define AD4110_REG_ADC_CONFIG_BI_UNIPOLAR (1 << 12)
159#define AD4110_REG_ADC_FILTER_ODR(x) (((x) & 0x1F) << 0)
160#define AD4110_REG_ADC_FILTER_ORDER(x) (((x) & 0x3) << 5)
161#define AD4110_REG_ADC_FILTER_SEL_ENH(x) (((x) & 0x7) << 8)
162#define AD4110_REG_ADC_FILTER_EN_ENH (1 << 11)
165#define AD4110_REG_GPIO_CONFIG_ERR_EN(x) (((x) & 0x3) << 9)
166#define AD4110_REG_GPIO_CONFIG_SYNC_EN(x) (((x) & 0x1) << 11)
169#define AD4110_CRC8_POLY 0x07
172#define AD4110_ADC_CONV_TIMEOUT 10000
401 uint32_t buffer_size);
int ad4110_set_order(struct ad4110_dev *dev, enum ad4110_order order)
Set Order of Filter.
Definition ad4110.c:812
int32_t ad4110_set_adc_mode(struct ad4110_dev *dev, enum ad4110_adc_mode mode)
Definition ad4110.c:142
ad4110_adc_clk_sel
Definition ad4110.h:175
@ AD4110_ADC_EXT_CLK
Definition ad4110.h:178
@ AD4110_ADC_INT_CLK_CLKIO
Definition ad4110.h:177
@ AD4110_ADC_INT_CLK
Definition ad4110.h:176
uint8_t ad4110_compute_xor(uint8_t *data, uint8_t data_size)
Definition ad4110.c:82
ad4110_afe_crc_mode
Definition ad4110.h:233
@ AD4110_AFE_CRC_DISABLE
Definition ad4110.h:234
@ AD4110_AFE_CRC
Definition ad4110.h:235
int32_t ad4110_spi_int_data_reg_read(struct ad4110_dev *dev, uint32_t *reg_data)
Definition ad4110.c:543
int ad4110_set_analog_input_buffer(struct ad4110_dev *dev, enum ad4110_ain_buffer buffer)
Assign analog input buffer.
Definition ad4110.c:737
uint8_t ad4110_compute_crc8(uint8_t *data, uint8_t data_size)
Definition ad4110.c:54
ad4110_sync_en
Definition ad4110.h:186
@ AD4110_SYNC_DIS
Definition ad4110.h:187
@ AD4110_SYNC_EN
Definition ad4110.h:188
ad4110_op_mode
Definition ad4110.h:216
@ AD4110_CURRENT_MODE
Definition ad4110.h:218
@ AD4110_FLD_POWER_MODE
Definition ad4110.h:221
@ AD4110_RTD_4W_MODE
Definition ad4110.h:224
@ AD4110_CURRENT_MODE_EXT_R_SEL
Definition ad4110.h:219
@ AD4110_RTD_2W_MODE
Definition ad4110.h:222
@ AD4110_THERMOCOUPLE
Definition ad4110.h:220
@ AD4110_VOLTAGE_MODE
Definition ad4110.h:217
@ AD4110_RTD_3W_MODE
Definition ad4110.h:223
int32_t ad4110_set_adc_clk(struct ad4110_dev *dev, enum ad4110_adc_clk_sel clk)
Definition ad4110.c:200
ad4110_afe_clk_cfg
Definition ad4110.h:181
@ AD4110_AFE_ADC_CLOCKED
Definition ad4110.h:183
@ AD4110_AFE_INT_CLOCK
Definition ad4110.h:182
ad4110_voltage_reference
Definition ad4110.h:191
@ AD4110_INT_2_5V_REF
Definition ad4110.h:193
@ AD4110_EXT_REF
Definition ad4110.h:192
@ AD4110_AVDD5_REF
Definition ad4110.h:194
ad4110_odr
Definition ad4110.h:264
@ KSPS_31P25
Definition ad4110.h:269
@ KSPS_62P5_A
Definition ad4110.h:267
@ KSPS_62P5_B
Definition ad4110.h:268
@ SPS_50
Definition ad4110.h:281
@ KSPS_2P5
Definition ad4110.h:274
@ KSPS_125_B
Definition ad4110.h:266
@ SPS_16P7
Definition ad4110.h:283
@ KSPS_5
Definition ad4110.h:273
@ KSPS_15P625
Definition ad4110.h:271
@ SPS_10
Definition ad4110.h:284
@ SPS_100P2
Definition ad4110.h:279
@ SPS_400P6
Definition ad4110.h:277
@ SPS_5
Definition ad4110.h:285
@ SPS_500
Definition ad4110.h:276
@ KSPS_1
Definition ad4110.h:275
@ KSPS_25
Definition ad4110.h:270
@ SPS_200
Definition ad4110.h:278
@ KSPS_10P417
Definition ad4110.h:272
@ SPS_60
Definition ad4110.h:280
@ SPS_20
Definition ad4110.h:282
@ KSPS_125_A
Definition ad4110.h:265
ad4110_adc_crc_mode
Definition ad4110.h:227
@ AD4110_ADC_CRC_CRC
Definition ad4110.h:230
@ AD4110_ADC_XOR_CRC
Definition ad4110.h:229
@ AD4110_ADC_CRC_DISABLE
Definition ad4110.h:228
uint8_t ad4110_get_data_size(struct ad4110_dev *dev, uint8_t reg_map, uint8_t reg_addr)
Definition ad4110.c:458
int32_t ad4110_spi_int_reg_read(struct ad4110_dev *dev, uint8_t reg_map, uint8_t reg_addr, uint32_t *reg_data)
Definition ad4110.c:622
ad4110_data_word_length
Definition ad4110.h:202
@ AD4110_DATA_WL16
Definition ad4110.h:204
@ AD4110_DATA_WL24
Definition ad4110.h:203
ad4110_state
Definition ad4110.h:197
@ AD4110_ENABLE
Definition ad4110.h:199
@ AD4110_DISABLE
Definition ad4110.h:198
int32_t ad4110_setup(struct ad4110_dev **device, struct ad4110_init_param init_param)
Definition ad4110.c:884
int ad4110_do_single_read(struct ad4110_dev *dev, uint32_t *buffer)
ADC data read in single conversion mode.
Definition ad4110.c:857
int32_t ad4110_spi_int_reg_write_msk(struct ad4110_dev *dev, uint8_t reg_map, uint8_t reg_addr, uint32_t data, uint16_t mask)
Definition ad4110.c:111
ad4110_order
Definition ad4110.h:288
ad4110_gain
Definition ad4110.h:238
@ AD4110_GAIN_6
Definition ad4110.h:250
@ AD4110_GAIN_3
Definition ad4110.h:248
@ AD4110_GAIN_0_5
Definition ad4110.h:243
@ AD4110_GAIN_0_75
Definition ad4110.h:244
@ AD4110_GAIN_2
Definition ad4110.h:247
@ AD4110_GAIN_1_5
Definition ad4110.h:246
@ AD4110_GAIN_0_2
Definition ad4110.h:239
@ AD4110_GAIN_16
Definition ad4110.h:253
@ AD4110_GAIN_4
Definition ad4110.h:249
@ AD4110_GAIN_0_3
Definition ad4110.h:241
@ AD4110_GAIN_1
Definition ad4110.h:245
@ AD4110_GAIN_0_375
Definition ad4110.h:242
@ AD4110_GAIN_8
Definition ad4110.h:251
@ AD4110_GAIN_0_25
Definition ad4110.h:240
@ AD4110_GAIN_24
Definition ad4110.h:254
@ AD4110_GAIN_12
Definition ad4110.h:252
int32_t ad4110_continuous_read(struct ad4110_dev *dev, uint32_t *buffer, uint32_t buffer_size)
Definition ad4110.c:1034
int32_t ad4110_set_op_mode(struct ad4110_dev *dev, enum ad4110_op_mode mode)
Definition ad4110.c:284
ad4110_ain_buffer
Definition ad4110.h:257
@ DISABLE_AIN_BUFFER
Definition ad4110.h:258
@ ENABLE_POS_BUFFER
Definition ad4110.h:260
@ ENABLE_NEG_BUFFER
Definition ad4110.h:259
@ ENABLE_FULL_BUFFER
Definition ad4110.h:261
int32_t ad4110_set_reference(struct ad4110_dev *dev, enum ad4110_voltage_reference ref)
Definition ad4110.c:239
int32_t ad4110_spi_int_reg_write(struct ad4110_dev *dev, uint8_t reg_map, uint8_t reg_addr, uint32_t reg_data)
Definition ad4110.c:493
int32_t ad4110_set_gain(struct ad4110_dev *dev, enum ad4110_gain gain)
Definition ad4110.c:180
int ad4110_wait_for_rdy_low(struct ad4110_dev *dev, uint32_t timeout)
Wait for RDY bit to go low indicating conversion completion.
Definition ad4110.c:834
int ad4110_set_odr(struct ad4110_dev *dev, enum ad4110_odr odr)
Set Output Data Rate.
Definition ad4110.c:790
int32_t ad4110_set_afe_clk(struct ad4110_dev *dev, enum ad4110_afe_clk_cfg clk)
Definition ad4110.c:219
int ad4110_set_bipolar(struct ad4110_dev *dev, bool bipolar)
Set polarity.
Definition ad4110.c:760
int32_t ad4110_spi_do_soft_reset(struct ad4110_dev *dev)
Definition ad4110.c:437
ad4110_adc_mode
Definition ad4110.h:207
@ AD4110_PW_DOWN_MODE
Definition ad4110.h:211
@ AD4110_SYS_GAIN_CAL
Definition ad4110.h:213
@ AD4110_STANDBY_MODE
Definition ad4110.h:210
@ AD4110_CONTINOUS_CONV_MODE
Definition ad4110.h:208
@ AD4110_SYS_OFFSET_CAL
Definition ad4110.h:212
@ AD4110_SINGLE_CONV_MODE
Definition ad4110.h:209
int ad4110_set_channel_status(struct ad4110_dev *dev, uint8_t chan_id, bool status)
Enable/Disable channel.
Definition ad4110.c:717
uint32_t timeout
Definition ad413x.c:46
@ bipolar
Definition ad5446.h:64
@ sinc5_sinc1
Definition ad717x.h:179
@ sinc3
Definition ad717x.h:180
struct ad7616_init_param init_param
Definition ad7616_sdz.c:107
Header file of Delay functions.
Header file of GPIO Interface.
Header file of IRQ interface.
Header file of SPI Interface.
struct ad4110_dev * dev
Definition ad4110.h:342
uint32_t * buffer
Definition ad4110.h:343
uint32_t buffer_size
Definition ad4110.h:344
enum ad4110_gain gain
Definition ad4110.h:303
enum ad4110_sync_en sync
Definition ad4110.h:304
struct no_os_irq_ctrl_desc * irq_desc
Definition ad4110.h:313
enum ad4110_afe_clk_cfg afe_clk
Definition ad4110.h:305
enum ad4110_state data_stat
Definition ad4110.h:298
enum ad4110_adc_clk_sel adc_clk
Definition ad4110.h:306
struct no_os_spi_desc * spi_dev
Definition ad4110.h:295
enum ad4110_op_mode op_mode
Definition ad4110.h:302
enum ad4110_adc_crc_mode adc_crc_en
Definition ad4110.h:300
enum ad4110_afe_crc_mode afe_crc_en
Definition ad4110.h:301
enum ad4110_odr odr
Definition ad4110.h:310
bool bipolar
Definition ad4110.h:308
enum ad4110_ain_buffer analog_input_buff
Definition ad4110.h:309
uint32_t nready_pin
Definition ad4110.h:314
uint8_t addr
Definition ad4110.h:307
enum ad4110_order order
Definition ad4110.h:311
enum ad4110_data_word_length data_length
Definition ad4110.h:299
enum ad4110_voltage_reference volt_ref
Definition ad4110.h:297
uint8_t addr
Definition ad4110.h:331
bool bipolar
Definition ad4110.h:332
enum ad4110_data_word_length data_length
Definition ad4110.h:323
enum ad4110_sync_en sync
Definition ad4110.h:328
struct no_os_spi_init_param spi_init
Definition ad4110.h:319
enum ad4110_ain_buffer analog_input_buff
Definition ad4110.h:333
enum ad4110_adc_crc_mode adc_crc_en
Definition ad4110.h:325
uint32_t nready_pin
Definition ad4110.h:338
enum ad4110_gain gain
Definition ad4110.h:327
enum ad4110_order order
Definition ad4110.h:335
enum ad4110_adc_clk_sel adc_clk
Definition ad4110.h:330
enum ad4110_state data_stat
Definition ad4110.h:322
struct no_os_irq_ctrl_desc * irq_desc
Definition ad4110.h:337
enum ad4110_op_mode op_mode
Definition ad4110.h:326
enum ad4110_voltage_reference volt_ref
Definition ad4110.h:321
enum ad4110_afe_crc_mode afe_crc_en
Definition ad4110.h:324
enum ad4110_afe_clk_cfg afe_clk
Definition ad4110.h:329
enum ad4110_odr odr
Definition ad4110.h:334
Definition ad9361_util.h:63
Definition no_os_irq.h:117
Structure holding SPI descriptor.
Definition no_os_spi.h:180
Structure holding the parameters for SPI initialization.
Definition no_os_spi.h:128