A library to control a 4x3 matrix style keypad.
Keypad
A basic library to read in pushbutton presses from the Sparkfun Keypad - 12 Button.
The product site and documentation for the keypad is here. https://www.sparkfun.com/products/8653
Keypad.h@0:fef7520ff0a6, 2015-03-11 (annotated)
- Committer:
- mitchpang
- Date:
- Wed Mar 11 14:50:03 2015 +0000
- Revision:
- 0:fef7520ff0a6
test1
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
mitchpang | 0:fef7520ff0a6 | 1 | #ifndef MBED_SPFUN_KEYPAD_H |
mitchpang | 0:fef7520ff0a6 | 2 | #define MBED_SPFUN_KEYPAD_H |
mitchpang | 0:fef7520ff0a6 | 3 | |
mitchpang | 0:fef7520ff0a6 | 4 | #include "mbed.h" |
mitchpang | 0:fef7520ff0a6 | 5 | |
mitchpang | 0:fef7520ff0a6 | 6 | class Keypad |
mitchpang | 0:fef7520ff0a6 | 7 | { |
mitchpang | 0:fef7520ff0a6 | 8 | private: // private member functions |
mitchpang | 0:fef7520ff0a6 | 9 | int getColHit(); |
mitchpang | 0:fef7520ff0a6 | 10 | int getRowHit(); |
mitchpang | 0:fef7520ff0a6 | 11 | char decode(); |
mitchpang | 0:fef7520ff0a6 | 12 | void tristate_all(); |
mitchpang | 0:fef7520ff0a6 | 13 | int log2(int num); |
mitchpang | 0:fef7520ff0a6 | 14 | public: |
mitchpang | 0:fef7520ff0a6 | 15 | |
mitchpang | 0:fef7520ff0a6 | 16 | /** Create an ID12 RFID interface, connected to the specified Serial rx port |
mitchpang | 0:fef7520ff0a6 | 17 | * |
mitchpang | 0:fef7520ff0a6 | 18 | * @param rx Recieve pin |
mitchpang | 0:fef7520ff0a6 | 19 | */ |
mitchpang | 0:fef7520ff0a6 | 20 | Keypad(PinName row1, PinName row2, PinName row3, PinName row4, PinName col1, PinName col2, PinName col3); |
mitchpang | 0:fef7520ff0a6 | 21 | |
mitchpang | 0:fef7520ff0a6 | 22 | int getKey(); |
mitchpang | 0:fef7520ff0a6 | 23 | int isNewAndPressed(); |
mitchpang | 0:fef7520ff0a6 | 24 | |
mitchpang | 0:fef7520ff0a6 | 25 | private: |
mitchpang | 0:fef7520ff0a6 | 26 | BusInOut rows; |
mitchpang | 0:fef7520ff0a6 | 27 | BusInOut cols; |
mitchpang | 0:fef7520ff0a6 | 28 | char last_key_hit; |
mitchpang | 0:fef7520ff0a6 | 29 | int row_hit; |
mitchpang | 0:fef7520ff0a6 | 30 | int col_hit; |
mitchpang | 0:fef7520ff0a6 | 31 | |
mitchpang | 0:fef7520ff0a6 | 32 | }; |
mitchpang | 0:fef7520ff0a6 | 33 | #endif |