no-OS
Loading...
Searching...
No Matches
ad5710r.h
Go to the documentation of this file.
1/**************************************************************************/
42
43#ifndef _AD5710R_H_
44#define _AD5710R_H_
45
46#include <stdint.h>
47#include <stdbool.h>
48#include "no_os_spi.h"
49#include "no_os_gpio.h"
50#include "no_os_util.h"
51#include "no_os_crc8.h"
52
53#define AD5710R_R1B (1ul << 16)
54#define AD5710R_R2B (2ul << 16)
55#define AD5710R_LEN(x) (x >> 16)
56#define AD5710R_ADDR(x) (x & 0xFFFF)
57#define AD5710R_MD_ADDR_MASK NO_OS_GENMASK(1, 0)
58#define AD5710R_MD_ADDR(x) ((x & AD5710R_MD_ADDR_MASK) << 4)
59
60#define AD5710R_MAX_REG_SIZE 2
61#define AD5710R_MAX_CHANNEL_OP_MODE_0 2
62#define AD5710R_MAX_SHORT_REG_ADDR (AD5710R_R1B | 0x80)
63#define AD5710R_READ_BIT NO_OS_BIT(7)
64#define AD5710R_ADDR_MASK (~AD5710R_READ_BIT)
65#define AD5710R_WRITE_BIT_LONG_INSTR 0x00
66#define AD5710R_EXTERNAL_VREF_MASK NO_OS_BIT(1)
67#define AD5710R_DEFAULT_STATUS_REG_VAL 0x04
68#define AD5710R_SCRATCH_PAD_TEST_VAL 0x34
69#define AD5710R_CRC_POLY 0x07
70#define AD5710R_CRC_SEED 0xA5
71#define AD5710R_REG_ADDR_OPERATING_MODE_CHN(x) (AD5710R_R1B | (0x20 + x/4))
72
73/* Register addresses */
74/* Primary address space */
75#define AD5710R_REG_ADDR_INTERFACE_CONFIG_A (AD5710R_R1B | 0x00)
76#define AD5710R_REG_ADDR_INTERFACE_CONFIG_B (AD5710R_R1B | 0x01)
77#define AD5710R_REG_ADDR_DEVICE_CONFIG (AD5710R_R1B | 0x02)
78#define AD5710R_REG_ADDR_CHIP_TYPE (AD5710R_R1B | 0x03)
79#define AD5710R_REG_ADDR_PRODUCT_ID_L (AD5710R_R1B | 0x04)
80#define AD5710R_REG_ADDR_PRODUCT_ID_H (AD5710R_R1B | 0x05)
81#define AD5710R_REG_ADDR_CHIP_GRADE (AD5710R_R1B | 0x06)
82#define AD5710R_REG_ADDR_SCRATCH_PAD (AD5710R_R1B | 0x0A)
83#define AD5710R_REG_ADDR_SPI_REVISION (AD5710R_R1B | 0x0B)
84#define AD5710R_REG_ADDR_VENDOR_L (AD5710R_R1B | 0x0C)
85#define AD5710R_REG_ADDR_VENDOR_H (AD5710R_R1B | 0x0D)
86#define AD5710R_REG_ADDR_STREAM_MODE (AD5710R_R1B | 0x0E)
87#define AD5710R_REG_ADDR_TRANSFER_REGISTER (AD5710R_R1B | 0x0F)
88#define AD5710R_REG_ADDR_INTERFACE_CONFIG_C (AD5710R_R1B | 0x10)
89#define AD5710R_REG_ADDR_INTERFACE_STATUS_A (AD5710R_R1B | 0x11)
90#define AD5710R_REG_ADDR_OPERATING_MODE_0 (AD5710R_R1B | 0x20)
91#define AD5710R_REG_ADDR_OPERATING_MODE_1 (AD5710R_R1B | 0x21)
92#define AD5710R_REG_ADDR_OUTPUT_CONTROL_0 (AD5710R_R1B | 0x2A)
93#define AD5710R_REG_ADDR_REF_CONTROL_0 (AD5710R_R1B | 0x3C)
94#define AD5710R_REG_ADDR_MUX_OUT_SELECT (AD5710R_R1B | 0x93)
95#define AD5710R_REG_ADDR_STATUS_CONTROL (AD5710R_R1B | 0xC2)
96
97/* DAC configuration registers */
98#define AD5710R_REG_ADDR_HW_LDAC_EN_0 (AD5710R_R1B | 0xD0)
99#define AD5710R_REG_ADDR_SW_LDAC_EN_0 (AD5710R_R1B | 0xD1)
100#define AD5710R_REG_ADDR_DAC_CHN(x) (AD5710R_R2B | (0xD2 + (x * 2)))
101#define AD5710R_REG_ADDR_MULTI_DAC_CH (AD5710R_R2B | 0XE2)
102#define AD5710R_REG_ADDR_MULTI_DAC_SEL_0 (AD5710R_R1B | 0XE4)
103#define AD5710R_REG_ADDR_SW_LDAC_TRIG_A (AD5710R_R1B | 0XE5)
104#define AD5710R_REG_ADDR_MULTI_INPUT_CH (AD5710R_R2B | 0XE6)
105#define AD5710R_REG_ADDR_MULTI_INPUT_SEL_0 (AD5710R_R1B | 0XE8)
106#define AD5710R_REG_ADDR_SW_LDAC_TRIG_B (AD5710R_R1B | 0XE9)
107#define AD5710R_REG_ADDR_INPUT_CHN(x) (AD5710R_R2B | (0xEA + (x * 2)))
108#define AD5710R_V_I_CH_OUTPUT_SELECT (AD5710R_R1B | 0xFF)
109
110/* Register masks */
111/* AD5710R_REG_ADDR_INTERFACE_CONFIG_A bit masks */
112#define AD5710R_MASK_SOFTWARE_RESET (NO_OS_BIT(7) | NO_OS_BIT(0))
113#define AD5710R_MASK_ADDR_ASCENSION NO_OS_BIT(5)
114#define AD5710R_MASK_SDO_ACTIVE NO_OS_BIT(4)
115
116/* AD5710R_REG_ADDR_INTERFACE_CONFIG_B bit masks */
117#define AD5710R_MASK_SINGLE_INST NO_OS_BIT(7)
118#define AD5710R_MASK_SHORT_INSTRUCTION NO_OS_BIT(3)
119
120/* AD5710R_REG_ADDR_DEVICE_CONFIG bit masks */
121#define AD5710R_MASK_OPERATING_MODES NO_OS_GENMASK(1, 0)
122
123/* AD5710R_REG_ADDR_CHIP_GRADE bit masks */
124#define AD5710R_MASK_GRADE NO_OS_GENMASK(7, 4)
125#define AD5710R_MASK_DEVICE_REVISION NO_OS_GENMASK(3, 0)
126
127/* AD5710R_REG_ADDR_STREAM_MODE bit masks */
128#define AD5710R_MASK_LENGTH 0xFF
129
130/* AD5710R_REG_ADDR_TRANSFER_REGISTER bit masks */
131#define AD5710R_MASK_STREAM_LENGTH_KEEP_VALUE NO_OS_BIT(2)
132
133/* AD5710R_REG_ADDR_INTERFACE_CONFIG_C bit masks */
134#define AD5710R_MASK_CRC_ENABLE (NO_OS_GENMASK(7, 6) | NO_OS_GENMASK(1, 0))
135#define AD5710R_MASK_STRICT_REGISTER_ACCESS NO_OS_BIT(5)
136#define AD5710R_MASK_ACTIVE_INTERFACE_MODE NO_OS_GENMASK(3, 2)
137
138/* AD5710R_REG_ADDR_STREAM_MODE bit masks */
139#define AD5710R_MASK_INTERFACE_NOT_READY NO_OS_BIT(7)
140#define AD5710R_MASK_CLOCK_COUNTING_ERROR NO_OS_BIT(4)
141#define AD5710R_MASK_INVALID_OR_NO_CRC NO_OS_BIT(3)
142#define AD5710R_MASK_PARTIAL_REGISTER_ACCESS NO_OS_BIT(1)
143
144/* AD5710R_REG_ADDR_OPERATING_MODE bit masks */
145#define AD5710R_MASK_OPERATING_MODE(x) 0x03 << ((x % 4)*2)
146
147/* AD5710R_REG_ADDR_OUTPUT_CONTROL_0 bit masks */
148#define AD5710R_MASK_OUTPUT_RANGE NO_OS_BIT(2)
149
150/* AD5710R_REG_ADDR_REF_CONTROL_0 bit masks */
151#define AD5710R_MASK_REERENCE_SELECT NO_OS_BIT(0)
152
153/* AD5710R_REG_ADDR_MUX_OUT_SELECT bit masks */
154#define AD5710R_MASK_MUX_SELECT NO_OS_GENMASK(4, 0)
155
156/* AD5710R_REG_ADDR_HW_LDAC_EN_0 bit masks */
157#define AD5710R_MASK_HW_LDAC_EN_0(x) NO_OS_BIT(x)
158
159/* AD5710R_REG_ADDR_SW_LDAC_EN_0 bit masks */
160#define AD5710R_MASK_SW_LDAC_EN_0(x) NO_OS_BIT(x)
161
162/* AD5710R_REG_ADDR_SW_LDAC_TRIG_B bit masks */
163#define AD5710R_MASK_SW_LDAC_TRIG_B NO_OS_BIT(7)
164
165/* Useful defines */
166#define AD5710R_REG_ADDR_MAX 0xFF
167#define AD5710R_NUM_CH 8
168#define AD5710R_MASK_CH(ch) NO_OS_BIT(ch)
169#define AD5710R_LDAC_PULSE_US 1
170#define AD5710R_CH_DAC_DATA_LSB(x) ((x) & 0xFF)
171#define AD5710R_CH_DAC_DATA_MSB(x) ((x) >> 8 & 0xFF)
172#define AD5710R_CRC_ENABLE_VALUE (NO_OS_BIT(6) | NO_OS_BIT(1))
173#define AD5710R_CRC_DISABLE_VALUE (NO_OS_BIT(1) | NO_OS_BIT(0))
174#define AD5710R_NUM_MUX_OUT_SELECTS 27
175#define AD5710R_NUM_REGS 46 // Number of valid registers (mb regs considered a single entity)
176
184
189
198
204 /* External source with Vref I/O as input */
206 /* Internal source with Vref I/O at 2.5V */
208};
209
227
233 /* Range from 0 V to VREF */
235 /* Range from 0 V to 2*VREF */
237};
238
249
255 /* Write to DAC registers. No need to trigger LDAC */
257 /* Write to input registers. User needs to trigger LDAC */
259 /* Write to input registers. LDAC is triggered by the driver */
261};
262
296
297/* By default all values are set to 0 */
299 /* Defines the length of the loop when streaming data */
301 /* Determines Sequential Addressing Behavior */
302 uint8_t addr_asc;
303 /* Select Streaming or Single Instruction Mode */
305 /* Determines the length of the address in the instruction phase */
306 uint8_t short_instr;
307 /*
308 * Set this bit to prevent the STREAM_MODE LENGTH value from
309 * automatically resetting to zero
310 */
312};
313
315 /* Starting address for transfer */
316 uint16_t addr;
317 /* Data to transfer */
318 uint8_t *data;
319 /* Size of data to transfer */
320 uint32_t len;
321 /* Read transaction if true, write transfer otherwise */
322 uint8_t is_read;
323 /* If NULL will be default or last configured will be used */
325};
326
327
344
349 /* If set, reset is done with RESET pin, otherwise it will be soft */
351 /* If set, input register are used and LDAC pulse is sent */
353 /* If set, uses internal reference and outputs internal Vref on Vref pin */
359 /* Set to enable CRC */
360 uint8_t crc_en;
362 /* Device Address Settings */
363 uint8_t dev_addr;
364};
365
366/*****************************************************************************/
367/************************* Functions Declarations ****************************/
368/*****************************************************************************/
369int ad5710r_reg_write(struct ad5710r_desc *desc,
370 uint32_t reg_addr,
371 uint16_t reg_val);
372int ad5710r_reg_read(struct ad5710r_desc *desc,
373 uint32_t reg_addr,
374 uint16_t *reg_val);
375int ad5710r_spi_write_mask(struct ad5710r_desc *desc,
376 uint32_t addr, uint32_t mask, uint16_t val);
378 struct ad5710r_transfer_config *cfg);
380 uint32_t start_addr,
381 uint8_t buff_len,
382 uint8_t *buff);
384 uint32_t addr,
385 uint8_t buff_len,
386 uint8_t *buff);
387int ad5710r_set_reference(struct ad5710r_desc *desc,
388 enum ad5710r_ch_vref_select reference_selector);
390 uint8_t chn_num,
391 enum ad5710r_operating_mode chn_op_mode);
393 enum ad5710r_ch_output_range range_sel);
394int ad5710r_set_crc_enable(struct ad5710r_desc *desc, bool en_di);
396 enum ad5710r_mux_out_select mux_output_sel);
397int ad5710r_set_hw_ldac(struct ad5710r_desc *desc, uint8_t mask_hw_ldac);
398int ad5710r_set_sw_ldac(struct ad5710r_desc *desc, uint8_t mask_sw_ldac);
399int ad5710r_set_dac_value(struct ad5710r_desc *desc,
400 uint16_t dac_value,
401 uint8_t dac_channel,
402 enum ad5710r_write_mode write_mode);
404 uint16_t dac_value,
405 uint8_t dac_chn_mask,
406 enum ad5710r_write_mode write_mode);
407int ad5710r_sw_ldac_trigger(struct ad5710r_desc *desc);
408int ad5710r_hw_ldac_trigger(struct ad5710r_desc *desc);
409int ad5710r_reset(struct ad5710r_desc *desc);
410int ad5710r_channel_output_select(struct ad5710r_desc *desc, uint8_t chn_num,
411 enum ad5710r_ch_mode_select ch_mode);
412int ad5710r_init(struct ad5710r_desc **desc,
414int ad5710r_remove(struct ad5710r_desc *desc);
415
416#endif /* _AD5710R_H_ */
@ VOUT0
Definition ad3530r.h:254
@ TIED_TO_AGND_INTERNALLY
Definition ad3530r.h:279
@ IOUT0_SINK_MODE
Definition ad3530r.h:256
@ IOUT7_SINK_MODE
Definition ad3530r.h:277
@ VOUT5
Definition ad3530r.h:269
@ VOUT4
Definition ad3530r.h:266
@ IOUT5_SOURCE_MODE
Definition ad3530r.h:270
@ VOUT6
Definition ad3530r.h:272
@ VOUT7
Definition ad3530r.h:275
@ DIE_TEMPERATURE
Definition ad3530r.h:278
@ IOUT2_SINK_MODE
Definition ad3530r.h:262
@ IOUT4_SINK_MODE
Definition ad3530r.h:268
@ IOUT6_SOURCE_MODE
Definition ad3530r.h:273
@ IOUT3_SOURCE_MODE
Definition ad3530r.h:264
@ IOUT6_SINK_MODE
Definition ad3530r.h:274
@ IOUT2_SOURCE_MODE
Definition ad3530r.h:261
@ VOUT3
Definition ad3530r.h:263
@ POWERED_DOWN
Definition ad3530r.h:253
@ IOUT1_SOURCE_MODE
Definition ad3530r.h:258
@ IOUT5_SINK_MODE
Definition ad3530r.h:271
@ IOUT1_SINK_MODE
Definition ad3530r.h:259
@ IOUT7_SOURCE_MODE
Definition ad3530r.h:276
@ VOUT2
Definition ad3530r.h:260
@ VOUT1
Definition ad3530r.h:257
@ IOUT0_SOURCE_MODE
Definition ad3530r.h:255
@ IOUT4_SOURCE_MODE
Definition ad3530r.h:267
@ IOUT3_SINK_MODE
Definition ad3530r.h:265
int ad5710r_set_operating_mode(struct ad5710r_desc *desc, uint8_t chn_num, enum ad5710r_operating_mode chn_op_mode)
Set operating mode for each channel.
Definition ad5710r.c:588
int ad5710r_set_reference(struct ad5710r_desc *desc, enum ad5710r_ch_vref_select reference_selector)
Set reference configuration.
Definition ad5710r.c:564
int ad5710r_set_hw_ldac(struct ad5710r_desc *desc, uint8_t mask_hw_ldac)
Set the hardware ldac configuration.
Definition ad5710r.c:682
ad5710r_mux_out_select
Signals to monitor on MUX_OUT pin.
Definition ad5710r.h:267
#define AD5710R_NUM_CH
Definition ad5710r.h:167
int ad5710r_reset(struct ad5710r_desc *desc)
Perform a hard/soft reset.
Definition ad5710r.c:877
int ad5710r_update_interface_cfg(struct ad5710r_desc *desc, struct ad5710r_transfer_config *cfg)
Updates the interface configuration.
Definition ad5710r.c:85
int ad5710r_hw_ldac_trigger(struct ad5710r_desc *desc)
Trigger the LDAC using hardware.
Definition ad5710r.c:852
ad5710r_operating_mode
Operating modes.
Definition ad5710r.h:243
@ AD5710R_CH_OPERATING_MODE_1
Definition ad5710r.h:245
@ AD5710R_CH_OPERATING_MODE_3
Definition ad5710r.h:247
@ AD5710R_CH_OPERATING_MODE_2
Definition ad5710r.h:246
@ AD5710R_CH_OPERATING_MODE_0
Definition ad5710r.h:244
int ad5710r_set_mux_out_select(struct ad5710r_desc *desc, enum ad5710r_mux_out_select mux_output_sel)
Set the multiplexer output select register.
Definition ad5710r.c:661
int ad5710r_multiple_reg_read(struct ad5710r_desc *desc, uint32_t addr, uint8_t buff_len, uint8_t *buff)
Read multiple register's values.
Definition ad5710r.c:496
int ad5710r_reg_write(struct ad5710r_desc *desc, uint32_t reg_addr, uint16_t reg_val)
Write into device register.
Definition ad5710r.c:290
int ad5710r_sw_ldac_trigger(struct ad5710r_desc *desc)
Trigger the LDAC using software.
Definition ad5710r.c:835
ad5710r_ch_mode_select
Channel Mode selects.
Definition ad5710r.h:194
@ VMODE
Definition ad5710r.h:196
@ IMODE
Definition ad5710r.h:195
int ad5710r_set_multidac_value(struct ad5710r_desc *desc, uint16_t dac_value, uint8_t dac_chn_mask, enum ad5710r_write_mode write_mode)
Sets dac value for multiple channels.
Definition ad5710r.c:778
ad5710r_write_mode
Write modes.
Definition ad5710r.h:254
@ AD5710R_WRITE_INPUT_REGS_AND_TRIGGER_LDAC
Definition ad5710r.h:260
@ AD5710R_WRITE_INPUT_REGS
Definition ad5710r.h:258
@ AD5710R_WRITE_DAC_REGS
Definition ad5710r.h:256
int ad5710r_multiple_reg_write(struct ad5710r_desc *desc, uint32_t start_addr, uint8_t buff_len, uint8_t *buff)
Write multiple register's values.
Definition ad5710r.c:361
int ad5710r_set_sw_ldac(struct ad5710r_desc *desc, uint8_t mask_sw_ldac)
Set the software ldac configuration.
Definition ad5710r.c:702
int ad5710r_spi_write_mask(struct ad5710r_desc *desc, uint32_t addr, uint32_t mask, uint16_t val)
SPI write to device using a mask.
Definition ad5710r.c:543
int ad5710r_reg_read(struct ad5710r_desc *desc, uint32_t reg_addr, uint16_t *reg_val)
Read from device register.
Definition ad5710r.c:408
ad5710r_ch_vref_select
Channel voltage reference options.
Definition ad5710r.h:203
@ AD5710R_INTERNAL_VREF_PIN_2P5V
Definition ad5710r.h:207
@ AD5710R_EXTERNAL_VREF_PIN_INPUT
Definition ad5710r.h:205
int ad5710r_remove(struct ad5710r_desc *desc)
Free the device descriptor.
Definition ad5710r.c:1139
int ad5710r_set_dac_value(struct ad5710r_desc *desc, uint16_t dac_value, uint8_t dac_channel, enum ad5710r_write_mode write_mode)
Set dac value based on the user selected DAC update mode.
Definition ad5710r.c:724
int ad5710r_init(struct ad5710r_desc **desc, struct ad5710r_init_param *init_param)
Initialize the device structure.
Definition ad5710r.c:1019
ad5710r_id
Device IDs.
Definition ad5710r.h:181
@ AD5710R_ID
Definition ad5710r.h:182
ad5710r_status
Status bits.
Definition ad5710r.h:214
@ AD5710R_INVALID_OR_NO_CRC
Definition ad5710r.h:223
@ AD5710R_PARTIAL_REGISTER_ACCESS
Definition ad5710r.h:222
@ AD5710R_INTERFACE_NOT_READY
Definition ad5710r.h:217
@ AD5710R_DEVICE_NOT_READY_ERR
Definition ad5710r.h:225
@ AD5710R_CLOCK_COUNTING_ERROR
Definition ad5710r.h:224
@ AD5710R_DAC_UPDATE_STATUS
Definition ad5710r.h:219
@ AD5710R_DEVICE_NOT_READY
Definition ad5710r.h:216
@ AD5710R_RESET_STATUS
Definition ad5710r.h:218
ad5710r_ch_output_range
Channel output range options.
Definition ad5710r.h:232
@ AD5710R_CH_OUTPUT_RANGE_0_2VREF
Definition ad5710r.h:236
@ AD5710R_CH_OUTPUT_RANGE_0_VREF
Definition ad5710r.h:234
int ad5710r_set_output_range(struct ad5710r_desc *desc, enum ad5710r_ch_output_range range_sel)
Set output range for all channels.
Definition ad5710r.c:616
ad5710r_product_id
Definition ad5710r.h:186
@ PROD_ID_AD5710R
Definition ad5710r.h:187
int ad5710r_set_crc_enable(struct ad5710r_desc *desc, bool en_di)
Configures the CRC selection bit.
Definition ad5710r.c:638
int ad5710r_channel_output_select(struct ad5710r_desc *desc, uint8_t chn_num, enum ad5710r_ch_mode_select ch_mode)
Selects the output mode for a specific channel of the AD5710R DAC.
Definition ad5710r.c:958
struct ad7616_init_param init_param
Definition ad7616_sdz.c:107
Header file of CRC-8 computation.
#define NO_OS_CRC8_TABLE_SIZE
Definition no_os_crc8.h:39
Header file of GPIO Interface.
Header file of SPI Interface.
Header file of utility functions.
Definition ad5710r.h:328
struct no_os_spi_desc * spi
Definition ad5710r.h:331
uint8_t crc_table[NO_OS_CRC8_TABLE_SIZE]
Definition ad5710r.h:340
struct no_os_gpio_desc * reset
Definition ad5710r.h:333
enum ad5710r_ch_output_range range
Definition ad5710r.h:336
uint8_t crc_en
Definition ad5710r.h:339
struct ad5710r_transfer_config spi_cfg
Definition ad5710r.h:330
uint8_t hw_ldac_mask
Definition ad5710r.h:337
enum ad5710r_mux_out_select mux_out_sel
Definition ad5710r.h:341
struct no_os_gpio_desc * ldac
Definition ad5710r.h:332
enum ad5710r_operating_mode chn_op_mode[AD5710R_NUM_CH]
Definition ad5710r.h:335
uint8_t sw_ldac_mask
Definition ad5710r.h:338
uint8_t dev_addr
Definition ad5710r.h:342
enum ad5710r_ch_vref_select vref_enable
Definition ad5710r.h:334
enum ad5710r_id chip_id
Definition ad5710r.h:329
Definition ad5710r.h:345
enum ad5710r_ch_output_range range
Definition ad5710r.h:356
uint8_t dev_addr
Definition ad5710r.h:363
uint8_t crc_en
Definition ad5710r.h:360
uint8_t hw_ldac_mask
Definition ad5710r.h:357
enum ad5710r_id chip_id
Definition ad5710r.h:346
enum ad5710r_ch_vref_select vref_enable
Definition ad5710r.h:354
enum ad5710r_mux_out_select mux_out_sel
Definition ad5710r.h:361
uint8_t sw_ldac_mask
Definition ad5710r.h:358
struct ad5710r_transfer_config spi_cfg
Definition ad5710r.h:347
enum ad5710r_operating_mode chn_op_mode[AD5710R_NUM_CH]
Definition ad5710r.h:355
struct no_os_gpio_init_param * reset_gpio_param_optional
Definition ad5710r.h:350
struct no_os_gpio_init_param * ldac_gpio_param_optional
Definition ad5710r.h:352
struct no_os_spi_init_param * spi_param
Definition ad5710r.h:348
Definition ad5710r.h:298
uint8_t stream_mode_length
Definition ad5710r.h:300
uint8_t short_instr
Definition ad5710r.h:306
uint8_t stream_length_keep_value
Definition ad5710r.h:311
uint8_t addr_asc
Definition ad5710r.h:302
uint8_t single_instr
Definition ad5710r.h:304
Definition ad5710r.h:314
uint8_t is_read
Definition ad5710r.h:322
uint32_t len
Definition ad5710r.h:320
struct ad5710r_transfer_config * spi_cfg
Definition ad5710r.h:324
uint8_t * data
Definition ad5710r.h:318
uint16_t addr
Definition ad5710r.h:316
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