serial debug Monitor

Revision:
1:a2fab59c3b98
Parent:
0:de1f07a7cd82
diff -r de1f07a7cd82 -r a2fab59c3b98 debugMonitor.cpp
--- a/debugMonitor.cpp	Thu Aug 23 10:32:26 2018 +0000
+++ b/debugMonitor.cpp	Thu Aug 23 17:53:34 2018 +0000
@@ -1,22 +1,50 @@
 #include "debugMonitor.h"
 #include "main.h"
 
-debugMonitor::debugMonitor(PinName tx, PinName rx) : serial(tx, rx) {}
+
+using namespace std;
+
+debugMonitor::debugMonitor(PinName tx, PinName rx) : serial(tx, rx) {
+  commando = "";    
+}
 
 uint8_t debugMonitor::debugMonitor_Init(void)
 {
     serial.baud(115200);
-    serial.printf("debugMonitor_Init\n");
+    //serial.printf("debugMonitor_Init\n");
+    printLine("debugMonitor_Init()");
+    
+    serial.attach(this, &debugMonitor::readLineCallback);
+    
     return(0);
 }
 
 debugMonitor::~debugMonitor(void) {
 };
 
-void debugMonitor::debugMonitor_Job(void)
+/** Private Functions */
+
+void debugMonitor::readLineCallback()
 {
-    if(serial.readable())
+    char inputChar = serial.getc();
+    
+    if(commando == "test")
     {
-        serial.putc(serial.getc());
+        printLine("cmd was test");
     }
+    
+    commando += inputChar;
+    
+    if(inputChar == '\r')
+    {
+        commando = "";
+        serial.putc('\n');
+    }
+    serial.putc(inputChar);
+}
+
+void debugMonitor::printLine(char *string_p)
+{
+    serial.printf(string_p);
+    serial.printf("\r\n");   
 }
\ No newline at end of file