Forked para SNOCC

Dependencies:   GPS

Dependents:   SNOCC_V1 SNOCC_V2

Fork of RA8875 by SNOCC

Revision:
29:422616aa04bd
Parent:
19:3f82c1161fd2
Child:
33:b6b710758ab3
diff -r ed102fc442c4 -r 422616aa04bd TextDisplay.cpp
--- a/TextDisplay.cpp	Fri Jan 17 17:24:05 2014 +0000
+++ b/TextDisplay.cpp	Sun Jan 19 04:24:16 2014 +0000
@@ -5,6 +5,20 @@
 
 #include "TextDisplay.h"
 
+#define DEBUG "Text"
+// ...
+// INFO("Stuff to show %d", var); // new-line is automatically appended
+//
+#if (defined(DEBUG) && !defined(TARGET_LPC11U24))
+#define INFO(x, ...) std::printf("[INF %s %3d] "x"\r\n", DEBUG, __LINE__, ##__VA_ARGS__);
+#define WARN(x, ...) std::printf("[WRN %s %3d] "x"\r\n", DEBUG, __LINE__, ##__VA_ARGS__);
+#define ERR(x, ...)  std::printf("[ERR %s %3d] "x"\r\n", DEBUG, __LINE__, ##__VA_ARGS__);
+#else
+#define INFO(x, ...)
+#define WARN(x, ...)
+#define ERR(x, ...)
+#endif
+
 TextDisplay::TextDisplay(const char *name) : Stream(name)
 {
     _row = 0;
@@ -19,6 +33,7 @@
 
 int TextDisplay::_putc(int value)
 {
+    INFO("_putc(%d)", value);
     if(value == '\n') {
         _column = 0;
         _row++;
@@ -42,6 +57,7 @@
 // crude cls implementation, should generally be overwritten in derived class
 RetCode_t TextDisplay::cls()
 {
+    INFO("cls()");
     locate(0, 0);
     for(int i=0; i<columns()*rows(); i++) {
         putc(' ');
@@ -51,6 +67,7 @@
 
 RetCode_t TextDisplay::locate(unsigned int column, unsigned int row)
 {
+    INFO("locate(%d,%d)", column, row);
     _column = column;
     _row = row;
     return noerror;
@@ -63,25 +80,26 @@
 
 RetCode_t TextDisplay::foreground(uint16_t colour)
 {
+    INFO("foreground(%4X)", colour);
     _foreground = colour;
     return noerror;
 }
 
 RetCode_t TextDisplay::background(uint16_t colour)
 {
+    INFO("background(%4X)", colour);
     _background = colour;
     return noerror;
 }
 
-bool TextDisplay::claim (FILE *stream)
+bool TextDisplay::claim(FILE *stream)
 {
     if ( _path == NULL) {
         fprintf(stderr, "claim requires a name to be given in the instantiator of the TextDisplay instance!\r\n");
         return false;
     }
     if (freopen(_path, "w", stream) == NULL) {
-        // Failed, should not happen
-        return false;
+        return false;       // Failed, should not happen
     }
     // make sure we use line buffering
     setvbuf(stdout, NULL, _IOLBF, columns());