Go to the documentation of this file.
52 #define AD7768_REG_CH_STANDBY 0x00
53 #define AD7768_REG_CH_MODE_A 0x01
54 #define AD7768_REG_CH_MODE_B 0x02
55 #define AD7768_REG_CH_MODE_SEL 0x03
56 #define AD7768_REG_PWR_MODE 0x04
57 #define AD7768_REG_GENERAL_CFG 0x05
58 #define AD7768_REG_DATA_CTRL 0x06
59 #define AD7768_REG_INTERFACE_CFG 0x07
60 #define AD7768_REG_BIST_CTRL 0x08
61 #define AD7768_REG_DEV_STATUS 0x09
62 #define AD7768_REG_REV_ID 0x0A
63 #define AD7768_REG_DEV_ID_MSB 0x0B
64 #define AD7768_REG_DEV_ID_LSB 0x0C
65 #define AD7768_REG_SW_REV_ID 0x0D
66 #define AD7768_REG_GPIO_CTRL 0x0E
67 #define AD7768_REG_GPIO_WR_DATA 0x0F
68 #define AD7768_REG_GPIO_RD_DATA 0x10
69 #define AD7768_REG_PRECHARGE_BUF_1 0x11
70 #define AD7768_REG_PRECHARGE_BUF_2 0x12
71 #define AD7768_REG_POS_REF_BUF 0x13
72 #define AD7768_REG_NEG_REF_BUF 0x14
73 #define AD7768_REG_CH_OFFSET_1(ch) (0x1E + (ch) * 3)
74 #define AD7768_REG_CH_OFFSET_2(ch) (0x1F + (ch) * 3)
75 #define AD7768_REG_CH_OFFSET_3(ch) (0x20 + (ch) * 3)
76 #define AD7768_REG_CH_GAIN_1(ch) (0x36 + (ch) * 3)
77 #define AD7768_REG_CH_GAIN_2(ch) (0x37 + (ch) * 3)
78 #define AD7768_REG_CH_GAIN_3(ch) (0x38 + (ch) * 3)
79 #define AD7768_REG_CH_SYNC_OFFSET(ch) (0x4E + (ch) * 3)
80 #define AD7768_REG_DIAG_METER_RX 0x56
81 #define AD7768_REG_DIAG_CTRL 0x57
82 #define AD7768_REG_DIAG_MOD_DELAY_CTRL 0x58
83 #define AD7768_REG_DIAG_CHOP_CTRL 0x59
86 #define AD7768_CH_STANDBY(x) (1 << (x))
89 #define AD7768_CH_MODE_FILTER_TYPE (1 << 3)
90 #define AD7768_CH_MODE_DEC_RATE(x) (((x) & 0x7) << 0)
93 #define AD7768_CH_MODE(x) (1 << (x))
96 #define AD7768_PWR_MODE_SLEEP_MODE (1 << 7)
97 #define AD7768_PWR_MODE_POWER_MODE(x) (((x) & 0x3) << 5)
98 #define AD7768_PWR_MODE_LVDS_ENABLE (1 << 3)
99 #define AD7768_PWR_MODE_MCLK_DIV(x) (((x) & 0x3) << 0)
102 #define AD7768_DATA_CTRL_SPI_SYNC (1 << 7)
103 #define AD7768_DATA_CTRL_SINGLE_SHOT_EN (1 << 4)
104 #define AD7768_DATA_CTRL_SPI_RESET(x) (((x) & 0x3) << 0)
107 #define AD7768_INTERFACE_CFG_CRC_SEL(x) (((x) & 0x3) << 2)
108 #define AD7768_INTERFACE_CFG_DCLK_DIV(x) (((x) & 0x3) << 0)
110 #define AD7768_RESOLUTION 24
int32_t ad7768_setup(ad7768_dev **device, ad7768_init_param init_param)
Definition: ad7768.c:622
int32_t ad7768_get_ch_state(ad7768_dev *dev, ad7768_ch ch, ad7768_ch_state *state)
Definition: ad7768.c:495
int32_t ad7768_set_power_mode(ad7768_dev *dev, ad7768_power_mode mode)
Definition: ad7768.c:226
ad7768_sleep_mode sleep_mode
Definition: ad7768.h:228
Structure holding the parameters for GPIO initialization.
Definition: no_os_gpio.h:85
@ AD7768_DEC_X1024_2ND
Definition: ad7768.h:190
ad7768_power_mode
Definition: ad7768.h:120
int32_t ad7768_get_crc_sel(ad7768_dev *dev, ad7768_crc_sel *crc_sel)
Definition: ad7768.c:442
ad7768_sleep_mode sleep_mode
Definition: ad7768.h:204
ad7768_mclk_div
Definition: ad7768.h:126
int32_t ad7768_set_sleep_mode(ad7768_dev *dev, ad7768_sleep_mode mode)
Definition: ad7768.c:162
@ AD7768_CH3
Definition: ad7768.h:160
#define AD7768_CH_MODE_DEC_RATE(x)
Definition: ad7768.h:90
int32_t no_os_spi_write_and_read(struct no_os_spi_desc *desc, uint8_t *data, uint16_t bytes_number)
Write and read data to/from SPI.
Definition: no_os_spi.c:82
ad7768_mclk_div mclk_div
Definition: ad7768.h:206
int32_t ad7768_spi_write_mask(ad7768_dev *dev, uint8_t reg_addr, uint8_t mask, uint8_t data)
Definition: ad7768.c:138
Header file of SPI Interface.
ad7768_pin_spi_ctrl pin_spi_ctrl
Definition: ad7768.h:203
@ AD7768_DEC_X256
Definition: ad7768.h:187
@ AD7768_DEC_X512
Definition: ad7768.h:188
uint8_t gpio_reset_value
Definition: ad7768.h:197
int32_t ad7768_spi_write(ad7768_dev *dev, uint8_t reg_addr, uint8_t reg_data)
Definition: ad7768.c:94
int32_t ad7768_set_sleep_mode(ad7768_dev *dev, ad7768_sleep_mode mode)
Definition: ad7768.c:162
@ AD7768_DCLK_DIV_2
Definition: ad7768.h:135
@ AD7768_DCLK_DIV_1
Definition: ad7768.h:136
@ AD7768_FILTER_SINC
Definition: ad7768.h:180
ad7768_crc_sel crc_sel
Definition: ad7768.h:233
int32_t ad7768_get_ch_mode(ad7768_dev *dev, ad7768_ch ch, ad7768_ch_mode *mode)
Definition: ad7768.c:606
int32_t ad7768_spi_write(ad7768_dev *dev, uint8_t reg_addr, uint8_t reg_data)
Definition: ad7768.c:94
int32_t ad7768_get_mclk_div(ad7768_dev *dev, ad7768_mclk_div *clk_div)
Definition: ad7768.c:298
@ AD7768_FILTER_WIDEBAND
Definition: ad7768.h:179
@ AD7768_STANDARD_CONV
Definition: ad7768.h:145
@ AD7768_DEC_X1024
Definition: ad7768.h:189
no_os_spi_desc * spi_desc
Definition: ad7768.h:195
#define AD7768_REG_CH_STANDBY
Definition: ad7768.h:52
ad7768_crc_sel
Definition: ad7768.h:149
Definition: ad9361_util.h:75
ad7768_dec_rate dec_rate[2]
Definition: ad7768.h:213
int32_t ad7768_get_sleep_mode(ad7768_dev *dev, ad7768_sleep_mode *mode)
Definition: ad7768.c:180
#define AD7768_REG_INTERFACE_CFG
Definition: ad7768.h:59
int32_t ad7768_get_conv_op(ad7768_dev *dev, ad7768_conv_op *conv_op)
Definition: ad7768.c:407
ad7768_ch_state
Definition: ad7768.h:168
int32_t ad7768_get_sleep_mode(ad7768_dev *dev, ad7768_sleep_mode *mode)
Definition: ad7768.c:180
struct no_os_gpio_desc * gpio_mode0
Definition: ad7768.h:198
ad7768_power_mode power_mode
Definition: ad7768.h:205
@ NO_OS_GPIO_LOW
Definition: no_os_gpio.h:121
ad7768_power_mode power_mode
Definition: ad7768.h:229
int32_t ad7768_set_conv_op(ad7768_dev *dev, ad7768_conv_op conv_op)
Definition: ad7768.c:370
@ AD7768_DEC_X64
Definition: ad7768.h:185
@ AD7768_ACTIVE
Definition: ad7768.h:116
int32_t ad7768_set_mode_pins(ad7768_dev *dev, uint8_t state)
Definition: ad7768.c:194
@ AD7768_CH_NO
Definition: ad7768.h:165
int32_t ad7768_set_crc_sel(ad7768_dev *dev, ad7768_crc_sel crc_sel)
Definition: ad7768.c:424
#define AD7768_DATA_CTRL_SINGLE_SHOT_EN
Definition: ad7768.h:103
@ AD7768_DCLK_DIV_8
Definition: ad7768.h:133
@ AD7768_MCLK_DIV_8
Definition: ad7768.h:128
int32_t ad7768_set_mode_config(ad7768_dev *dev, ad7768_ch_mode mode, ad7768_filt_type filt_type, ad7768_dec_rate dec_rate)
Definition: ad7768.c:522
int32_t ad7768_set_crc_sel(ad7768_dev *dev, ad7768_crc_sel crc_sel)
Definition: ad7768.c:424
int32_t ad7768_get_dclk_div(ad7768_dev *dev, ad7768_dclk_div *clk_div)
Definition: ad7768.c:353
#define AD7768_CH_MODE(x)
Definition: ad7768.h:93
ad7768_ch
Definition: ad7768.h:156
ad7768_dclk_div dclk_div
Definition: ad7768.h:207
@ AD7768_MCLK_DIV_4
Definition: ad7768.h:129
int32_t ad7768_get_power_mode(ad7768_dev *dev, ad7768_power_mode *mode)
Definition: ad7768.c:263
ad7768_conv_op conv_op
Definition: ad7768.h:232
int32_t ad7768_set_dclk_div(ad7768_dev *dev, ad7768_dclk_div clk_div)
Definition: ad7768.c:316
@ AD7768_ENABLED
Definition: ad7768.h:169
ad7768_dec_rate
Definition: ad7768.h:183
int32_t ad7768_spi_read_mask(ad7768_dev *dev, uint8_t reg_addr, uint8_t mask, uint8_t *data)
Definition: ad7768.c:116
@ AD7768_CRC_4
Definition: ad7768.h:151
#define AD7768_REG_DATA_CTRL
Definition: ad7768.h:58
ad7768_pin_spi_ctrl
Definition: ad7768.h:139
ad7768_filt_type filt_type[2]
Definition: ad7768.h:212
@ AD7768_DEC_X1024_3RD
Definition: ad7768.h:191
@ AD7768_ECO
Definition: ad7768.h:121
struct no_os_gpio_desc * gpio_mode2
Definition: ad7768.h:200
int32_t ad7768_set_conv_op(ad7768_dev *dev, ad7768_conv_op conv_op)
Definition: ad7768.c:370
struct no_os_gpio_desc * gpio_reset
Definition: ad7768.h:196
ad7768_ch_mode
Definition: ad7768.h:173
int32_t ad7768_setup(ad7768_dev **device, ad7768_init_param init_param)
Definition: ad7768.c:622
#define AD7768_PWR_MODE_POWER_MODE(x)
Definition: ad7768.h:97
ad7768_mclk_div mclk_div
Definition: ad7768.h:230
Header file of AD7768 Driver.
struct no_os_gpio_desc * gpio_mode1
Definition: ad7768.h:199
ad7768_filt_type
Definition: ad7768.h:178
@ AD7768_MEDIAN
Definition: ad7768.h:122
@ AD7768_CH4
Definition: ad7768.h:161
@ AD7768_DEC_X128
Definition: ad7768.h:186
@ AD7768_STANDBY
Definition: ad7768.h:170
#define AD7768_INTERFACE_CFG_DCLK_DIV(x)
Definition: ad7768.h:108
no_os_spi_init_param spi_init
Definition: ad7768.h:218
#define AD7768_PWR_MODE_MCLK_DIV(x)
Definition: ad7768.h:99
Structure holding SPI descriptor.
Definition: no_os_spi.h:132
@ AD7768_CH1
Definition: ad7768.h:158
@ AD7768_MODE_A
Definition: ad7768.h:174
int32_t ad7768_spi_read_mask(ad7768_dev *dev, uint8_t reg_addr, uint8_t mask, uint8_t *data)
Definition: ad7768.c:116
int32_t ad7768_get_conv_op(ad7768_dev *dev, ad7768_conv_op *conv_op)
Definition: ad7768.c:407
ad7768_crc_sel crc_sel
Definition: ad7768.h:209
Structure holding the GPIO descriptor.
Definition: no_os_gpio.h:102
@ AD7768_CH7
Definition: ad7768.h:164
@ AD7768_CH6
Definition: ad7768.h:163
@ AD7768_CRC_16_2ND
Definition: ad7768.h:153
#define AD7768_REG_CH_MODE_B
Definition: ad7768.h:54
ad7768_conv_op
Definition: ad7768.h:144
int32_t ad7768_spi_write_mask(ad7768_dev *dev, uint8_t reg_addr, uint8_t mask, uint8_t data)
Definition: ad7768.c:138
@ AD7768_FAST
Definition: ad7768.h:123
const uint8_t standard_pin_ctrl_mode_sel[3][4]
Definition: ad7768.c:47
ad7768_conv_op conv_op
Definition: ad7768.h:208
int32_t ad7768_set_ch_mode(ad7768_dev *dev, ad7768_ch ch, ad7768_ch_mode mode)
Definition: ad7768.c:578
uint8_t pin_spi_input_value
Definition: ad7768.h:202
@ AD7768_CH2
Definition: ad7768.h:159
int32_t no_os_gpio_get(struct no_os_gpio_desc **desc, const struct no_os_gpio_init_param *param)
Obtain the GPIO decriptor.
Definition: no_os_gpio.c:55
@ AD7768_MCLK_DIV_32
Definition: ad7768.h:127
ad7768_ch_state ch_state[8]
Definition: ad7768.h:210
ad7768_ch_mode ch_mode[8]
Definition: ad7768.h:211
int32_t ad7768_get_mode_config(ad7768_dev *dev, ad7768_ch_mode mode, ad7768_filt_type *filt_type, ad7768_dec_rate *dec_rate)
Definition: ad7768.c:550
@ AD7768_ONE_SHOT_CONV
Definition: ad7768.h:146
int32_t ad7768_get_mclk_div(ad7768_dev *dev, ad7768_mclk_div *clk_div)
Definition: ad7768.c:298
int32_t ad7768_set_power_mode(ad7768_dev *dev, ad7768_power_mode mode)
Definition: ad7768.c:226
int32_t ad7768_set_mode_config(ad7768_dev *dev, ad7768_ch_mode mode, ad7768_filt_type filt_type, ad7768_dec_rate dec_rate)
Definition: ad7768.c:522
@ AD7768_SPI_CTRL
Definition: ad7768.h:141
@ AD7768_DEC_X32
Definition: ad7768.h:184
#define AD7768_REG_PWR_MODE
Definition: ad7768.h:56
int32_t ad7768_get_power_mode(ad7768_dev *dev, ad7768_power_mode *mode)
Definition: ad7768.c:263
struct no_os_gpio_desc * gpio_mode3
Definition: ad7768.h:201
int32_t no_os_gpio_set_value(struct no_os_gpio_desc *desc, uint8_t value)
Set the value of the specified GPIO.
Definition: no_os_gpio.c:160
struct ad7616_init_param init_param
Definition: ad7616_sdz.c:96
int32_t ad7768_set_ch_mode(ad7768_dev *dev, ad7768_ch ch, ad7768_ch_mode mode)
Definition: ad7768.c:578
@ AD7768_PIN_CTRL
Definition: ad7768.h:140
#define AD7768_INTERFACE_CFG_CRC_SEL(x)
Definition: ad7768.h:107
ad7768_dclk_div
Definition: ad7768.h:132
int32_t ad7768_get_mode_config(ad7768_dev *dev, ad7768_ch_mode mode, ad7768_filt_type *filt_type, ad7768_dec_rate *dec_rate)
Definition: ad7768.c:550
int32_t ad7768_set_mclk_div(ad7768_dev *dev, ad7768_mclk_div clk_div)
Definition: ad7768.c:280
@ AD7768_MODE_B
Definition: ad7768.h:175
@ AD7768_CH0
Definition: ad7768.h:157
uint8_t pin_spi_input_value
Definition: ad7768.h:227
@ AD7768_NO_CRC
Definition: ad7768.h:150
int32_t ad7768_spi_read(ad7768_dev *dev, uint8_t reg_addr, uint8_t *reg_data)
Definition: ad7768.c:68
Header file of GPIO Interface.
int32_t ad7768_set_ch_state(ad7768_dev *dev, ad7768_ch ch, ad7768_ch_state state)
Definition: ad7768.c:467
#define AD7768_REG_CH_MODE_A
Definition: ad7768.h:53
int32_t ad7768_set_mclk_div(ad7768_dev *dev, ad7768_mclk_div clk_div)
Definition: ad7768.c:280
int32_t ad7768_get_ch_mode(ad7768_dev *dev, ad7768_ch ch, ad7768_ch_mode *mode)
Definition: ad7768.c:606
#define AD7768_CH_STANDBY(x)
Definition: ad7768.h:86
int32_t no_os_spi_init(struct no_os_spi_desc **desc, const struct no_os_spi_init_param *param)
Initialize the SPI communication peripheral.
Definition: no_os_spi.c:51
@ AD7768_DCLK_DIV_4
Definition: ad7768.h:134
int32_t ad7768_spi_read(ad7768_dev *dev, uint8_t reg_addr, uint8_t *reg_data)
Definition: ad7768.c:68
@ AD7768_SLEEP
Definition: ad7768.h:117
#define AD7768_PWR_MODE_SLEEP_MODE
Definition: ad7768.h:96
#define AD7768_REG_CH_MODE_SEL
Definition: ad7768.h:55
int32_t ad7768_get_dclk_div(ad7768_dev *dev, ad7768_dclk_div *clk_div)
Definition: ad7768.c:353
int32_t no_os_gpio_direction_output(struct no_os_gpio_desc *desc, uint8_t value)
Enable the output direction of the specified GPIO.
Definition: no_os_gpio.c:124
const uint8_t one_shot_pin_ctrl_mode_sel[3][4]
Definition: ad7768.c:54
ad7768_dclk_div dclk_div
Definition: ad7768.h:231
int32_t ad7768_get_crc_sel(ad7768_dev *dev, ad7768_crc_sel *crc_sel)
Definition: ad7768.c:442
int32_t ad7768_set_dclk_div(ad7768_dev *dev, ad7768_dclk_div clk_div)
Definition: ad7768.c:316
ad7768_sleep_mode
Definition: ad7768.h:115
@ AD7768_CRC_16
Definition: ad7768.h:152
uint8_t gpio_reset_value
Definition: ad7768.h:221
int32_t ad7768_get_ch_state(ad7768_dev *dev, ad7768_ch ch, ad7768_ch_state *state)
Definition: ad7768.c:495
int32_t ad7768_set_ch_state(ad7768_dev *dev, ad7768_ch ch, ad7768_ch_state state)
Definition: ad7768.c:467
Structure holding the parameters for SPI initialization.
Definition: no_os_spi.h:112
@ AD7768_CH5
Definition: ad7768.h:162
#define AD7768_CH_MODE_FILTER_TYPE
Definition: ad7768.h:89