RUI3 (RAK Unified Interface 3) - RAK4631
udrv_adc.h
Go to the documentation of this file.
1 
9 #ifndef _UDRV_ADC_H_
10 #define _UDRV_ADC_H_
11 
12 #ifdef __cplusplus
13 extern "C" {
14 #endif
15 
16 #include <stdint.h>
17 #include <stddef.h>
18 
19 #define UDRV_ADC_SAMPLE_CNT 16
20 
21 typedef enum{
22  UDRV_ADC_RESOLUTION_6BIT = (0UL), //< 6 bit resolution.
23  UDRV_ADC_RESOLUTION_8BIT = (1UL), //< 8 bit resolution.
24  UDRV_ADC_RESOLUTION_10BIT = (2UL), //< 10 bit resolution.
25  UDRV_ADC_RESOLUTION_12BIT = (3UL), //< 12 bit resolution.
26  UDRV_ADC_RESOLUTION_14BIT = (4UL) //< 14 bit resolution.
28 
29 typedef enum{
30  UDRV_ADC_MODE_DEFAULT = (0UL), //default range
31  #ifndef rak11720
32  UDRV_ADC_MODE_3_3 = (1UL), // 0 - 3.3 V
33  UDRV_ADC_MODE_3_0 = (2UL), // 0 - 3 V
34  UDRV_ADC_MODE_2_4 = (3UL), // 0 - 2.4 V
35  UDRV_ADC_MODE_1_8 = (4UL), // 0 - 1.8 V
36  UDRV_ADC_MODE_1_2 = (5UL), // 0 - 1.2 V
37  #else
38  UDRV_ADC_MODE_1_5 = (2UL), // 0 - 1.5 V
39  #endif
41 
42 typedef enum {
47 
59 
66 
82 
89 
90 /*
91 * \brief Configures the oversampling amount used to sample analog input.
92 *
93 * \param ulOversampling Should be set to 1, 2, 4, 8, 16, 32, 64, 128 or 256.
94 */
95 void udrv_adc_oversampling (uint32_t uloversampling);
102 int32_t udrv_adc_read (uint32_t pin, int16_t *value);
103 
108 void udrv_adc_suspend(void);
109 
114 void udrv_adc_resume(void);
115 
116 #ifdef __cplusplus
117 }
118 #endif
119 
120 #endif //_UDRV_ADC_H_
Definition: udrv_adc.h:24
Definition: udrv_adc.h:22
Definition: udrv_adc.h:36
UDRV_ADC_RESOLUTION
Definition: udrv_adc.h:21
Definition: udrv_adc.h:30
void udrv_adc_resume(void)
Definition: udrv_adc.h:44
Definition: udrv_adc.h:33
Definition: udrv_adc.h:45
void udrv_adc_set_resolution(UDRV_ADC_RESOLUTION resolution)
Definition: udrv_adc.h:26
UDRV_ADC_CHANNEL
Definition: udrv_adc.h:42
Definition: udrv_adc.h:32
Definition: udrv_adc.h:35
Definition: udrv_adc.h:23
UDRV_ADC_MODE udrv_adc_get_mode(void)
Definition: udrv_adc.h:25
Definition: udrv_adc.h:34
int32_t udrv_adc_read(uint32_t pin, int16_t *value)
UDRV_ADC_RESOLUTION udrv_adc_get_resolution(void)
Definition: udrv_adc.h:43
void udrv_adc_set_mode(UDRV_ADC_MODE mode)
UDRV_ADC_MODE
Definition: udrv_adc.h:29
void udrv_adc_suspend(void)
void udrv_adc_oversampling(uint32_t uloversampling)