ChibiOS/HAL  6.1.0
hal_ext_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_ext_lld.c
19  * @brief PLATFORM EXT subsystem low level driver source.
20  *
21  * @addtogroup EXT
22  * @{
23  */
24 
25 #include "hal.h"
26 
27 #if (HAL_USE_EXT == TRUE) || defined(__DOXYGEN__)
28 
29 /*===========================================================================*/
30 /* Driver local definitions. */
31 /*===========================================================================*/
32 
33 /*===========================================================================*/
34 /* Driver exported variables. */
35 /*===========================================================================*/
36 
37 /**
38  * @brief EXT1 driver identifier.
39  */
40 #if (PLATFORM_EXT_USE_EXT1 == 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 EXT driver initialization.
62  *
63  * @notapi
64  */
65 void ext_lld_init(void) {
66 
67 #if PLATFORM_EXT_USE_EXT1 == TRUE
68  /* Driver initialization.*/
69  extObjectInit(&EXTD1);
70 #endif
71 }
72 
73 /**
74  * @brief Configures and activates the EXT peripheral.
75  *
76  * @param[in] extp pointer to the @p EXTDriver object
77  *
78  * @notapi
79  */
80 void ext_lld_start(EXTDriver *extp) {
81 
82  if (extp->state == EXT_STOP) {
83  /* Enables the peripheral.*/
84 #if PLATFORM_EXT_USE_EXT1 == TRUE
85  if (&EXTD1 == extp) {
86 
87  }
88 #endif
89  }
90  /* Configures the peripheral.*/
91 
92 }
93 
94 /**
95  * @brief Deactivates the EXT peripheral.
96  *
97  * @param[in] extp pointer to the @p EXTDriver object
98  *
99  * @notapi
100  */
101 void ext_lld_stop(EXTDriver *extp) {
102 
103  if (extp->state == EXT_ACTIVE) {
104  /* Resets the peripheral.*/
105 
106  /* Disables the peripheral.*/
107 #if PLATFORM_EXT_USE_EXT1 == TRUE
108  if (&EXTD1 == extp) {
109 
110  }
111 #endif
112  }
113 }
114 
115 /**
116  * @brief Enables an EXT channel.
117  *
118  * @param[in] extp pointer to the @p EXTDriver object
119  * @param[in] channel channel to be enabled
120  *
121  * @notapi
122  */
124 
125  (void)extp;
126  (void)channel;
127 
128 }
129 
130 /**
131  * @brief Disables an EXT channel.
132  *
133  * @param[in] extp pointer to the @p EXTDriver object
134  * @param[in] channel channel to be disabled
135  *
136  * @notapi
137  */
139 
140  (void)extp;
141  (void)channel;
142 
143 }
144 
145 #endif /* HAL_USE_EXT == TRUE */
146 
147 /** @} */
uint32_t expchannel_t
EXT channel identifier.
Definition: hal_ext_lld.h:68
void ext_lld_stop(EXTDriver *extp)
Deactivates the EXT peripheral.
Definition: hal_ext_lld.c:101
HAL subsystem header.
void ext_lld_start(EXTDriver *extp)
Configures and activates the EXT peripheral.
Definition: hal_ext_lld.c:80
void ext_lld_init(void)
Low level EXT driver initialization.
Definition: hal_ext_lld.c:65
void ext_lld_channel_disable(EXTDriver *extp, expchannel_t channel)
Disables an EXT channel.
Definition: hal_ext_lld.c:138
extstate_t state
Driver state.
Definition: hal_ext_lld.h:114
EXTDriver EXTD1
EXT1 driver identifier.
Definition: hal_ext_lld.c:41
Structure representing an EXT driver.
Definition: hal_ext_lld.h:110
void ext_lld_channel_enable(EXTDriver *extp, expchannel_t channel)
Enables an EXT channel.
Definition: hal_ext_lld.c:123
void extObjectInit(EXTDriver *extp)
Initializes the standard part of a EXTDriver structure.
Definition: hal_ext.c:68