Skip to content

Commit 2e229ec

Browse files
authored
Merge pull request #22 from sparkfun/v2.2.10
v2.2.10
2 parents 8e53179 + 58e247f commit 2e229ec

File tree

2 files changed

+9
-4
lines changed

2 files changed

+9
-4
lines changed

library.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
name=SparkFun Qwiic Alphanumeric Display Arduino Library
2-
version=2.2.9
2+
version=2.2.10
33
author=SparkFun Electronics
44
maintainer=SparkFun Electronics
55
sentence=A library to drive the Holtek HT16K33 LED Driver with an Alphanumeric Display.

src/SparkFun_Alphanumeric_Display.cpp

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -475,7 +475,8 @@ bool HT16K33::setDecimalOnOff(uint8_t displayNumber, bool turnOnDecimal, bool up
475475
dat = 0x00;
476476
}
477477

478-
displayRAM[adr + (displayNumber - 1) * 16] = displayRAM[adr + (displayNumber - 1) * 16] | dat;
478+
displayRAM[adr + (displayNumber - 1) * 16] &= 0xFE;
479+
displayRAM[adr + (displayNumber - 1) * 16] |= dat;
479480

480481
if(updateNow)
481482
{
@@ -547,7 +548,8 @@ bool HT16K33::setColonOnOff(uint8_t displayNumber, bool turnOnColon, bool update
547548
dat = 0x00;
548549
}
549550

550-
displayRAM[adr + (displayNumber - 1) * 16] = displayRAM[adr + (displayNumber - 1) * 16] | dat;
551+
displayRAM[adr + (displayNumber - 1) * 16] &= 0xFE;
552+
displayRAM[adr + (displayNumber - 1) * 16] |= dat;
551553

552554
if(updateNow)
553555
{
@@ -759,6 +761,10 @@ size_t HT16K33::write(uint8_t b)
759761
*/
760762
size_t HT16K33::write(const uint8_t *buffer, size_t size)
761763
{
764+
// Do not exceed number of digits available
765+
if(size > 4 * numberOfDisplays)
766+
size = 4 * numberOfDisplays;
767+
762768
size_t n = size;
763769
uint8_t buff;
764770

@@ -782,7 +788,6 @@ size_t HT16K33::write(const uint8_t *buffer, size_t size)
782788
displayContent[digitPosition] = buff; // Record to internal array
783789

784790
digitPosition++;
785-
digitPosition %= (numberOfDisplays * 4);
786791
}
787792
}
788793

0 commit comments

Comments
 (0)