Merge pull request #449 from keyboardio/leds/underflow

Fix ledIndex < 0 handling, and fix Chase
pull/451/head
Jesse Vincent 6 years ago committed by GitHub
commit d46454963d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -86,6 +86,9 @@ void Model01::setup(void) {
void Model01::setCrgbAt(int8_t i, cRGB crgb) {
if (i < 0) {
return;
}
if (i < 32) {
cRGB oldColor = getCrgbAt(i);
isLEDChanged |= !(oldColor.r == crgb.r && oldColor.g == crgb.g && oldColor.b == crgb.b);
@ -112,12 +115,13 @@ int8_t Model01::getLedIndex(byte row, byte col) {
}
cRGB Model01::getCrgbAt(int8_t i) {
if (i < 0 || i > 64)
return {0, 0, 0};
if (i < 32) {
return leftHand.ledData.leds[i];
} else if (i < 64) {
return rightHand.ledData.leds[i - 32] ;
} else {
return {0, 0, 0};
return rightHand.ledData.leds[i - 32] ;
}
}

@ -48,7 +48,7 @@ void LEDChaseEffect::update(void) {
// will be out of bounds. The simplest way to do this is to assign it a value that is
// known to be invalid (LED_COUNT).
pos += chase_sign;
if (pos < LED_COUNT) {
if (pos < LED_COUNT && pos > 0) {
pos2 += chase_sign;
} else {
chase_sign = -chase_sign;

Loading…
Cancel
Save