fast-feedback virtual target task code on STM Nucleo

Dependencies:   mbed

Revision:
26:b4421d1ee57a
Parent:
0:f736749c33d2
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/core/IO.cpp	Thu Jul 05 20:15:37 2018 +0000
@@ -0,0 +1,66 @@
+#include "IO.h"
+#define NEWLINE "\r\n"
+
+namespace IO {
+    Serial conn(USBTX, USBRX, LOGGER_BAUDRATE);
+    
+    int getc() {
+        return conn.getc();
+    }
+    
+    void config(const char *fmt,...) {
+        std::va_list args;
+        va_start(args, fmt);
+        conn.putc(CONFIG_HEADER);
+        conn.vprintf(fmt, args);
+        va_end(args);
+        conn.printf(NEWLINE);
+    }
+    
+    void info(const char *fmt, ...) {
+        std::va_list args;
+        va_start(args, fmt);
+        conn.putc(INFO_HEADER);
+        conn.vprintf(fmt, args);
+        va_end(args);
+        conn.printf(NEWLINE);
+    }
+    
+    void result(const char *fmt, ...) {
+        std::va_list args;
+        va_start(args, fmt);
+        conn.putc(RESULT_HEADER);
+        conn.vprintf(fmt, args);
+        va_end(args);
+        conn.printf(NEWLINE);
+    }
+    
+    void error(const char *fmt, ...) {
+        std::va_list args;
+        va_start(args, fmt);
+        conn.putc(ERROR_HEADER);
+        conn.vprintf(fmt, args);
+        va_end(args);
+        conn.printf(NEWLINE);
+    }
+    
+    void debug(const char *fmt, ...) {
+        std::va_list args;
+        va_start(args, fmt);
+        conn.putc(DEBUG_HEADER);
+        conn.vprintf(fmt, args);
+        va_end(args);
+        conn.printf(NEWLINE);
+    }
+    
+    void write(const char *fmt, ...) {
+        std::va_list args;
+        va_start(args, fmt);
+        conn.vprintf(fmt, args);
+        va_end(args);
+    }
+    
+    void write(const char& c) {
+        conn.putc(c);
+    }
+}
\ No newline at end of file