Easier way of setting LED values
This commit is contained in:
236
Core/Src/main.c
236
Core/Src/main.c
@@ -80,6 +80,8 @@ void LEDDesign_ColorRed(void);
|
||||
void LEDDesign_Crazy(void);
|
||||
void LEDDesign_Smile(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);
|
||||
|
||||
/* USER CODE END PFP */
|
||||
@@ -912,6 +914,240 @@ void LEDDesign_SuperCrazy(void){
|
||||
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){
|
||||
uint8_t byteToConvert;
|
||||
for (uint8_t i = 0; i < 64; ++i) {
|
||||
|
||||
Reference in New Issue
Block a user