ChibiOS/HAL  6.1.0
hal_adc_lld.c
Go to the documentation of this file.
1 /*
2  ChibiOS - Copyright (C) 2006..2018 Giovanni Di Sirio
3 
4  Licensed under the Apache License, Version 2.0 (the "License");
5  you may not use this file except in compliance with the License.
6  You may obtain a copy of the License at
7 
8  http://www.apache.org/licenses/LICENSE-2.0
9 
10  Unless required by applicable law or agreed to in writing, software
11  distributed under the License is distributed on an "AS IS" BASIS,
12  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  See the License for the specific language governing permissions and
14  limitations under the License.
15 */
16 
17 /**
18  * @file hal_adc_lld.c
19  * @brief PLATFORM ADC subsystem low level driver source.
20  *
21  * @addtogroup ADC
22  * @{
23  */
24 
25 #include "hal.h"
26 
27 #if (HAL_USE_ADC == TRUE) || defined(__DOXYGEN__)
28 
29 /*===========================================================================*/
30 /* Driver local definitions. */
31 /*===========================================================================*/
32 
33 /*===========================================================================*/
34 /* Driver exported variables. */
35 /*===========================================================================*/
36 
37 /**
38  * @brief ADC1 driver identifier.
39  */
40 #if (PLATFORM_ADC_USE_ADC1 == TRUE) || defined(__DOXYGEN__)
42 #endif
43 
44 /*===========================================================================*/
45 /* Driver local variables and types. */
46 /*===========================================================================*/
47 
48 /*===========================================================================*/
49 /* Driver local functions. */
50 /*===========================================================================*/
51 
52 /*===========================================================================*/
53 /* Driver interrupt handlers. */
54 /*===========================================================================*/
55 
56 /*===========================================================================*/
57 /* Driver exported functions. */
58 /*===========================================================================*/
59 
60 /**
61  * @brief Low level ADC driver initialization.
62  *
63  * @notapi
64  */
65 void adc_lld_init(void) {
66 
67 #if PLATFORM_ADC_USE_ADC1 == TRUE
68  /* Driver initialization.*/
69  adcObjectInit(&ADCD1);
70 #endif
71 }
72 
73 /**
74  * @brief Configures and activates the ADC peripheral.
75  *
76  * @param[in] adcp pointer to the @p ADCDriver object
77  *
78  * @notapi
79  */
80 void adc_lld_start(ADCDriver *adcp) {
81 
82  if (adcp->state == ADC_STOP) {
83  /* Enables the peripheral.*/
84 #if PLATFORM_ADC_USE_ADC1 == TRUE
85  if (&ADCD1 == adcp) {
86 
87  }
88 #endif
89  }
90  /* Configures the peripheral.*/
91 
92 }
93 
94 /**
95  * @brief Deactivates the ADC peripheral.
96  *
97  * @param[in] adcp pointer to the @p ADCDriver object
98  *
99  * @notapi
100  */
101 void adc_lld_stop(ADCDriver *adcp) {
102 
103  if (adcp->state == ADC_READY) {
104  /* Resets the peripheral.*/
105 
106  /* Disables the peripheral.*/
107 #if PLATFORM_ADC_USE_ADC1 == TRUE
108  if (&ADCD1 == adcp) {
109 
110  }
111 #endif
112  }
113 }
114 
115 /**
116  * @brief Starts an ADC conversion.
117  *
118  * @param[in] adcp pointer to the @p ADCDriver object
119  *
120  * @notapi
121  */
123 
124  (void)adcp;
125 }
126 
127 /**
128  * @brief Stops an ongoing conversion.
129  *
130  * @param[in] adcp pointer to the @p ADCDriver object
131  *
132  * @notapi
133  */
135 
136  (void)adcp;
137 }
138 
139 #endif /* HAL_USE_ADC == TRUE */
140 
141 /** @} */
void adcObjectInit(ADCDriver *adcp)
Initializes the standard part of a ADCDriver structure.
Definition: hal_adc.c:68
HAL subsystem header.
void adc_lld_start(ADCDriver *adcp)
Configures and activates the ADC peripheral.
Definition: hal_adc_lld.c:80
void adc_lld_stop_conversion(ADCDriver *adcp)
Stops an ongoing conversion.
Definition: hal_adc_lld.c:134
Structure representing an ADC driver.
Definition: hal_adc_lld.h:144
adcstate_t state
Driver state.
Definition: hal_adc_lld.h:148
void adc_lld_stop(ADCDriver *adcp)
Deactivates the ADC peripheral.
Definition: hal_adc_lld.c:101
ADCDriver ADCD1
ADC1 driver identifier.
Definition: hal_adc_lld.c:41
void adc_lld_init(void)
Low level ADC driver initialization.
Definition: hal_adc_lld.c:65
void adc_lld_start_conversion(ADCDriver *adcp)
Starts an ADC conversion.
Definition: hal_adc_lld.c:122