42#define AD5761R_INPUT_ZERO_BIT (1 << 20)
43#define AD5761R_INPUT_ADDR_CMD(x) (((x) & 0xF) << 16)
44#define AD5761R_INPUT_DATA(x) (((x) & 0xFFFF) << 0)
46#define AD5761R_DATA(x) (((x) & 0xFFFF) << 0)
47#define AD5721R_DATA(x) (((x) & 0xFFF) << 4)
51#define CMD_WR_TO_INPUT_REG 0x1
52#define CMD_UPDATE_DAC_REG 0x2
53#define CMD_WR_UPDATE_DAC_REG 0x3
54#define CMD_WR_CTRL_REG 0x4
55#define CMD_NOP_ALT_1 0x5
56#define CMD_NOP_ALT_2 0x6
57#define CMD_SW_DATA_RESET 0x7
58#define CMD_RESERVED 0x8
59#define CMD_DIS_DAISY_CHAIN 0x9
60#define CMD_RD_INPUT_REG 0xA
61#define CMD_RD_DAC_REG 0xB
62#define CMD_RD_CTRL_REG 0xC
63#define CMD_NOP_ALT_3 0xD
64#define CMD_NOP_ALT_4 0xE
65#define CMD_SW_FULL_RESET 0xF
68#define AD5761R_CTRL_SC (1 << 12)
69#define AD5761R_CTRL_BO (1 << 11)
70#define AD5761R_CTRL_CV(x) (((x) & 0x3) << 9)
71#define AD5761R_CTRL_OVR (1 << 8)
72#define AD5761R_CTRL_B2C (1 << 7)
73#define AD5761R_CTRL_ETS (1 << 6)
74#define AD5761R_CTRL_IRO (1 << 5)
75#define AD5761R_CTRL_PV(x) (((x) & 0x3) << 3)
76#define AD5761R_CTRL_RA(x) (((x) & 0x7) << 0)
79#define AD5761R_DIS_DAISY_CHAIN_DDC(x) (((x) & 0x1) << 0)
160 uint8_t reg_addr_cmd,
164 uint8_t reg_addr_cmd,
int32_t ad5761r_get_clr_pin(struct ad5761r_dev *dev, uint8_t *value)
Definition ad5761r.c:527
int32_t ad5761r_get_short_circuit_condition(struct ad5761r_dev *dev, bool *sc)
Definition ad5761r.c:435
int32_t ad5761r_get_2c_bipolar_range_en_dis(struct ad5761r_dev *dev, bool *en_dis)
Definition ad5761r.c:389
int32_t ad5761r_set_clr_pin(struct ad5761r_dev *dev, uint8_t value)
Definition ad5761r.c:510
int32_t ad5761r_read(struct ad5761r_dev *dev, uint8_t reg_addr_cmd, uint16_t *reg_data)
Definition ad5761r.c:92
int32_t ad5761r_get_overrange_en_dis(struct ad5761r_dev *dev, bool *en_dis)
Definition ad5761r.c:419
int32_t ad5761r_get_reset_pin(struct ad5761r_dev *dev, uint8_t *value)
Definition ad5761r.c:492
int32_t ad5761r_get_ldac_pin(struct ad5761r_dev *dev, uint8_t *value)
Definition ad5761r.c:562
int32_t ad5761r_get_power_up_voltage(struct ad5761r_dev *dev, enum ad5761r_scale *pv)
Definition ad5761r.c:266
int32_t ad5761r_set_power_up_voltage(struct ad5761r_dev *dev, enum ad5761r_scale pv)
Definition ad5761r.c:252
int32_t ad5761r_set_ldac_pin(struct ad5761r_dev *dev, uint8_t value)
Definition ad5761r.c:545
int32_t ad5761r_set_reset_pin(struct ad5761r_dev *dev, uint8_t value)
Definition ad5761r.c:475
int32_t ad5761r_write_input_register(struct ad5761r_dev *dev, uint16_t reg_data)
Definition ad5761r.c:578
int32_t ad5761r_register_readback(struct ad5761r_dev *dev, enum ad5761r_reg reg, uint16_t *reg_data)
Definition ad5761r.c:120
int32_t ad5761r_set_clear_voltage(struct ad5761r_dev *dev, enum ad5761r_scale cv)
Definition ad5761r.c:283
int32_t ad5761r_get_exceed_temp_shutdown_en_dis(struct ad5761r_dev *dev, bool *en_dis)
Definition ad5761r.c:357
int32_t ad5761r_get_brownout_condition(struct ad5761r_dev *dev, bool *bo)
Definition ad5761r.c:455
int32_t ad5761r_set_exceed_temp_shutdown_en_dis(struct ad5761r_dev *dev, bool en_dis)
Definition ad5761r.c:343
int32_t ad5761r_software_data_reset(struct ad5761r_dev *dev)
Definition ad5761r.c:625
int32_t ad5761r_init(struct ad5761r_dev **device, struct ad5761r_init_param init_param)
Definition ad5761r.c:647
ad5761r_range
Definition ad5761r.h:98
@ AD5761R_RANGE_0V_TO_P_5V
Definition ad5761r.h:102
@ AD5761R_RANGE_M_2V5_TO_P_7V5
Definition ad5761r.h:103
@ AD5761R_RANGE_0_V_TO_P_10V
Definition ad5761r.h:100
@ AD5761R_RANGE_0V_TO_P_16V
Definition ad5761r.h:105
@ AD5761R_RANGE_M_5V_TO_P_5V
Definition ad5761r.h:101
@ AD5761R_RANGE_0V_TO_P_20V
Definition ad5761r.h:106
@ AD5761R_RANGE_M_3V_TO_P_3V
Definition ad5761r.h:104
@ AD5761R_RANGE_M_10V_TO_P_10V
Definition ad5761r.h:99
int32_t ad5761r_update_dac_register(struct ad5761r_dev *dev)
Definition ad5761r.c:596
int32_t ad5761r_set_output_range(struct ad5761r_dev *dev, enum ad5761r_range out_range)
Definition ad5761r.c:221
ad5761r_reg
Definition ad5761r.h:86
@ AD5761R_REG_DAC
Definition ad5761r.h:88
@ AD5761R_REG_CTRL
Definition ad5761r.h:89
@ AD5761R_REG_INPUT
Definition ad5761r.h:87
int32_t ad5761r_write_update_dac_register(struct ad5761r_dev *dev, uint16_t reg_data)
Definition ad5761r.c:607
int32_t ad5761r_get_clear_voltage(struct ad5761r_dev *dev, enum ad5761r_scale *cv)
Definition ad5761r.c:297
int32_t ad5761r_set_daisy_chain_en_dis(struct ad5761r_dev *dev, bool en_dis)
Definition ad5761r.c:184
ad5761r_scale
Definition ad5761r.h:92
@ AD5761R_SCALE_FULL
Definition ad5761r.h:95
@ AD5761R_SCALE_HALF
Definition ad5761r.h:94
@ AD5761R_SCALE_ZERO
Definition ad5761r.h:93
int32_t ad5761r_write(struct ad5761r_dev *dev, uint8_t reg_addr_cmd, uint16_t reg_data)
Definition ad5761r.c:58
int32_t ad5761r_set_overrange_en_dis(struct ad5761r_dev *dev, bool en_dis)
Definition ad5761r.c:405
int32_t ad5761r_get_output_range(struct ad5761r_dev *dev, enum ad5761r_range *out_range)
Definition ad5761r.c:235
int32_t ad5761r_software_full_reset(struct ad5761r_dev *dev)
Definition ad5761r.c:635
ad5761r_type
Definition ad5761r.h:81
@ AD5761R
Definition ad5761r.h:82
@ AD5721R
Definition ad5761r.h:83
int32_t ad5761r_set_2c_bipolar_range_en_dis(struct ad5761r_dev *dev, bool en_dis)
Definition ad5761r.c:374
int32_t ad5761r_config(struct ad5761r_dev *dev)
Definition ad5761r.c:161
int32_t ad5761r_set_internal_reference_en_dis(struct ad5761r_dev *dev, bool en_dis)
Definition ad5761r.c:313
int32_t ad5761r_get_daisy_chain_en_dis(struct ad5761r_dev *dev, bool *en_dis)
Definition ad5761r.c:199
int32_t ad5761r_remove(struct ad5761r_dev *dev)
Free the resources allocated by ad5761r_init().
Definition ad5761r.c:704
int32_t ad5761r_get_internal_reference_en_dis(struct ad5761r_dev *dev, bool *en_dis)
Definition ad5761r.c:327
struct ad7616_init_param init_param
Definition ad7616_sdz.c:107
Header file of GPIO Interface.
Header file of SPI Interface.
uint8_t gpio_reset_value
Definition ad5761r.h:114
struct no_os_spi_desc * spi_desc
Definition ad5761r.h:111
bool exc_temp_sd_en
Definition ad5761r.h:125
struct no_os_gpio_desc * gpio_clr
Definition ad5761r.h:115
enum ad5761r_scale pv
Definition ad5761r.h:122
struct no_os_gpio_desc * gpio_reset
Definition ad5761r.h:113
bool int_ref_en
Definition ad5761r.h:124
enum ad5761r_range ra
Definition ad5761r.h:121
bool daisy_chain_en
Definition ad5761r.h:128
uint8_t gpio_ldac_value
Definition ad5761r.h:118
uint8_t gpio_clr_value
Definition ad5761r.h:116
bool b2c_range_en
Definition ad5761r.h:126
enum ad5761r_type type
Definition ad5761r.h:120
enum ad5761r_scale cv
Definition ad5761r.h:123
bool ovr_en
Definition ad5761r.h:127
struct no_os_gpio_desc * gpio_ldac
Definition ad5761r.h:117
bool ovr_en
Definition ad5761r.h:149
struct no_os_gpio_init_param gpio_reset
Definition ad5761r.h:135
bool int_ref_en
Definition ad5761r.h:146
uint8_t gpio_ldac_value
Definition ad5761r.h:140
enum ad5761r_range out_range
Definition ad5761r.h:143
bool exc_temp_sd_en
Definition ad5761r.h:147
bool b2c_range_en
Definition ad5761r.h:148
uint8_t gpio_clr_value
Definition ad5761r.h:138
struct no_os_gpio_init_param gpio_clr
Definition ad5761r.h:137
struct no_os_gpio_init_param gpio_ldac
Definition ad5761r.h:139
enum ad5761r_scale pwr_voltage
Definition ad5761r.h:144
struct no_os_spi_init_param spi_init
Definition ad5761r.h:133
enum ad5761r_type type
Definition ad5761r.h:142
uint8_t gpio_reset_value
Definition ad5761r.h:136
bool daisy_chain_en
Definition ad5761r.h:150
enum ad5761r_scale clr_voltage
Definition ad5761r.h:145
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