TM STM32F4xx Libraries  v1.0.0
Libraries for STM32F4xx devices from Tilen Majerle
tm_stm32f4_keypad.h
1 
30 #ifndef TM_KEYPAD_H
31 #define TM_KEYPAD_H 200
32 
33 /* C++ detection */
34 #ifdef __cplusplus
35 extern C {
36 #endif
37 
115 #include "stm32f4xx.h"
116 #include "defines.h"
117 #include "tm_stm32f4_gpio.h"
118 
119 
126 /* Rows */
127 /* Row 1 default */
128 #ifndef KEYPAD_ROW_1_PIN
129 #define KEYPAD_ROW_1_PORT GPIOC
130 #define KEYPAD_ROW_1_PIN GPIO_PIN_1
131 #endif
132 /* Row 2 default */
133 #ifndef KEYPAD_ROW_2_PIN
134 #define KEYPAD_ROW_2_PORT GPIOC
135 #define KEYPAD_ROW_2_PIN GPIO_PIN_2
136 #endif
137 /* Row 3 default */
138 #ifndef KEYPAD_ROW_3_PIN
139 #define KEYPAD_ROW_3_PORT GPIOC
140 #define KEYPAD_ROW_3_PIN GPIO_PIN_3
141 #endif
142 /* Row 4 default */
143 #ifndef KEYPAD_ROW_4_PIN
144 #define KEYPAD_ROW_4_PORT GPIOC
145 #define KEYPAD_ROW_4_PIN GPIO_PIN_5
146 #endif
147 
148 /* Columns */
149 /* Column 1 default */
150 #ifndef KEYPAD_COLUMN_1_PIN
151 #define KEYPAD_COLUMN_1_PORT GPIOD
152 #define KEYPAD_COLUMN_1_PIN GPIO_PIN_0
153 #endif
154 /* Column 2 default */
155 #ifndef KEYPAD_COLUMN_2_PIN
156 #define KEYPAD_COLUMN_2_PORT GPIOD
157 #define KEYPAD_COLUMN_2_PIN GPIO_PIN_1
158 #endif
159 /* Column 3 default */
160 #ifndef KEYPAD_COLUMN_3_PIN
161 #define KEYPAD_COLUMN_3_PORT GPIOD
162 #define KEYPAD_COLUMN_3_PIN GPIO_PIN_2
163 #endif
164 /* Column 4 default */
165 #ifndef KEYPAD_COLUMN_4_PIN
166 #define KEYPAD_COLUMN_4_PORT GPIOD
167 #define KEYPAD_COLUMN_4_PIN GPIO_PIN_3
168 #endif
169 
170 /* Number of milliseconds between 2 reads */
171 #ifndef KEYPAD_READ_INTERVAL
172 #define KEYPAD_READ_INTERVAL 100
173 #endif
174 
175 /* Keypad no pressed */
176 #define KEYPAD_NO_PRESSED (uint8_t)0xFF
177 
191 typedef enum {
208  TM_KEYPAD_Button_NOPRESSED = KEYPAD_NO_PRESSED
210 
214 typedef enum {
218 
235 
242 
249 void TM_KEYPAD_Update(void);
250 
263 /* C++ detection */
264 #ifdef __cplusplus
265 }
266 #endif
267 
268 #endif
269 
TM_KEYPAD_Button_t TM_KEYPAD_Read(void)
Reads keypad data.
Definition: tm_stm32f4_keypad.h:199
TM_KEYPAD_Type_t
Keypad size enumeration.
Definition: tm_stm32f4_keypad.h:214
Definition: tm_stm32f4_keypad.h:215
Definition: tm_stm32f4_keypad.h:196
Definition: tm_stm32f4_keypad.h:206
Definition: tm_stm32f4_keypad.h:216
TM_KEYPAD_Button_t
Keypad button enumeration.
Definition: tm_stm32f4_keypad.h:191
Definition: tm_stm32f4_keypad.h:203
Definition: tm_stm32f4_keypad.h:200
Definition: tm_stm32f4_keypad.h:204
Definition: tm_stm32f4_keypad.h:193
Definition: tm_stm32f4_keypad.h:198
Definition: tm_stm32f4_keypad.h:208
Definition: tm_stm32f4_keypad.h:195
Definition: tm_stm32f4_keypad.h:202
Definition: tm_stm32f4_keypad.h:205
Definition: tm_stm32f4_keypad.h:194
Definition: tm_stm32f4_keypad.h:207
Definition: tm_stm32f4_keypad.h:201
void TM_KEYPAD_Update(void)
Updates keypad.
void TM_KEYPAD_Init(TM_KEYPAD_Type_t type)
Initializes keypad functionality.
Definition: tm_stm32f4_keypad.h:197
Definition: tm_stm32f4_keypad.h:192