no-OS
All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
ad4858.h
Go to the documentation of this file.
1/***************************************************************************/
31#ifndef AD4858_H_
32#define AD4858_H_
33
34#include <stdint.h>
35#include <stdbool.h>
36#include "no_os_util.h"
37#include "no_os_spi.h"
38#include "no_os_gpio.h"
39#include "no_os_error.h"
40
41#define AD4858_R1B (1ul << 16)
42#define AD4858_R2B (2ul << 16)
43#define AD4858_R3B (3ul << 16)
44#define AD4858_R4B (4ul << 16)
45#define AD4858_LEN(x) ((x) >> 16)
46#define AD4858_ADDR(x) ((x) & 0xFFFF)
47
49#define AD4858_REG_INTERFACE_CONFIG_A (AD4858_R1B | 0x00)
50#define AD4858_REG_INTERFACE_CONFIG_B (AD4858_R1B | 0x01)
51#define AD4858_REG_DEVICE_CONFIG (AD4858_R1B | 0x02)
52#define AD4858_REG_CHIP_TYPE (AD4858_R1B | 0x03)
53#define AD4858_REG_PRODUCT_ID_L (AD4858_R1B | 0x04)
54#define AD4858_REG_PRODUCT_ID_H (AD4858_R1B | 0x05)
55#define AD4858_REG_CHIP_GRADE (AD4858_R1B | 0x06)
56#define AD4858_REG_SCRATCH_PAD (AD4858_R1B | 0x0A)
57#define AD4858_REG_SPI_REV (AD4858_R1B | 0x0B)
58#define AD4858_REG_VENDOR_L (AD4858_R1B | 0x0C)
59#define AD4858_REG_VENDOR_H (AD4858_R1B | 0x0D)
60#define AD4858_REG_STREAM_MODE (AD4858_R1B | 0x0E)
61#define AD4858_REG_TRANSFER_CONFIG (AD4858_R1B | 0x0F)
62#define AD4858_REG_INTERFACE_CONFIG_C (AD4858_R1B | 0x10)
63#define AD4858_REG_INTERFACE_STATUS_A (AD4858_R1B | 0x11)
64#define AD4858_REG_SPI_CONFIG_D (AD4858_R1B | 0x14)
65#define AD4858_REG_DEVICE_STATUS (AD4858_R1B | 0x20)
66#define AD4858_REG_CH_OR_STATUS (AD4858_R1B | 0x21)
67#define AD4858_REG_CH_UR_STATUS (AD4858_R1B | 0x22)
68#define AD4858_REG_REGMAP_CRC (AD4858_R2B | 0x23)
69#define AD4858_REG_DEVICE_CTRL (AD4858_R1B | 0x25)
70#define AD4858_REG_PACKET (AD4858_R1B | 0x26)
71#define AD4858_REG_OVERSAMPLE (AD4858_R1B | 0x27)
72#define AD4858_REG_SEAMLESS_HDR (AD4858_R1B | 0x28)
73#define AD4858_REG_CH_SLEEP (AD4858_R1B | 0x29)
74#define AD4858_REG_CH_SOFTSPAN(chn) (AD4858_R1B | (0x2A + (0x12 * chn)))
75#define AD4858_REG_CH_OFFSET(chn) (AD4858_R3B | (0x2B + (0x12 * chn)))
76#define AD4858_REG_CH_GAIN(chn) (AD4858_R2B | (0x2E + (0x12 * chn)))
77#define AD4858_REG_CH_PHASE(chn) (AD4858_R2B | (0x30 + (0x12 * chn)))
78#define AD4858_REG_CH_OR(chn) (AD4858_R3B | (0x32 + (0x12 * chn)))
79#define AD4858_REG_CH_UR(chn) (AD4858_R3B | (0x35 + (0x12 * chn)))
80#define AD4858_REG_CH_TESTPAT(chn) (AD4858_R4B | (0x38 + (0x12 * chn)))
81
83#define AD4858_SW_RESET_MSK NO_OS_BIT(7) | NO_OS_BIT(0)
84#define AD4858_SDO_ENABLE_MSK NO_OS_BIT(4)
85#define AD4858_ADDR_ASCENSION_MSK NO_OS_BIT(5)
86
88#define AD4858_SINGLE_INST_MSK NO_OS_BIT(7)
89
91#define AD4858_OPERATING_MODES_MSK NO_OS_GENMASK(1,0)
92#define AD4858_STATUS_BIT0_MSK NO_OS_BIT(4)
93#define AD4858_STATUS_BIT1_MSK NO_OS_BIT(5)
94#define AD4858_STATUS_BIT2_MSK NO_OS_BIT(6)
95#define AD4858_STATUS_BIT3_MSK NO_OS_BIT(7)
96
98#define AD4858_KEEP_STRM_LEN_MSK NO_OS_BIT(2)
99
101#define AD4858_ACTIVE_INF_MODE_MSK NO_OS_GENMASK(3,2)
102#define AD4858_CRC_ENABLE_MSK NO_OS_GENMASK(7,6)
103
105#define AD4858_ADDR_INVALID_ERR_MSK NO_OS_BIT(0)
106#define AD4858_WR_TO_RD_ONLY_ERR_MSK NO_OS_BIT(2)
107#define AD4858_CRC_ERR_MSK NO_OS_BIT(3)
108#define AD4858_CLK_COUNT_ERR_MSK NO_OS_BIT(4)
109#define AD4858_NOT_READY_ERR_MSK NO_OS_BIT(7)
110
112#define AD4858_CSDO_ON_SDO_MSK NO_OS_BIT(0)
113
115#define AD4858_TEST_PATTERN_MSK NO_OS_BIT(2)
116#define AD4858_PACKET_FORMAT_MSK NO_OS_GENMASK(1,0)
117
119#define AD4858_OS_ENABLE_MSK NO_OS_BIT(7)
120#define AD4858_OS_RATIO_MSK NO_OS_GENMASK(3,0)
121
123#define AD4858_SOFTSPAN_MSK NO_OS_GENMASK(3,0)
124
126#define AD4858_OR_UR_STATUS_MSK_16_BIT NO_OS_BIT(7)
127#define AD4858_CHN_ID_MSK_16_BIT NO_OS_GENMASK(6,4)
128#define AD4858_SOFTSPAN_ID_MSK_16_BIT NO_OS_GENMASK(3,0)
129
131#define AD4858_OR_UR_STATUS_MSK_20_BIT NO_OS_BIT(3)
132#define AD4858_CHN_ID_MSK_20_BIT NO_OS_GENMASK(2,0)
133#define AD4858_SOFTSPAN_ID_MSK_20_BIT NO_OS_GENMASK(7,4)
134
136#define AD4858_RAW_DATA_MSK_20_BIT NO_OS_GENMASK(23,4)
137#define AD4858_RAW_DATA_MSK_EVEN_20_BIT NO_OS_GENMASK(23,4)
138#define AD4858_RAW_DATA_MSK_ODD_20_BIT NO_OS_GENMASK(19,0)
139
141#define AD4858_REG_RD_BIT_MSK NO_OS_BIT(7)
142#define AD4858_PRODUCT_ID_L 0x60
143#define AD4857_PRODUCT_ID_L 0x61
144#define AD4856_PRODUCT_ID_L 0x62
145#define AD4855_PRODUCT_ID_L 0x63
146#define AD4854_PRODUCT_ID_L 0x64
147#define AD4853_PRODUCT_ID_L 0x65
148#define AD4852_PRODUCT_ID_L 0x66
149#define AD4851_PRODUCT_ID_L 0x67
150#define AD4858I_PRODUCT_ID_L 0x6F
151#define AD485X_PRODUCT_ID_H 0x00
152#define AD4858_NUM_CHANNELS 8
153#define AD4858_DEF_CHN_SOFTSPAN 0xf
154#define AD4858_DEF_CHN_OFFSET 0x0
155#define AD4858_DEF_CHN_GAIN 0x8000
156#define AD4858_DEF_CHN_PHASE 0x0
157#define AD4858_DEF_CHN_OR 0x7ffff0
158#define AD4858_DEF_CHN_UR 0x800000
159
175
185
194
203
213
223
247
258
282
288 /* 20-bit ADC conversion raw data */
290 /* 1-bit OR/UR status */
292 /* 3-bit channel ID */
294 /* 4-bit softspan ID */
296};
297
346
397
398/* Initialize the device */
399int ad4858_init(struct ad4858_dev **device,
401
402/* Remove the device */
403int ad4858_remove(struct ad4858_dev *dev);
404
405/* Write device register */
406int ad4858_reg_write(struct ad4858_dev *dev, uint32_t reg_addr,
407 uint32_t reg_val);
408
409/* Read device register */
410int ad4858_reg_read(struct ad4858_dev *dev, uint32_t reg_addr,
411 uint32_t *reg_val);
412
413/* Update specific register bits of an input register */
414int ad4858_reg_mask(struct ad4858_dev *dev,
415 uint32_t reg_addr,
416 uint32_t mask,
417 uint32_t reg_val);
418
419/* Software reset of the device */
420int ad4858_soft_reset(struct ad4858_dev *dev);
421
422/* Set operating mode */
424 enum ad4858_operating_mode mode);
425
426/* Set SPI data mode */
428 enum ad4858_spi_data_mode mode);
429
430/* Set device config interface mode. */
432
433/* Set device data interface mode. */
435
436/* Enable/Disable OSR */
437int ad4858_enable_osr(struct ad4858_dev *dev, bool osr_status);
438
439/* Set OSR ratio */
440int ad4858_set_osr_ratio(struct ad4858_dev *dev,
441 enum ad4858_osr_ratio osr_ratio);
442
443/* Set packet format */
445 enum ad4858_packet_format packet_format);
446
447/* Enable/Disable test pattern on ADC data output. */
448int ad4858_enable_test_pattern(struct ad4858_dev *dev, bool test_pattern);
449
450/* Set channel softspan */
451int ad4858_set_chn_softspan(struct ad4858_dev *dev, uint8_t chn,
452 enum ad4858_chn_softspan chn_softspan);
453
454/* Set channel offset */
455int ad4858_set_chn_offset(struct ad4858_dev *dev, uint8_t chn,
456 uint32_t offset);
457
458/* Set channel gain */
459int ad4858_set_chn_gain(struct ad4858_dev *dev, uint8_t chn, uint16_t gain);
460
461/* Set channel phase */
462int ad4858_set_chn_phase(struct ad4858_dev *dev, uint8_t chn,
463 uint16_t phase);
464
465/* Set channel overrange (OR) limit */
466int ad4858_set_chn_or_limit(struct ad4858_dev *dev, uint8_t chn,
467 uint32_t or_limit);
468
469/* Set channel underrange (UR) limit */
470int ad4858_set_chn_ur_limit(struct ad4858_dev *dev, uint8_t chn,
471 uint32_t ur_limit);
472
473/* Toggle the CNV pin to start a conversion. */
474int ad4858_convst(struct ad4858_dev *dev);
475
476/* Perform ADC conversion. */
477int ad4858_perform_conv(struct ad4858_dev *dev);
478
479/* Read ADC conversion data over SPI. */
480int ad4858_spi_data_read(struct ad4858_dev *dev, struct ad4858_conv_data *data);
481
482/* Perform conversion and read ADC data (for all channels). */
483int ad4858_read_data(struct ad4858_dev *dev, struct ad4858_conv_data *data);
484
485/* Enable/Disable channel sleep */
486int ad4858_enable_ch_sleep(struct ad4858_dev* dev, uint8_t chn,
487 enum ad4858_ch_sleep_value sleep_status);
488
489/* Enable/Disable seamless HDR */
490int ad4858_enable_ch_seamless_hdr(struct ad4858_dev* dev, uint8_t chn,
491 enum ad4858_ch_seamless_hdr seamless_hdr_status);
492
493#endif // AD4858_H_
int ad4858_enable_ch_sleep(struct ad4858_dev *dev, uint8_t chn, enum ad4858_ch_sleep_value sleep_status)
Enable/Disable channel sleep.
Definition ad4858.c:400
#define AD4858_NUM_CHANNELS
Definition ad4858.h:152
int ad4858_set_packet_format(struct ad4858_dev *dev, enum ad4858_packet_format packet_format)
Set packet format.
Definition ad4858.c:336
ad4858_spi_data_mode
SPI data modes.
Definition ad4858.h:218
@ AD4858_STREAMING_MODE
Definition ad4858.h:219
@ AD4858_NUM_OF_SPI_DATA_MODES
Definition ad4858.h:221
@ AD4858_SINGLE_INSTRUCTION_MODE
Definition ad4858.h:220
int ad4858_spi_data_read(struct ad4858_dev *dev, struct ad4858_conv_data *data)
Read ADC conversion data over SPI.
Definition ad4858.c:672
int ad4858_enable_ch_seamless_hdr(struct ad4858_dev *dev, uint8_t chn, enum ad4858_ch_seamless_hdr seamless_hdr_status)
Enable/Disable seamless hdr.
Definition ad4858.c:431
int ad4858_set_spi_data_mode(struct ad4858_dev *dev, enum ad4858_spi_data_mode mode)
Set the SPI data mode.
Definition ad4858.c:204
ad4858_packet_format
Packet formats.
Definition ad4858.h:252
@ AD4858_PACKET_16_BIT
Definition ad4858.h:253
@ AD4858_PACKET_20_BIT
Definition ad4858.h:254
@ AD4858_PACKET_24_BIT
Definition ad4858.h:255
@ AD4858_PACKET_32_BIT
Definition ad4858.h:256
ad4858_ch_sleep_value
Enable/diable sleep.
Definition ad4858.h:190
@ AD4858_SLEEP_DISABLE
Definition ad4858.h:191
@ AD4858_SLEEP_ENABLE
Definition ad4858.h:192
int ad4858_set_data_interface_mode(struct ad4858_dev *dev)
Set device data interface mode.
Definition ad4858.c:262
ad4858_prod_id
AD485X Product ID.
Definition ad4858.h:164
@ AD4855_PROD_ID_L
Definition ad4858.h:168
@ AD4852_PROD_ID_L
Definition ad4858.h:171
@ AD4858_PROD_ID_L
Definition ad4858.h:165
@ AD4857_PROD_ID_L
Definition ad4858.h:166
@ AD4853_PROD_ID_L
Definition ad4858.h:170
@ AD4854_PROD_ID_L
Definition ad4858.h:169
@ AD4858I_PROD_ID_L
Definition ad4858.h:173
@ AD4856_PROD_ID_L
Definition ad4858.h:167
@ AD4851_PROD_ID_L
Definition ad4858.h:172
int ad4858_read_data(struct ad4858_dev *dev, struct ad4858_conv_data *data)
Read ADC data (for all channels).
Definition ad4858.c:802
int ad4858_enable_test_pattern(struct ad4858_dev *dev, bool test_pattern)
Enable/Disable test pattern on ADC data output.
Definition ad4858.c:375
int ad4858_set_config_interface_mode(struct ad4858_dev *dev)
Set device config interface mode.
Definition ad4858.c:230
int ad4858_reg_mask(struct ad4858_dev *dev, uint32_t reg_addr, uint32_t mask, uint32_t reg_val)
Update specific register bits of an input register.
Definition ad4858.c:151
ad4858_osr_ratio
OSR ratio values.
Definition ad4858.h:228
@ AD4858_OSR_4
Definition ad4858.h:230
@ AD4858_OSR_65536
Definition ad4858.h:244
@ AD4858_OSR_8
Definition ad4858.h:231
@ AD4858_OSR_4096
Definition ad4858.h:240
@ AD4858_OSR_256
Definition ad4858.h:236
@ AD4858_OSR_32
Definition ad4858.h:233
@ AD4858_OSR_16384
Definition ad4858.h:242
@ AD4858_OSR_32768
Definition ad4858.h:243
@ AD4858_OSR_2
Definition ad4858.h:229
@ AD4858_NUM_OF_OSR_RATIO
Definition ad4858.h:245
@ AD4858_OSR_512
Definition ad4858.h:237
@ AD4858_OSR_8192
Definition ad4858.h:241
@ AD4858_OSR_2048
Definition ad4858.h:239
@ AD4858_OSR_64
Definition ad4858.h:234
@ AD4858_OSR_1024
Definition ad4858.h:238
@ AD4858_OSR_128
Definition ad4858.h:235
@ AD4858_OSR_16
Definition ad4858.h:232
int ad4858_remove(struct ad4858_dev *dev)
Remove an AD4858 device (free memory allocated by ad4858_init function).
Definition ad4858.c:1136
int ad4858_perform_conv(struct ad4858_dev *dev)
Perform ADC conversion.
Definition ad4858.c:637
ad4858_interface_mode
Interface modes.
Definition ad4858.h:208
@ AD4858_DATA_INTERFACE_MODE
Definition ad4858.h:210
@ AD4858_CONFIG_INTERFACE_MODE
Definition ad4858.h:209
@ AD4858_NUM_OF_INTF_MODES
Definition ad4858.h:211
int ad4858_reg_write(struct ad4858_dev *dev, uint32_t reg_addr, uint32_t reg_val)
Write device register.
Definition ad4858.c:47
int ad4858_reg_read(struct ad4858_dev *dev, uint32_t reg_addr, uint32_t *reg_val)
Read device register.
Definition ad4858.c:95
int ad4858_set_operating_mode(struct ad4858_dev *dev, enum ad4858_operating_mode mode)
Set the device operating mode.
Definition ad4858.c:178
int ad4858_soft_reset(struct ad4858_dev *dev)
Perform an AD4858 software reset.
Definition ad4858.c:821
int ad4858_set_chn_softspan(struct ad4858_dev *dev, uint8_t chn, enum ad4858_chn_softspan chn_softspan)
Set channel softspan.
Definition ad4858.c:462
int ad4858_init(struct ad4858_dev **device, struct ad4858_init_param *init_param)
Initialize an AD4858 device structure.
Definition ad4858.c:1044
int ad4858_set_chn_or_limit(struct ad4858_dev *dev, uint8_t chn, uint32_t or_limit)
Set channel overrange (OR) limit.
Definition ad4858.c:566
ad4858_ch_seamless_hdr
Enable/diable seamless high dynamic range.
Definition ad4858.h:199
@ AD4858_SEAMLESS_HDR_DISABLE
Definition ad4858.h:200
@ AD4858_SEAMLESS_HDR_ENABLE
Definition ad4858.h:201
int ad4858_set_chn_offset(struct ad4858_dev *dev, uint8_t chn, uint32_t offset)
Set channel offset.
Definition ad4858.c:490
int ad4858_set_chn_phase(struct ad4858_dev *dev, uint8_t chn, uint16_t phase)
Set channel phase.
Definition ad4858.c:543
int ad4858_set_osr_ratio(struct ad4858_dev *dev, enum ad4858_osr_ratio osr_ratio)
Set OSR ratio.
Definition ad4858.c:310
int ad4858_convst(struct ad4858_dev *dev)
Toggle the CNV pin to start a conversion.
Definition ad4858.c:614
int ad4858_enable_osr(struct ad4858_dev *dev, bool osr_status)
Enable OSR.
Definition ad4858.c:285
int ad4858_set_chn_ur_limit(struct ad4858_dev *dev, uint8_t chn, uint32_t ur_limit)
Set channel underrange (UR) limit.
Definition ad4858.c:591
ad4858_chn_softspan
Channel softspan.
Definition ad4858.h:263
@ AD4858_RANGE_0V_TO_20_0V
Definition ad4858.h:274
@ AD4858_RANGE_NEG_10_0V_TO_POS_10_0V
Definition ad4858.h:271
@ AD4858_RANGE_0V_TO_25_0V
Definition ad4858.h:276
@ AD4858_RANGE_0V_TO_40_0V
Definition ad4858.h:278
@ AD4858_RANGE_NEG_2_5V_TO_POS_2_5V
Definition ad4858.h:265
@ AD4858_RANGE_NEG_5_0V_TO_POS_5_0V
Definition ad4858.h:267
@ AD4858_NUM_OF_SOFTSPAN
Definition ad4858.h:280
@ AD4858_RANGE_NEG_25_0V_TO_POS_25_0V
Definition ad4858.h:277
@ AD4858_RANGE_0V_TO_5_0V
Definition ad4858.h:266
@ AD4858_RANGE_0V_TO_10_0V
Definition ad4858.h:270
@ AD4858_RANGE_NEG_20_0V_TO_POS_20_0V
Definition ad4858.h:275
@ AD4858_RANGE_NEG_6_25V_TO_POS_6_25V
Definition ad4858.h:269
@ AD4858_RANGE_0V_TO_6_25V
Definition ad4858.h:268
@ AD4858_RANGE_0V_TO_2_5V
Definition ad4858.h:264
@ AD4858_RANGE_0V_TO_12_5V
Definition ad4858.h:272
@ AD4858_RANGE_NEG_40_0V_TO_POS_40_0V
Definition ad4858.h:279
@ AD4858_RANGE_NEG_12_5V_TO_POS_12_5V
Definition ad4858.h:273
int ad4858_set_chn_gain(struct ad4858_dev *dev, uint8_t chn, uint16_t gain)
Set channel gain.
Definition ad4858.c:520
ad4858_operating_mode
Operating modes.
Definition ad4858.h:180
@ AD4858_NUM_OF_OP_MODES
Definition ad4858.h:183
@ AD4858_NORMAL_OP_MODE
Definition ad4858.h:181
@ AD4858_LOW_POWER_OP_MODE
Definition ad4858.h:182
struct ad7616_init_param init_param
Definition ad7616_sdz.c:107
Error codes definition.
Header file of GPIO Interface.
Header file of SPI Interface.
Header file of utility functions.
ADC conversion data structure.
Definition ad4858.h:287
bool or_ur_status[AD4858_NUM_CHANNELS]
Definition ad4858.h:291
uint32_t softspan_id[AD4858_NUM_CHANNELS]
Definition ad4858.h:295
uint8_t chn_id[AD4858_NUM_CHANNELS]
Definition ad4858.h:293
uint32_t raw[AD4858_NUM_CHANNELS]
Definition ad4858.h:289
AD4858 device descriptor.
Definition ad4858.h:351
uint16_t chn_or[AD4858_NUM_CHANNELS]
Definition ad4858.h:387
bool test_pattern
Definition ad4858.h:377
enum ad4858_operating_mode operating_mode
Definition ad4858.h:367
enum ad4858_spi_data_mode spi_data_mode
Definition ad4858.h:369
uint32_t chn_offset[AD4858_NUM_CHANNELS]
Definition ad4858.h:381
uint16_t chn_gain[AD4858_NUM_CHANNELS]
Definition ad4858.h:383
struct no_os_gpio_desc * gpio_pd
Definition ad4858.h:355
bool osr_enable
Definition ad4858.h:371
struct no_os_gpio_desc * gpio_busy
Definition ad4858.h:361
uint16_t chn_phase[AD4858_NUM_CHANNELS]
Definition ad4858.h:385
enum ad4858_osr_ratio osr_ratio
Definition ad4858.h:373
enum ad4858_ch_sleep_value chn_sleep_value[AD4858_NUM_CHANNELS]
Definition ad4858.h:393
uint16_t chn_ur[AD4858_NUM_CHANNELS]
Definition ad4858.h:389
bool big_endian
Definition ad4858.h:391
struct no_os_spi_desc * spi_desc
Definition ad4858.h:353
enum ad4858_prod_id prod_id
Definition ad4858.h:363
enum ad4858_ch_seamless_hdr chn_seamless_hdr[AD4858_NUM_CHANNELS]
Definition ad4858.h:395
bool addr_ascension_enable
Definition ad4858.h:365
struct no_os_gpio_desc * gpio_cmos_lvds
Definition ad4858.h:357
enum ad4858_chn_softspan chn_softspan[AD4858_NUM_CHANNELS]
Definition ad4858.h:379
struct no_os_gpio_desc * gpio_cnv
Definition ad4858.h:359
enum ad4858_packet_format packet_format
Definition ad4858.h:375
AD4858 init parameters structure used for initializing the ad4858_dev.
Definition ad4858.h:302
enum ad4858_ch_sleep_value chn_sleep_value[AD4858_NUM_CHANNELS]
Definition ad4858.h:342
struct no_os_gpio_init_param * gpio_cmos_lvds
Definition ad4858.h:308
enum ad4858_osr_ratio osr_ratio
Definition ad4858.h:322
struct no_os_gpio_init_param * gpio_busy
Definition ad4858.h:312
uint16_t chn_or[AD4858_NUM_CHANNELS]
Definition ad4858.h:338
uint16_t chn_phase[AD4858_NUM_CHANNELS]
Definition ad4858.h:336
struct no_os_gpio_init_param * gpio_pd
Definition ad4858.h:306
bool use_default_chn_configs
Definition ad4858.h:328
uint16_t chn_ur[AD4858_NUM_CHANNELS]
Definition ad4858.h:340
bool addr_ascension_enable
Definition ad4858.h:316
bool test_pattern
Definition ad4858.h:326
enum ad4858_operating_mode operating_mode
Definition ad4858.h:318
bool osr_enable
Definition ad4858.h:320
enum ad4858_prod_id prod_id
Definition ad4858.h:314
uint16_t chn_gain[AD4858_NUM_CHANNELS]
Definition ad4858.h:334
uint32_t chn_offset[AD4858_NUM_CHANNELS]
Definition ad4858.h:332
enum ad4858_ch_seamless_hdr chn_seamless_hdr[AD4858_NUM_CHANNELS]
Definition ad4858.h:344
struct no_os_gpio_init_param * gpio_cnv
Definition ad4858.h:310
struct no_os_spi_init_param * spi_init
Definition ad4858.h:304
enum ad4858_packet_format packet_format
Definition ad4858.h:324
enum ad4858_chn_softspan chn_softspan[AD4858_NUM_CHANNELS]
Definition ad4858.h:330
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