Test program for MCP23S17

Dependencies:   ExioController MCP23S17 mbed-rtos mbed

Revision:
11:a057a7a47f6e
Parent:
10:72220f282a8d
Child:
12:5f0db7a87485
--- a/main.cpp	Wed Nov 02 11:01:22 2016 +0000
+++ b/main.cpp	Fri Nov 04 13:11:24 2016 +0000
@@ -2,6 +2,7 @@
 #include "rtos.h"
 
 #include "ExioMcp23s17PinDetect.h"
+//#include "ExioMcp23s17DebounceIn.h"
 #include "ExioMcp23s17RotaryEncoder.h"
 #include "ExioMcp23s17Keypad4x4.h"
 
@@ -26,15 +27,20 @@
 
 int main()
 {
-    //ExioMcp23s17Keypad4x4Test();
-    
     printf("\r\n\n*** ExioMcp23s17Controller test ***\r\n");
     
     Exio.reset();
 
     // set PORTA[6:7] as inputs
-    ExioMcp23s17PinDetect PinA6(Exio, ExioPortA, 6);
-    ExioMcp23s17PinDetect PinA7(Exio, ExioPortA, 7);
+    /*
+    ExioMcp23s17DebounceIn in1(&Exio, ExioPortA, 6);
+    ExioMcp23s17DebounceIn in2(&Exio, ExioPortA, 7);
+    in1.mode(PullUp);
+    in2.mode(PullUp);
+    */
+
+    ExioMcp23s17PinDetect PinA6(&Exio, ExioPortA, 6);
+    ExioMcp23s17PinDetect PinA7(&Exio, ExioPortA, 7);
     
     // assign callback functions
     PinA6.attach_asserted(&pa6Falled);
@@ -50,18 +56,23 @@
     //    ExioMcp23s17& device, ExioPort port, int pin1, int pin2,
     //    int min = 0, int max = 100, int val = 50
     //);
-    ExioMcp23s17RotaryEncoder RotEnc1(Exio, ExioPortA, 0, 1, 0, 100, 50);
+    ExioMcp23s17RotaryEncoder RotEnc1(&Exio, ExioPortA, 0, 1, 0, 100, 50);
     RotEnc1.setInterval(500);
-    ExioMcp23s17RotaryEncoder RotEnc2(Exio, ExioPortA, 2, 3, 0, 100, 50);
+    ExioMcp23s17RotaryEncoder RotEnc2(&Exio, ExioPortA, 2, 3, 0, 100, 50);
     RotEnc2.setInterval(500);
-   
+
     // set PORTB as Keypad 4x4
-    //ExioMcp23s17Keypad4x4 keypad(Exio, ExioPortB);
+    //ExioMcp23s17Keypad4x4 Keypad(&Exio, ExioPortB);
   
     while (true) {
-        int reVal1 = RotEnc1.getVal();
-        int reVal2 = RotEnc2.getVal();
-        printf("state:%d count:%d RE1:%d RE2:%d \r\n", state, count, reVal1, reVal2);
-        //Thread::wait(10);
+        int reVal1, reVal2, kpVal;
+        //state = in1.read();
+        //count = in2.read();
+        reVal1 = RotEnc1.getVal();
+        reVal2 = RotEnc2.getVal();
+        //kpVal  = Keypad.keyScan1();
+        printf("state:%d count:%d RE1:%d RE2:%d KP:%d\r\n", state, count, reVal1, reVal2, kpVal);
+
+        Thread::wait(10);
     }
 }