Library used during 1 day workshops presented by Skool and ARM Hungary in 2015.
Fork of Skool_wkshp_lib2015 by
keypad.h@1:68d1a8c4970b, 2015-10-01 (annotated)
- Committer:
- lvagasi
- Date:
- Thu Oct 01 19:17:25 2015 +0000
- Revision:
- 1:68d1a8c4970b
- Parent:
- 0:3ad0af8abf43
Almost complete version. Functionally working. Sometimes some keys are repeated. There is no value check.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
lvagasi | 0:3ad0af8abf43 | 1 | #ifndef KEYPAD_H |
lvagasi | 0:3ad0af8abf43 | 2 | #define KEYPAD_H |
lvagasi | 0:3ad0af8abf43 | 3 | |
lvagasi | 0:3ad0af8abf43 | 4 | #include "mbed.h" |
lvagasi | 0:3ad0af8abf43 | 5 | |
lvagasi | 0:3ad0af8abf43 | 6 | // Define your own keypad values |
lvagasi | 0:3ad0af8abf43 | 7 | const char Keytable[] = { '1', '2', '3', 'A', // r0 |
lvagasi | 0:3ad0af8abf43 | 8 | '4', '5', '6', 'B', // r1 |
lvagasi | 0:3ad0af8abf43 | 9 | '7', '8', '9', 'C', // r2 |
lvagasi | 0:3ad0af8abf43 | 10 | '*', '0', '#', 'D' // r3 |
lvagasi | 0:3ad0af8abf43 | 11 | }; |
lvagasi | 0:3ad0af8abf43 | 12 | // c0 c1 c2 c3 |
lvagasi | 0:3ad0af8abf43 | 13 | const uint16_t rows[4] = {GPIO_PIN_5, GPIO_PIN_6, GPIO_PIN_8, GPIO_PIN_9}; |
lvagasi | 0:3ad0af8abf43 | 14 | const uint16_t cols[4] = {GPIO_PIN_10, GPIO_PIN_11, GPIO_PIN_12, 0xFFFF}; |
lvagasi | 0:3ad0af8abf43 | 15 | //const int nrows = 4; |
lvagasi | 0:3ad0af8abf43 | 16 | const int ncols = 3; |
lvagasi | 0:3ad0af8abf43 | 17 | |
lvagasi | 0:3ad0af8abf43 | 18 | void EXTI9_5_IRQHandler(void); |
lvagasi | 0:3ad0af8abf43 | 19 | void HAL_GPIO_EXTI_Callback(uint16_t pin); |
lvagasi | 0:3ad0af8abf43 | 20 | void Init_keypad(void); |
lvagasi | 0:3ad0af8abf43 | 21 | int Poll_keypad_vert(void); |
lvagasi | 0:3ad0af8abf43 | 22 | int Poll_keypad_yesno(void); |
lvagasi | 0:3ad0af8abf43 | 23 | int Poll_keypad_full(void); |
lvagasi | 0:3ad0af8abf43 | 24 | |
lvagasi | 0:3ad0af8abf43 | 25 | #endif |