diff --git a/library.properties b/library.properties index b0ebfbe..ec12c06 100644 --- a/library.properties +++ b/library.properties @@ -1,5 +1,5 @@ name=SparkFun Qwiic Alphanumeric Display Arduino Library -version=2.2.10 +version=2.2.11 author=SparkFun Electronics maintainer=SparkFun Electronics sentence=A library to drive the Holtek HT16K33 LED Driver with an Alphanumeric Display. diff --git a/src/SparkFun_Alphanumeric_Display.cpp b/src/SparkFun_Alphanumeric_Display.cpp index 22423bc..01ed62c 100644 --- a/src/SparkFun_Alphanumeric_Display.cpp +++ b/src/SparkFun_Alphanumeric_Display.cpp @@ -761,11 +761,6 @@ size_t HT16K33::write(uint8_t b) */ size_t HT16K33::write(const uint8_t *buffer, size_t size) { - // Do not exceed number of digits available - if(size > 4 * numberOfDisplays) - size = 4 * numberOfDisplays; - - size_t n = size; uint8_t buff; // Clear the displayRAM array @@ -773,10 +768,11 @@ size_t HT16K33::write(const uint8_t *buffer, size_t size) displayRAM[i] = 0; digitPosition = 0; + size_t stringIndex = 0; - while (size--) + while (stringIndex < size && digitPosition < (4 * numberOfDisplays)) { - buff = *buffer++; + buff = buffer[stringIndex]; // For special characters like '.' or ':', do not increment the digitPosition if (buff == '.') printChar('.', 0); @@ -789,11 +785,12 @@ size_t HT16K33::write(const uint8_t *buffer, size_t size) digitPosition++; } + stringIndex++; } updateDisplay(); // Send RAM buffer over I2C bus - return n; + return stringIndex; } /*