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