diff --git a/src/omnicrystal.cpp b/src/omnicrystal.cpp index 22a6579..4e52b72 100644 --- a/src/omnicrystal.cpp +++ b/src/omnicrystal.cpp @@ -57,11 +57,7 @@ Omnicrystal& Omnicrystal::begin(){ return *this; } -Omnicrystal& Omnicrystal::write(const char *text){ - uint16_t i = 0; - while(text[i] != '\0'){ - send((uint8_t)text[i], 1); - i++; - } - return *this; +size_t Omnicrystal::write(uint8_t data){ + send(data, 1); + return 1; } diff --git a/src/omnicrystal.h b/src/omnicrystal.h index cee2078..207b9fe 100644 --- a/src/omnicrystal.h +++ b/src/omnicrystal.h @@ -3,13 +3,14 @@ #define OMNICRYSTAL_H #include +#include #include #include #include enum BusType {Bus4Bits, Bus8Bits}; -class Omnicrystal{ +class Omnicrystal : public Print{ private: LCDInterface &_bridge; const BusType _bus; // tipo de comunicação 4 ou 8 bits @@ -23,7 +24,7 @@ class Omnicrystal{ Omnicrystal(LCDInterface &bridge, const BusType bus, uint8_t line, uint8_t col) : _bridge{bridge}, _bus{bus}, _line{line}, _col{col}{} Omnicrystal& begin(); - Omnicrystal& write(const char *text); + virtual size_t write(uint8_t); }; #endif