no-OS
Loading...
Searching...
No Matches
ad3530r.h
Go to the documentation of this file.
1/***************************************************************************/
31
32#ifndef _AD3530R_H_
33#define _AD3530R_H_
34
35#include <stdint.h>
36#include <stdbool.h>
37#include "no_os_spi.h"
38#include "no_os_gpio.h"
39#include "no_os_util.h"
40#include "no_os_crc8.h"
41
42#define AD3530R_R1B (1ul << 16)
43#define AD3530R_R2B (2ul << 16)
44#define AD3530R_LEN(x) (x >> 16)
45#define AD3530R_ADDR(x) (x & 0xFFFF)
46
47#define AD3530R_MAX_REG_SIZE 2
48#define AD3530R_MAX_CHANNEL_OP_MODE_0 4
49#define AD3530R_MAX_SHORT_REG_ADDR (AD3530R_R1B | 0x80)
50#define AD3530R_READ_BIT NO_OS_BIT(7)
51#define AD3530R_ADDR_MASK (~AD3530R_READ_BIT)
52#define AD3530R_WRITE_BIT_LONG_INSTR 0x00
53#define AD3530R_EXTERNAL_VREF_MASK NO_OS_BIT(1)
54#define AD3530R_DEFAULT_STATUS_REG_VAL 0x04
55#define AD3530R_SCRATCH_PAD_TEST_VAL 0x34
56#define AD3530R_CRC_POLY 0x07
57#define AD3530R_CRC_SEED 0xA5
58#define AD3530R_REG_ADDR_OPERATING_MODE_CHN(x) (AD3530R_R1B | (0x20 + (((x) & 4) >> 2)))
59
60/* Register addresses */
61/* Primary address space */
62#define AD3530R_REG_ADDR_INTERFACE_CONFIG_A (AD3530R_R1B | 0x00)
63#define AD3530R_REG_ADDR_INTERFACE_CONFIG_B (AD3530R_R1B | 0x01)
64#define AD3530R_REG_ADDR_DEVICE_CONFIG (AD3530R_R1B | 0x02)
65#define AD3530R_REG_ADDR_CHIP_TYPE (AD3530R_R1B | 0x03)
66#define AD3530R_REG_ADDR_PRODUCT_ID_L (AD3530R_R1B | 0x04)
67#define AD3530R_REG_ADDR_PRODUCT_ID_H (AD3530R_R1B | 0x05)
68#define AD3530R_REG_ADDR_CHIP_GRADE (AD3530R_R1B | 0x06)
69#define AD3530R_REG_ADDR_SCRATCH_PAD (AD3530R_R1B | 0x0A)
70#define AD3530R_REG_ADDR_SPI_REVISION (AD3530R_R1B | 0x0B)
71#define AD3530R_REG_ADDR_VENDOR_L (AD3530R_R1B | 0x0C)
72#define AD3530R_REG_ADDR_VENDOR_H (AD3530R_R1B | 0x0D)
73#define AD3530R_REG_ADDR_STREAM_MODE (AD3530R_R1B | 0x0E)
74#define AD3530R_REG_ADDR_TRANSFER_REGISTER (AD3530R_R1B | 0x0F)
75#define AD3530R_REG_ADDR_INTERFACE_CONFIG_C (AD3530R_R1B | 0x10)
76#define AD3530R_REG_ADDR_INTERFACE_STATUS_A (AD3530R_R1B | 0x11)
77#define AD3530R_REG_ADDR_OPERATING_MODE_0 (AD3530R_R1B | 0x20)
78#define AD3530R_REG_ADDR_OPERATING_MODE_1 (AD3530R_R1B | 0x21)
79#define AD3530R_REG_ADDR_OUTPUT_CONTROL_0 (AD3530R_R1B | 0x2A)
80#define AD3530R_REG_ADDR_REF_CONTROL_0 (AD3530R_R1B | 0x3C)
81#define AD3530R_REG_ADDR_MUX_OUT_SELECT (AD3530R_R1B | 0x93)
82#define AD3530R_REG_ADDR_STATUS_CONTROL (AD3530R_R1B | 0xC2)
83
84/* DAC configuration registers */
85#define AD3530R_REG_ADDR_HW_LDAC_EN_0 (AD3530R_R1B | 0xD0)
86#define AD3530R_REG_ADDR_SW_LDAC_EN_0 (AD3530R_R1B | 0xD1)
87#define AD3530R_REG_ADDR_DAC_CHN(x) (AD3530R_R2B | (0xD2 + (((x) & 7) << 1)))
88#define AD3530R_REG_ADDR_MULTI_DAC_CH (AD3530R_R2B | 0XE2)
89#define AD3530R_REG_ADDR_MULTI_DAC_SEL_0 (AD3530R_R1B | 0XE4)
90#define AD3530R_REG_ADDR_SW_LDAC_TRIG_A (AD3530R_R1B | 0XE5)
91#define AD3530R_REG_ADDR_MULTI_INPUT_CH (AD3530R_R2B | 0XE6)
92#define AD3530R_REG_ADDR_MULTI_INPUT_SEL_0 (AD3530R_R1B | 0XE8)
93#define AD3530R_REG_ADDR_SW_LDAC_TRIG_B (AD3530R_R1B | 0XE9)
94#define AD3530R_REG_ADDR_INPUT_CHN(x) (AD3530R_R2B | (0xEA + (((x) & 7) << 1)))
95
96/* Register masks */
97/* AD3530R_REG_ADDR_INTERFACE_CONFIG_A bit masks */
98#define AD3530R_MASK_SOFTWARE_RESET (NO_OS_BIT(7) | NO_OS_BIT(0))
99#define AD3530R_MASK_ADDR_ASCENSION NO_OS_BIT(5)
100#define AD3530R_MASK_SDO_ACTIVE NO_OS_BIT(4)
101
102/* AD3530R_REG_ADDR_INTERFACE_CONFIG_B bit masks */
103#define AD3530R_MASK_SINGLE_INST NO_OS_BIT(7)
104#define AD3530R_MASK_SHORT_INSTRUCTION NO_OS_BIT(3)
105
106/* AD3530R_REG_ADDR_DEVICE_CONFIG bit masks */
107#define AD3530R_MASK_OPERATING_MODES NO_OS_GENMASK(1, 0)
108
109/* AD3530R_REG_ADDR_CHIP_GRADE bit masks */
110#define AD3530R_MASK_GRADE NO_OS_GENMASK(7, 4)
111#define AD3530R_MASK_DEVICE_REVISION NO_OS_GENMASK(3, 0)
112
113/* AD3530R_REG_ADDR_STREAM_MODE bit masks */
114#define AD3530R_MASK_LENGTH 0xFF
115
116/* AD3530R_REG_ADDR_TRANSFER_REGISTER bit masks */
117#define AD3530R_MASK_STREAM_LENGTH_KEEP_VALUE NO_OS_BIT(2)
118
119/* AD3530R_REG_ADDR_INTERFACE_CONFIG_C bit masks */
120#define AD3530R_MASK_CRC_ENABLE (NO_OS_GENMASK(7, 6) | NO_OS_GENMASK(1, 0))
121#define AD3530R_MASK_STRICT_REGISTER_ACCESS NO_OS_BIT(5)
122#define AD3530R_MASK_ACTIVE_INTERFACE_MODE NO_OS_GENMASK(3, 2)
123
124/* AD3530R_REG_ADDR_STREAM_MODE bit masks */
125#define AD3530R_MASK_INTERFACE_NOT_READY NO_OS_BIT(7)
126#define AD3530R_MASK_CLOCK_COUNTING_ERROR NO_OS_BIT(4)
127#define AD3530R_MASK_INVALID_OR_NO_CRC NO_OS_BIT(3)
128#define AD3530R_MASK_PARTIAL_REGISTER_ACCESS NO_OS_BIT(1)
129
130/* AD3530R_REG_ADDR_OPERATING_MODE bit masks */
131#define AD3530R_MASK_OPERATING_MODE(x) 0x03 << ((x % 4)*2)
132
133/* AD3530R_REG_ADDR_OUTPUT_CONTROL_0 bit masks */
134#define AD3530R_MASK_OUTPUT_RANGE NO_OS_BIT(2)
135
136/* AD3530R_REG_ADDR_REF_CONTROL_0 bit masks */
137#define AD3530R_MASK_REERENCE_SELECT NO_OS_BIT(0)
138
139/* AD3530R_REG_ADDR_MUX_OUT_SELECT bit masks */
140#define AD3530R_MASK_MUX_SELECT NO_OS_GENMASK(4, 0)
141
142/* AD3530R_REG_ADDR_HW_LDAC_EN_0 bit masks */
143#define AD3530R_MASK_HW_LDAC_EN_0(x) NO_OS_BIT((x) & 7)
144
145/* AD3530R_REG_ADDR_SW_LDAC_EN_0 bit masks */
146#define AD3530R_MASK_SW_LDAC_EN_0(x) NO_OS_BIT((x) & 7)
147
148/* AD3530R_REG_ADDR_SW_LDAC_TRIG_B bit masks */
149#define AD3530R_MASK_SW_LDAC_TRIG_B NO_OS_BIT(7)
150
151/* Useful defines */
152#define AD3530R_REG_ADDR_MAX 0xF9
153#define AD3530R_NUM_CH 8
154#define AD3530R_MASK_CH(ch) NO_OS_BIT(ch)
155#define AD3530R_LDAC_PULSE_US 1
156#define AD3530R_CH_DAC_DATA_LSB(x) ((x) & 0xFF)
157#define AD3530R_CH_DAC_DATA_MSB(x) ((x) >> 8 & 0xFF)
158#define AD3530R_CRC_ENABLE_VALUE (NO_OS_BIT(6) | NO_OS_BIT(1))
159#define AD3530R_CRC_DISABLE_VALUE (NO_OS_BIT(1) | NO_OS_BIT(0))
160#define AD3530R_NUM_MUX_OUT_SELECTS 27
161#define AD3530R_NUM_REGS 116 // Number of valid registers (mb regs considered a single entity)
162#define AD3530R_CH_GRP(x) ((x) / 8)
163
164/* Useful defines for AD3531R */
165#define AD3531R_NUM_CH 4
166#define AD3531R_NUM_MUX_OUT_SELECTS 27
167#define AD3531R_REG_ADDR_MAX 0xE9
168#define AD3531R_CH_REG_OFFSET 8
169
170/* Useful defines for AD3532R */
171#define AD3532R_MASK_MUX_GRP_SELECT NO_OS_GENMASK(1, 0)
172#define AD3532R_NUM_CH 16
173#define AD3532R_NUM_MUX_OUT_SELECTS 54
174#define AD3532R_CH_REG_OFFSET 8
175#define AD3532R_REG_ADDR_MAX 0x30F9
176
177/* Register set 1 */
178#define AD3532R_RS1 (1ul<<12)
179/* Register set 2 */
180#define AD3532R_RS2 (3ul<<12)
181
182#define AD3532R_REG_ADDR_MUX_OUT_GROUP_SELECT (AD3530R_R1B | 0x1092)
183#define AD3532R_REG_ADDR_MUX_OUT_GROUP_SELECT_SET2 (AD3530R_R1B | 0x3092)
184
185#define AD353XR_MAX_NUM_CH 16
186
196
205
214
220 /* External source with Vref I/O as input */
222 /* Internal source with Vref I/O at 2.5V */
224};
225
239
245 /* Range from 0 V to VREF */
247 /* Range from 0 V to 2*VREF */
249};
250
261
267 /* Write to DAC registers. No need to trigger LDAC */
269 /* Write to input registers. User needs to trigger LDAC */
271 /* Write to input registers. LDAC is triggered by the driver */
273};
274
308
309/* By default all values are set to 0 */
311 /* Defines the length of the loop when streaming data */
313 /* Determines Sequential Addressing Behavior */
314 uint8_t addr_asc;
315 /* Select Streaming or Single Instruction Mode */
317 /* Determines the length of the address in the instruction phase */
318 uint8_t short_instr;
319 /*
320 * Set this bit to prevent the STREAM_MODE LENGTH value from
321 * automatically resetting to zero
322 */
324};
325
327 /* Starting address for transfer */
328 uint16_t addr;
329 /* Data to transfer */
330 uint8_t *data;
331 /* Size of data to transfer */
332 uint32_t len;
333 /* Read transaction if true, write transfer otherwise */
334 uint8_t is_read;
335 /* If NULL will be default or last configured will be used */
337};
338
339
358
363 /* If set, reset is done with RESET pin, otherwise it will be soft */
365 /* If set, input register are used and LDAC pulse is sent */
367 /* If set, uses internal reference and outputs internal Vref on Vref pin */
371 uint16_t hw_ldac_mask;
372 uint16_t sw_ldac_mask;
373 /* Set to enable CRC */
374 uint8_t crc_en;
376};
377
378int ad3530r_reg_write(struct ad3530r_desc *desc,
379 uint32_t reg_addr,
380 uint16_t reg_val);
381int ad3530r_reg_read(struct ad3530r_desc *desc,
382 uint32_t reg_addr,
383 uint16_t *reg_val);
384int ad3530r_spi_write_mask(struct ad3530r_desc *desc,
385 uint32_t addr, uint32_t mask, uint16_t val);
387 struct ad3530r_transfer_config *cfg);
389 uint32_t start_addr,
390 uint8_t buff_len,
391 uint8_t *buff);
393 uint32_t addr,
394 uint8_t buff_len,
395 uint8_t *buff);
396int ad3530r_set_reference(struct ad3530r_desc *desc,
397 enum ad3530r_ch_vref_select reference_selector);
399 uint8_t chn_num,
400 enum ad3530r_operating_mode chn_op_mode);
402 enum ad3530r_ch_output_range range_sel, enum ad3530r_ch_sel chan_sel);
403int ad3530r_set_crc_enable(struct ad3530r_desc *desc, bool en_di);
405 enum ad3532r_mux_out_grp_select grp_sel);
407 enum ad3530r_mux_out_select mux_output_sel);
408int ad3530r_set_hw_ldac(struct ad3530r_desc *desc, uint16_t mask_hw_ldac);
409int ad3530r_set_sw_ldac(struct ad3530r_desc *desc, uint16_t mask_sw_ldac);
410int ad3530r_set_dac_value(struct ad3530r_desc *desc,
411 uint16_t dac_value,
412 uint8_t dac_channel,
413 enum ad3530r_write_mode write_mode);
415 uint16_t dac_value,
416 uint16_t dac_chn_mask,
417 enum ad3530r_write_mode write_mode);
418int ad3530r_sw_ldac_trigger(struct ad3530r_desc *desc);
419int ad3530r_hw_ldac_trigger(struct ad3530r_desc *desc);
420int ad3530r_reset(struct ad3530r_desc *desc);
421int ad3530r_init(struct ad3530r_desc **desc,
423int ad3530r_remove(struct ad3530r_desc *desc);
424uint32_t get_reg_addr(struct ad3530r_desc *desc, uint32_t addr,
425 enum ad3530r_ch_sel ch_sel);
426
427#endif /* _AD3530R_H_ */
int ad3530r_hw_ldac_trigger(struct ad3530r_desc *desc)
Trigger the LDAC using hardware.
Definition ad3530r.c:1007
int ad3530r_reg_write(struct ad3530r_desc *desc, uint32_t reg_addr, uint16_t reg_val)
Write into device register.
Definition ad3530r.c:326
ad3530r_write_mode
Write modes.
Definition ad3530r.h:266
@ AD3530R_WRITE_DAC_REGS
Definition ad3530r.h:268
@ AD3530R_WRITE_INPUT_REGS_AND_TRIGGER_LDAC
Definition ad3530r.h:272
@ AD3530R_WRITE_INPUT_REGS
Definition ad3530r.h:270
int ad3530r_reg_read(struct ad3530r_desc *desc, uint32_t reg_addr, uint16_t *reg_val)
Read from device register.
Definition ad3530r.c:444
ad3530r_mux_out_select
Signals to monitor on MUX_OUT pin.
Definition ad3530r.h:279
@ VOUT0
Definition ad3530r.h:281
@ TIED_TO_AGND_INTERNALLY
Definition ad3530r.h:306
@ IOUT0_SINK_MODE
Definition ad3530r.h:283
@ IOUT7_SINK_MODE
Definition ad3530r.h:304
@ VOUT5
Definition ad3530r.h:296
@ VOUT4
Definition ad3530r.h:293
@ IOUT5_SOURCE_MODE
Definition ad3530r.h:297
@ VOUT6
Definition ad3530r.h:299
@ VOUT7
Definition ad3530r.h:302
@ DIE_TEMPERATURE
Definition ad3530r.h:305
@ IOUT2_SINK_MODE
Definition ad3530r.h:289
@ IOUT4_SINK_MODE
Definition ad3530r.h:295
@ IOUT6_SOURCE_MODE
Definition ad3530r.h:300
@ IOUT3_SOURCE_MODE
Definition ad3530r.h:291
@ IOUT6_SINK_MODE
Definition ad3530r.h:301
@ IOUT2_SOURCE_MODE
Definition ad3530r.h:288
@ VOUT3
Definition ad3530r.h:290
@ POWERED_DOWN
Definition ad3530r.h:280
@ IOUT1_SOURCE_MODE
Definition ad3530r.h:285
@ IOUT5_SINK_MODE
Definition ad3530r.h:298
@ IOUT1_SINK_MODE
Definition ad3530r.h:286
@ IOUT7_SOURCE_MODE
Definition ad3530r.h:303
@ VOUT2
Definition ad3530r.h:287
@ VOUT1
Definition ad3530r.h:284
@ IOUT0_SOURCE_MODE
Definition ad3530r.h:282
@ IOUT4_SOURCE_MODE
Definition ad3530r.h:294
@ IOUT3_SINK_MODE
Definition ad3530r.h:292
ad3532r_mux_out_grp_select
Mux out group select options.
Definition ad3530r.h:210
@ GRP_SELECT_0
Definition ad3530r.h:211
@ GRP_SELECT_1
Definition ad3530r.h:212
ad3530r_id
Device IDs.
Definition ad3530r.h:191
@ AD3531R_ID
Definition ad3530r.h:193
@ AD3532R_ID
Definition ad3530r.h:194
@ AD3530R_ID
Definition ad3530r.h:192
int ad3530r_set_hw_ldac(struct ad3530r_desc *desc, uint16_t mask_hw_ldac)
Definition ad3530r.c:782
ad3530r_operating_mode
Operating modes.
Definition ad3530r.h:255
@ AD3530R_CH_OPERATING_MODE_3
Definition ad3530r.h:259
@ AD3530R_CH_OPERATING_MODE_1
Definition ad3530r.h:257
@ AD3530R_CH_OPERATING_MODE_2
Definition ad3530r.h:258
@ AD3530R_CH_OPERATING_MODE_0
Definition ad3530r.h:256
int ad3530r_set_crc_enable(struct ad3530r_desc *desc, bool en_di)
Definition ad3530r.c:680
int ad3530r_set_sw_ldac(struct ad3530r_desc *desc, uint16_t mask_sw_ldac)
Definition ad3530r.c:810
ad3530r_ch_vref_select
Channel voltage reference options.
Definition ad3530r.h:219
@ AD3530R_EXTERNAL_VREF_PIN_INPUT
Definition ad3530r.h:221
@ AD3530R_INTERNAL_VREF_PIN_2P5V
Definition ad3530r.h:223
#define AD3532R_NUM_CH
Definition ad3530r.h:172
int ad3530r_set_reference(struct ad3530r_desc *desc, enum ad3530r_ch_vref_select reference_selector)
Definition ad3530r.c:600
int ad3530r_sw_ldac_trigger(struct ad3530r_desc *desc)
Trigger the LDAC using software.
Definition ad3530r.c:979
int ad3530r_set_multidac_value(struct ad3530r_desc *desc, uint16_t dac_value, uint16_t dac_chn_mask, enum ad3530r_write_mode write_mode)
Definition ad3530r.c:901
int ad3532r_set_mux_out_grp_select(struct ad3530r_desc *desc, enum ad3532r_mux_out_grp_select grp_sel)
Definition ad3530r.c:710
int ad3530r_set_dac_value(struct ad3530r_desc *desc, uint16_t dac_value, uint8_t dac_channel, enum ad3530r_write_mode write_mode)
Definition ad3530r.c:840
int ad3530r_init(struct ad3530r_desc **desc, struct ad3530r_init_param *init_param)
Initialize the device structure.
Definition ad3530r.c:1173
ad3530r_status
Definition ad3530r.h:226
@ AD3530R_INVALID_OR_NO_CRC
Definition ad3530r.h:235
@ AD3530R_INTERFACE_NOT_READY
Definition ad3530r.h:229
@ AD3530R_DEVICE_NOT_READY
Definition ad3530r.h:228
@ AD3530R_DEVICE_NOT_READY_ERR
Definition ad3530r.h:237
@ AD3530R_CLOCK_COUNTING_ERROR
Definition ad3530r.h:236
@ AD3530R_RESET_STATUS
Definition ad3530r.h:230
@ AD3530R_PARTIAL_REGISTER_ACCESS
Definition ad3530r.h:234
@ AD3530R_DAC_UPDATE_STATUS
Definition ad3530r.h:231
int ad3530r_set_output_range(struct ad3530r_desc *desc, enum ad3530r_ch_output_range range_sel, enum ad3530r_ch_sel chan_sel)
Definition ad3530r.c:657
uint32_t get_reg_addr(struct ad3530r_desc *desc, uint32_t addr, enum ad3530r_ch_sel ch_sel)
Get adjusted register address based on the chip id selected.
Definition ad3530r.c:73
int ad3530r_multiple_reg_read(struct ad3530r_desc *desc, uint32_t addr, uint8_t buff_len, uint8_t *buff)
Read multiple register's values.
Definition ad3530r.c:532
int ad3530r_set_mux_out_select(struct ad3530r_desc *desc, enum ad3530r_mux_out_select mux_output_sel)
Definition ad3530r.c:758
int ad3530r_remove(struct ad3530r_desc *desc)
Free the device descriptor.
Definition ad3530r.c:1278
int ad3530r_multiple_reg_write(struct ad3530r_desc *desc, uint32_t start_addr, uint8_t buff_len, uint8_t *buff)
Write multiple register's values.
Definition ad3530r.c:397
int ad3530r_reset(struct ad3530r_desc *desc)
Perform a hard/soft reset.
Definition ad3530r.c:1032
ad3530r_ch_sel
Channel select options.
Definition ad3530r.h:201
@ CH_8_TO_15
Definition ad3530r.h:203
@ CH_0_TO_7
Definition ad3530r.h:202
int ad3530r_set_operating_mode(struct ad3530r_desc *desc, uint8_t chn_num, enum ad3530r_operating_mode chn_op_mode)
Definition ad3530r.c:625
ad3530r_ch_output_range
Channel output range options.
Definition ad3530r.h:244
@ AD3530R_CH_OUTPUT_RANGE_0_VREF
Definition ad3530r.h:246
@ AD3530R_CH_OUTPUT_RANGE_0_2VREF
Definition ad3530r.h:248
int ad3530r_update_interface_cfg(struct ad3530r_desc *desc, struct ad3530r_transfer_config *cfg)
Updates the interface configuration.
Definition ad3530r.c:120
int ad3530r_spi_write_mask(struct ad3530r_desc *desc, uint32_t addr, uint32_t mask, uint16_t val)
SPI write to device using a mask.
Definition ad3530r.c:579
struct ad7616_init_param init_param
Definition ad7616_sdz.c:106
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 ad3530r.h:340
uint8_t crc_table[NO_OS_CRC8_TABLE_SIZE]
Definition ad3530r.h:352
enum ad3530r_id chip_id
Definition ad3530r.h:341
enum ad3530r_operating_mode chn_op_mode[AD3532R_NUM_CH]
Definition ad3530r.h:347
uint16_t hw_ldac_mask
Definition ad3530r.h:349
enum ad3530r_mux_out_select mux_out_sel
Definition ad3530r.h:353
uint16_t sw_ldac_mask
Definition ad3530r.h:350
uint32_t reg_offset[2]
Definition ad3530r.h:356
struct no_os_spi_desc * spi
Definition ad3530r.h:343
enum ad3530r_ch_vref_select vref_enable
Definition ad3530r.h:346
enum ad3530r_ch_output_range range
Definition ad3530r.h:348
uint8_t num_reg_sets
Definition ad3530r.h:354
struct no_os_gpio_desc * ldac
Definition ad3530r.h:344
struct ad3530r_transfer_config spi_cfg
Definition ad3530r.h:342
struct no_os_gpio_desc * reset
Definition ad3530r.h:345
uint8_t crc_en
Definition ad3530r.h:351
uint8_t num_chans
Definition ad3530r.h:355
Definition ad3530r.h:359
uint16_t hw_ldac_mask
Definition ad3530r.h:371
struct ad3530r_transfer_config spi_cfg
Definition ad3530r.h:361
uint8_t crc_en
Definition ad3530r.h:374
struct no_os_spi_init_param * spi_param
Definition ad3530r.h:362
enum ad3530r_operating_mode chn_op_mode[AD3532R_NUM_CH]
Definition ad3530r.h:369
enum ad3530r_ch_vref_select vref_enable
Definition ad3530r.h:368
enum ad3530r_id chip_id
Definition ad3530r.h:360
enum ad3530r_ch_output_range range
Definition ad3530r.h:370
struct no_os_gpio_init_param * ldac_gpio_param_optional
Definition ad3530r.h:366
uint16_t sw_ldac_mask
Definition ad3530r.h:372
struct no_os_gpio_init_param * reset_gpio_param_optional
Definition ad3530r.h:364
enum ad3530r_mux_out_select mux_out_sel
Definition ad3530r.h:375
Definition ad3530r.h:310
uint8_t single_instr
Definition ad3530r.h:316
uint8_t addr_asc
Definition ad3530r.h:314
uint8_t short_instr
Definition ad3530r.h:318
uint8_t stream_length_keep_value
Definition ad3530r.h:323
uint8_t stream_mode_length
Definition ad3530r.h:312
Definition ad3530r.h:326
struct ad3530r_transfer_config * spi_cfg
Definition ad3530r.h:336
uint32_t len
Definition ad3530r.h:332
uint8_t * data
Definition ad3530r.h:330
uint8_t is_read
Definition ad3530r.h:334
uint16_t addr
Definition ad3530r.h:328
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