InES Hardware Abstraction Layer
hal_adc.h
Go to the documentation of this file.
1 /* ----------------------------------------------------------------------------
2  * -- _____ ______ _____ -
3  * -- |_ _| | ____|/ ____| -
4  * -- | | _ __ | |__ | (___ Institute of Embedded Systems -
5  * -- | | | '_ \| __| \___ \ Zurich University of -
6  * -- _| |_| | | | |____ ____) | Applied Sciences -
7  * -- |_____|_| |_|______|_____/ 8401 Winterthur, Switzerland -
8  * ------------------------------------------------------------------------- */
18 /* Re-definition guard */
19 #ifndef _HAL_ADC_H
20 #define _HAL_ADC_H
21 
22 
23 /* User includes */
24 #include "reg_stm32f4xx.h"
25 #include "hal_common.h"
26 
27 
28 /* -- Type definitions
29  * ------------------------------------------------------------------------- */
30 
35 typedef enum {
36  HAL_ADC_CH0 = 0u,
37  HAL_ADC_CH1 = 1u,
38  HAL_ADC_CH2 = 2u,
39  HAL_ADC_CH3 = 3u,
40  HAL_ADC_CH4 = 4u,
41  HAL_ADC_CH5 = 5u,
42  HAL_ADC_CH6 = 6u,
43  HAL_ADC_CH7 = 7u,
44  HAL_ADC_CH8 = 8u,
45  HAL_ADC_CH9 = 9u,
46  HAL_ADC_CH10 = 10u,
47  HAL_ADC_CH11 = 11u,
48  HAL_ADC_CH12 = 12u,
49  HAL_ADC_CH13 = 13u,
50  HAL_ADC_CH14 = 14u,
51  HAL_ADC_CH15 = 15u,
52  HAL_ADC_TEMP = 18u,
53  HAL_ADC_VREF = 17u,
54  HAL_ADC_VBAT = 18u,
56 
61 typedef enum {
62  HAL_ADC_RES_6B = 0x03,
63  HAL_ADC_RES_8B = 0x02,
64  HAL_ADC_RES_10B = 0x01,
67 
72 typedef enum {
78 
79 typedef enum {
80  /* TIM1 */
84  /* TIM2 */
89  /* TIM3 */
92  /* TIM4 */
94  /* TIM5 */
98  /* TIM8 */
101  /* others */
104 
105 typedef enum {
106  /* TIM1 */
109  /* TIM2 */
112  /* TIM3 */
115  /* TIM4 */
120  /* TIM5 */
123  /* TIM8 */
127  /* others */
130 
135 typedef enum {
139 
144 typedef enum {
154 
159 typedef struct {
166  uint8_t nr_conversions;
168 
173 typedef struct {
174  uint8_t rank;
177 
178 
179 /* -- Public function declarations
180  * ------------------------------------------------------------------------- */
181 
186 void hal_adc_reset(reg_adc_t *adc)
187 __attribute__((deprecated("Please use ADCx_RESET().")));
188 
195 
203  hal_adc_channel_t channel,
204  hal_adc_ch_init_t init);
205 
210 void hal_adc_start(reg_adc_t *adc);
211 
216 void hal_adc_stop(reg_adc_t *adc);
217 
223 void hal_adc_set_dma(reg_adc_t *adc,
224  hal_bool_t status);
225 
226 
227 #endif
Definition: hal_adc.h:97
hal_adc_regular_trg_t trigger
Definition: hal_adc.h:164
hal_adc_injected_trg_t
Definition: hal_adc.h:105
Definition: hal_adc.h:52
Definition: hal_adc.h:40
Definition: hal_adc.h:149
Definition: hal_adc.h:48
Definition: hal_adc.h:126
void hal_adc_set_dma(reg_adc_t *adc, hal_bool_t status)
Enables DMA on specified ADC.
Definition: hal_adc.h:121
hal_adc_align_t alignment
Definition: hal_adc.h:165
hal_adc_resolution_t resolution
Definition: hal_adc.h:160
Definition: hal_adc.h:124
Definition: hal_adc.h:73
Definition: hal_adc.h:111
Definition: hal_adc.h:39
Definition: hal_adc.h:119
Definition: hal_adc.h:113
Definition: hal_adc.h:45
Definition: hal_adc.h:65
Definition: hal_adc.h:146
Definition: hal_adc.h:99
Definition: hal_adc.h:116
Registries for STM32F4xx.
Definition: hal_adc.h:87
Definition: hal_adc.h:128
hal_adc_sample_time_t cycles
Definition: hal_adc.h:175
hal_adc_polarity_t polarity
Definition: hal_adc.h:163
Definition: hal_adc.h:54
Definition: hal_adc.h:117
Definition: hal_adc.h:118
Definition: hal_adc.h:100
uint8_t rank
Definition: hal_adc.h:174
Definition: hal_adc.h:114
Definition: hal_adc.h:41
Definition: hal_adc.h:74
Definition: hal_adc.h:110
Definition: hal_adc.h:81
Definition: hal_adc.h:42
Definition: hal_adc.h:75
hal_adc_regular_trg_t
Definition: hal_adc.h:79
Representation of ADC register.
Definition: reg_stm32f4xx.h:567
void hal_adc_reset(reg_adc_t *adc) __attribute__((deprecated("Please use ADCx_RESET().")))
Resets adc to default values.
Initialization structure for analog digital converter.
Definition: hal_adc.h:159
Definition: hal_adc.h:86
Definition: hal_adc.h:43
hal_adc_sample_time_t
Sampling time of channel.
Definition: hal_adc.h:144
Definition: hal_adc.h:62
Definition: hal_adc.h:122
Definition: hal_adc.h:53
void hal_adc_init_base(reg_adc_t *adc, hal_adc_init_t init)
Initializes the specified analog digital converter.
Definition: hal_adc.h:151
void hal_adc_init_channel(reg_adc_t *adc, hal_adc_channel_t channel, hal_adc_ch_init_t init)
Initializes the specified adc channel.
Definition: hal_adc.h:49
Common #defines and typedefs.
Definition: hal_adc.h:150
uint8_t nr_conversions
Definition: hal_adc.h:166
Initialization structure for adc channel.
Definition: hal_adc.h:173
Definition: hal_adc.h:82
Definition: hal_adc.h:91
void hal_adc_stop(reg_adc_t *adc)
Stops specified ADC.
Definition: hal_adc.h:63
Definition: hal_adc.h:76
Definition: hal_adc.h:64
Definition: hal_adc.h:44
Definition: hal_adc.h:147
Definition: hal_adc.h:38
Definition: hal_adc.h:46
Definition: hal_adc.h:145
hal_adc_channel_t
Defines the channel of a ADC.
Definition: hal_adc.h:35
Definition: hal_adc.h:152
Definition: hal_adc.h:148
Definition: hal_adc.h:137
Definition: hal_adc.h:125
Definition: hal_adc.h:108
hal_adc_polarity_t
Polarity of external trigger event.
Definition: hal_adc.h:72
Definition: hal_adc.h:47
hal_bool_t
Often used TRUE / FALSE type.
Definition: hal_common.h:31
Definition: hal_adc.h:93
Definition: hal_adc.h:102
Definition: hal_adc.h:107
hal_adc_resolution_t
Resolution available for the ADC.
Definition: hal_adc.h:61
Definition: hal_adc.h:85
Definition: hal_adc.h:83
hal_bool_t continuous_mode
Definition: hal_adc.h:162
Definition: hal_adc.h:95
Definition: hal_adc.h:88
Definition: hal_adc.h:136
Definition: hal_adc.h:96
hal_bool_t scan_mode
Definition: hal_adc.h:161
Definition: hal_adc.h:36
Definition: hal_adc.h:90
Definition: hal_adc.h:51
void hal_adc_start(reg_adc_t *adc)
Start specified ADC.
Definition: hal_adc.h:50
Definition: hal_adc.h:37
hal_adc_align_t
Alignment of converted data in data register.
Definition: hal_adc.h:135