diff --git a/CHANGES.txt b/CHANGES.txt index 8c5eca8..20253f2 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,3 +1,4 @@ +- ISSUE #15: Backwards compatibility with previous Arduino IDE (pure virtual functions were not supported); - ISSUE #18: Corrected problem with setLEDs() caused by changes in the previous version. Version 2.0.0 diff --git a/TM16XX.cpp b/TM16XX.cpp index b05964a..e1f7363 100644 --- a/TM16XX.cpp +++ b/TM16XX.cpp @@ -165,3 +165,9 @@ byte TM16XX::receive() return temp; } + +#if !defined(ARDUINO) || ARDUINO < 100 +// empty implementation instead of pure virtual for older Arduino IDE +void TM16XX::sendChar(byte pos, byte data, boolean dot) {} +#endif + diff --git a/TM16XX.h b/TM16XX.h index 4912cea..1188929 100644 --- a/TM16XX.h +++ b/TM16XX.h @@ -59,7 +59,13 @@ class TM16XX const byte font[] = FONT_DEFAULT); protected: - virtual void sendChar(byte pos, byte data, boolean dot) = 0; + #if defined(ARDUINO) && ARDUINO >= 100 + // pure virtual is NOT supported in older Arduino IDE + virtual void sendChar(byte pos, byte data, boolean dot) = 0; + #else + virtual void sendChar(byte pos, byte data, boolean dot); + #endif + virtual void sendCommand(byte led); virtual void sendData(byte add, byte data);