precision-converters-firmware
Loading...
Searching...
No Matches
ad4692_support.h
Go to the documentation of this file.
1/*************************************************************************/
14#ifndef AD4692_SUPPORT_H
15#define AD4692_SUPPORT_H
16
17/******************************************************************************/
18/***************************** Include Files **********************************/
19/******************************************************************************/
20
21#include "no_os_gpio.h"
22#include "ad4692.h"
23
24/******************************************************************************/
25/********************** Macros and Constants Definition ***********************/
26/******************************************************************************/
27
28/* Maximum number of slots in the advanced sequencer */
29#define AD4692_MAX_SLOTS_AS 128
30
31/* Enable toggling of CS */
32#define CS_CHANGE 1
33
34/* Number of CNV toggles to register the channel ID */
35#define AD4692_N_CNV_TOGGLES 2
36
37/* Exit manual mode */
38#define AD4692_EXIT_MANUAL_MODE 0x0
39
40/******************************************************************************/
41/********************** Variables and User Defined Data Types *****************/
42/******************************************************************************/
43
52
53int ad4692_toggle_cnv(struct no_os_gpio_desc* gpio_cnv);
54int ad4692_configure_channel_priorities(uint8_t* chn_priorities,
55 uint8_t* channel_sequence, uint8_t* num_as_slots, uint8_t *acc_count);
56int ad4692_configure_acc_mask(uint16_t channel_mask,
57 enum ad4692_sequencer_modes sequencer, uint8_t* chn_priorities);
58int ad4692_exit_manual_mode(struct ad4692_desc *desc,
59 struct no_os_gpio_desc* cnv_desc);
60
61#endif /* end of AD4692_SUPPORT_H */
uint8_t channel_sequence[AD4692_MAX_SLOTS_AS]
Definition ad4692_iio.c:380
int ad4692_configure_acc_mask(uint16_t channel_mask, enum ad4692_sequencer_modes sequencer, uint8_t *chn_priorities)
Configure the accumulator mask.
Definition ad4692_support.c:72
ad4692_sequencer_modes
AD4692 sequencer modes.
Definition ad4692_support.h:48
@ STANDARD_SEQUENCER
Definition ad4692_support.h:49
@ ADVANCED_SEQUENCER
Definition ad4692_support.h:50
int ad4692_toggle_cnv(struct no_os_gpio_desc *gpio_cnv)
Toggle CNV GPIO.
Definition ad4692_support.c:42
int ad4692_exit_manual_mode(struct ad4692_desc *desc, struct no_os_gpio_desc *cnv_desc)
Exit manual mode and switch to CNV clock mode.
Definition ad4692_support.c:243
int ad4692_configure_channel_priorities(uint8_t *chn_priorities, uint8_t *channel_sequence, uint8_t *num_as_slots, uint8_t *acc_count)
Configure the advanced sequencer slots.
Definition ad4692_support.c:123