File syn_adc.h¶
File List > drivers > syn_adc.h
Go to the documentation of this file
#ifndef SYN_ADC_H
#define SYN_ADC_H
#include "../common/syn_defs.h"
#include "../port/syn_port_adc.h"
#ifdef __cplusplus
extern "C" {
#endif
typedef struct {
uint8_t adc_id;
uint32_t channel_mask;
uint32_t vref_mv;
bool use_dma;
} SYN_ADC_Config;
typedef struct {
SYN_ADC_Config cfg;
bool initialized;
} SYN_ADC;
SYN_Status syn_adc_init(SYN_ADC *adc, const SYN_ADC_Config *cfg);
SYN_Status syn_adc_deinit(SYN_ADC *adc);
uint16_t syn_adc_read_raw(SYN_ADC *adc, uint8_t channel);
uint32_t syn_adc_read_mv(SYN_ADC *adc, uint8_t channel);
SYN_Status syn_adc_start_dma_scan(SYN_ADC *adc, uint16_t *buf, size_t num_channels);
#ifdef __cplusplus
}
#endif
#endif /* SYN_ADC_H */