36#define IOT_ADC_SUCCESS ( 0 )
37#define IOT_ADC_FAILED ( 1 )
38#define IOT_ADC_INVALID_VALUE ( 2 )
39#define IOT_ADC_NOT_OPEN ( 3 )
40#define IOT_ADC_FUNCTION_NOT_SUPPORTED ( 4 )
41#define IOT_ADC_CH_BUSY ( 5 )
47struct IotAdcDescriptor;
66 void * pvUserContext );
129 uint8_t ucAdcChannel,
131 void * pvUserContext );
193 uint8_t ucAdcChannel );
207 uint8_t ucAdcChannel );
253 uint8_t ucAdcChannel,
254 uint16_t * pusAdcSample );
263typedef struct IotAdcConfig_s
285typedef struct IotAdcChStatus_s
302typedef struct IotAdcChBuffer_s
317typedef struct IoTAdcChain_s
333typedef enum IotAdcIoctlRequest_s
359 void *
const pvBuffer );
int32_t iot_adc_read_sample(IotAdcHandle_t const pxAdc, uint8_t ucAdcChannel, uint16_t *pusAdcSample)
read one ADC data sample. This API will return one ADC sample.
int32_t iot_adc_start(IotAdcHandle_t const pxAdc, uint8_t ucAdcChannel)
Start data acquisition for ADC channel until iot_adc_stop API is called. Data will be passed back to ...
IotAdcChState_t
enum for ADC channel state (idle/busy)
Definition: iot_adc.h:277
@ eChStateIdle
Definition: iot_adc.h:278
@ eChStateBusy
Definition: iot_adc.h:279
int32_t iot_adc_close(IotAdcHandle_t const pxAdc)
Close ADC controller. All pending operation will be cancelled, put ADC module in reset state or low p...
void iot_adc_set_callback(IotAdcHandle_t const pxAdc, uint8_t ucAdcChannel, IotAdcCallback_t xAdcCallback, void *pvUserContext)
Sets channel callback on availability of channel scan data. On availability of ADC scan data,...
void(* IotAdcCallback_t)(uint16_t *pusConvertedData, void *pvUserContext)
ADC notification callback type.
Definition: iot_adc.h:65
IotAdcHandle_t iot_adc_open(int32_t lAdc)
Initializes ADC controller with default configuration. init ADC controller, enable ADC clock,...
struct IotAdcDescriptor * IotAdcHandle_t
IotAdcHandle_t is the handle type returned by calling iot_adc_open(). This is initialized in open and...
Definition: iot_adc.h:54
int32_t iot_adc_ioctl(IotAdcHandle_t const pxAdc, IotAdcIoctlRequest_t xRequest, void *const pvBuffer)
Used for various ADC control functions.
int32_t iot_adc_stop(IotAdcHandle_t const pxAdc, uint8_t ucAdcChannel)
Stop data acquisition for ADC channel.
IotAdcIoctlRequest_t
adc ioctl request types.
Definition: iot_adc.h:334
@ eGetChStatus
Definition: iot_adc.h:337
@ eGetAdcConfig
Definition: iot_adc.h:336
@ eSetAdcChain
Definition: iot_adc.h:339
@ eSetChBuffer
Definition: iot_adc.h:338
@ eSetAdcConfig
Definition: iot_adc.h:335
data structure for ioctl SetChBuffer setting channel data buffer is optional using this ioctl if clie...
Definition: iot_adc.h:303
uint8_t ucAdcChannel
Definition: iot_adc.h:304
void * pvBuffer
Definition: iot_adc.h:305
uint8_t ucBufLen
Definition: iot_adc.h:306
data structure for ioctl GetChStatus
Definition: iot_adc.h:286
uint8_t ucAdcChannel
Definition: iot_adc.h:287
IotAdcChState_t xAdcChState
Definition: iot_adc.h:288
Some ADC host controller supports grouping multiple ADC channels into a chain. When the chain is trig...
Definition: iot_adc.h:318
uint8_t ucBufLen
Definition: iot_adc.h:324
uint8_t ucAdcChannel
Definition: iot_adc.h:319
void * pvBuffer
Definition: iot_adc.h:322
uint16_t usChainMask
Definition: iot_adc.h:325
data structures for ioctl request
Definition: iot_adc.h:264
uint8_t ucAdcResolution
Definition: iot_adc.h:269
uint32_t ulAdcSampleTime
Definition: iot_adc.h:265