diff options
-rw-r--r-- | Debug.h | 24 | ||||
-rw-r--r-- | config-check.h | 8 | ||||
-rw-r--r-- | trygvisio_soil_moisture.ino | 2 |
3 files changed, 33 insertions, 1 deletions
@@ -3,6 +3,22 @@ #include "config-check.h" +#ifdef __AVR_ATtiny85__ +class Serial { +public: + void begin(int); + void write(uint8_t); + int read(); + void print(...); + void println(...); + operator bool(); + bool available(); + void flush(); +}; + +extern Serial Serial; +#endif + enum DebugSink { DEBUG_SINK_SERIAL, DEBUG_SINK_SOFTWARE_SERIAL, @@ -30,6 +46,14 @@ public: return false; }; + inline int read() const { + if (sink == DEBUG_SINK_SERIAL) { + return Serial.read(); + } + + return '\0'; + }; + size_t write(uint8_t value) const { if (sink == DEBUG_SINK_SERIAL) { Serial.write(value); diff --git a/config-check.h b/config-check.h index 45f1af0..63e9b95 100644 --- a/config-check.h +++ b/config-check.h @@ -101,6 +101,8 @@ * Values: * 1: no logging, all logging is discarded * 2: Use Serial. Uses the platforms default Serial port, usually the USB or hardware serial ports on your board. + * + * TODO: Change this to 0=no logging, 1=serial, 2=software serial */ #ifndef DEBUG_SINK @@ -124,6 +126,12 @@ #undef USE_LOW_POWER_MODE #endif +#if DEBUG_SINK == 2 +#warning DEBUG_SINK must be 1 on ATTiny85 boards +#undef DEBUG_SINK +#define DEBUG_SINK 1 +#endif + #endif // __AVR_ATtiny85__ #endif diff --git a/trygvisio_soil_moisture.ino b/trygvisio_soil_moisture.ino index 183cb38..a43ea26 100644 --- a/trygvisio_soil_moisture.ino +++ b/trygvisio_soil_moisture.ino @@ -434,7 +434,7 @@ void loop() { aci_loop(); if (debug.available()) { - debug.write(Serial.read()); + debug.write(debug.read()); } now = millis(); |