11

Dependents:   Program_R11

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