Keisuke Sehara
/
STM32_Whisking
fast-feedback virtual target task code on STM Nucleo
Diff: core/IO.cpp
- 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