Easier way of setting LED values

This commit is contained in:
William Miceli
2020-08-27 23:45:08 -04:00
parent d45e50fcab
commit 69c48dcf42

View File

@@ -80,6 +80,8 @@ void LEDDesign_ColorRed(void);
void LEDDesign_Crazy(void); void LEDDesign_Crazy(void);
void LEDDesign_Smile(void); void LEDDesign_Smile(void);
void LEDDesign_SuperCrazy(void); void LEDDesign_SuperCrazy(void);
uint8_t lookupLED(uint8_t column, uint8_t row);
void setLED(uint8_t pixelNumber, uint8_t redLevel, uint8_t greenLevel, uint8_t blueLevel);
void updateWS2812BData(void); void updateWS2812BData(void);
/* USER CODE END PFP */ /* USER CODE END PFP */
@@ -912,6 +914,240 @@ void LEDDesign_SuperCrazy(void){
LEDData[i][2] = randomByte; LEDData[i][2] = randomByte;
} }
} }
uint8_t lookupLED(uint8_t column, uint8_t row){
switch(column){
case 0:
switch(row){
case 0:
return 0;
break;
case 1:
return 15;
break;
case 2:
return 16;
break;
case 3:
return 31;
break;
case 4:
return 32;
break;
case 5:
return 47;
break;
case 6:
return 48;
break;
case 7:
return 63;
break;
}
break;
case 1:
switch(row){
case 0:
return 1;
break;
case 1:
return 14;
break;
case 2:
return 17;
break;
case 3:
return 30;
break;
case 4:
return 33;
break;
case 5:
return 46;
break;
case 6:
return 49;
break;
case 7:
return 62;
break;
}
break;
case 2:
switch(row){
case 0:
return 2;
break;
case 1:
return 13;
break;
case 2:
return 18;
break;
case 3:
return 29;
break;
case 4:
return 34;
break;
case 5:
return 45;
break;
case 6:
return 50;
break;
case 7:
return 61;
break;
}
break;
case 3:
switch(row){
case 0:
return 3;
break;
case 1:
return 12;
break;
case 2:
return 19;
break;
case 3:
return 28;
break;
case 4:
return 35;
break;
case 5:
return 44;
break;
case 6:
return 51;
break;
case 7:
return 60;
break;
}
break;
case 4:
switch(row){
case 0:
return 4;
break;
case 1:
return 11;
break;
case 2:
return 20;
break;
case 3:
return 27;
break;
case 4:
return 36;
break;
case 5:
return 43;
break;
case 6:
return 52;
break;
case 7:
return 59;
break;
}
break;
case 5:
switch(row){
case 0:
return 5;
break;
case 1:
return 10;
break;
case 2:
return 21;
break;
case 3:
return 26;
break;
case 4:
return 37;
break;
case 5:
return 42;
break;
case 6:
return 53;
break;
case 7:
return 58;
break;
}
break;
case 6:
switch(row){
case 0:
return 6;
break;
case 1:
return 9;
break;
case 2:
return 22;
break;
case 3:
return 25;
break;
case 4:
return 38;
break;
case 5:
return 41;
break;
case 6:
return 54;
break;
case 7:
return 57;
break;
}
break;
case 7:
switch(row){
case 0:
return 7;
break;
case 1:
return 8;
break;
case 2:
return 23;
break;
case 3:
return 24;
break;
case 4:
return 39;
break;
case 5:
return 40;
break;
case 6:
return 55;
break;
case 7:
return 56;
break;
}
break;
}
return 0;
}
void setLED(uint8_t pixelNumber, uint8_t redLevel, uint8_t greenLevel, uint8_t blueLevel){
LEDData[pixelNumber][0] = greenLevel;
LEDData[pixelNumber][1] = redLevel;
LEDData[pixelNumber][2] = blueLevel;
}
void updateWS2812BData(void){ void updateWS2812BData(void){
uint8_t byteToConvert; uint8_t byteToConvert;
for (uint8_t i = 0; i < 64; ++i) { for (uint8_t i = 0; i < 64; ++i) {