11
Diff: keypad.h
- Revision:
- 10:9a9ec143840b
- Parent:
- 9:e48ba5b4c497
- Child:
- 11:a45e64141ce6
--- a/keypad.h Tue Jan 31 00:31:58 2012 +0000 +++ b/keypad.h Fri Nov 02 22:42:28 2012 +0000 @@ -40,31 +40,32 @@ * @code * #include "mbed.h" * #include "keypad.h" - * + * * // Define your own keypad values * char Keytable[] = { '1', '2', '3', 'A', * '4', '5', '6', 'B', * '7', '8', '9', 'C', * '*', '0', '#', 'D' * }; - * + * * uint32_t cbAfterInput(uint32_t index) { * printf("Index:%d => Key:%c\n", key, Keytable[index]); * return 0; * } - * + * * int main() { * Keypad keypad(p25, p26, p27, p28, p21, p22, p23, p24); * keypad.CallAfterInput(&cbAfterInput); * keypad.Start(); - * + * * while (1) { * wait_ms(100); * } * } * @endcode */ -class Keypad { +class Keypad +{ public: /** Create a Keypad interface * @@ -95,17 +96,17 @@ InterruptIn _row1; InterruptIn _row2; InterruptIn _row3; - BusOut _cols; + BusInOut _cols; // BusOut doesn't support mode() yet; need open drain to prevent short circuits... int _debounce; FPointer _input; // Called after each input void _callback(int row, InterruptIn &therow); - void _cbRow0Rise(void); - void _cbRow1Rise(void); - void _cbRow2Rise(void); - void _cbRow3Rise(void); - void _setupRiseTrigger(void); + void _cbRow0Fall(void); + void _cbRow1Fall(void); + void _cbRow2Fall(void); + void _cbRow3Fall(void); + void _setupFallTrigger(void); void _dummy(void) { }; }; -#endif // KEYPAD_H \ No newline at end of file +#endif // KEYPAD_H