Update borg.h
This commit is contained in:
parent
206c4d58ac
commit
0d2b1b7a79
@ -12,6 +12,7 @@ struct LEDSelect {
|
||||
|
||||
// Decodes side, column, row into n LED
|
||||
int decodeLED(LEDSelect selection);
|
||||
void encodeLED(int n, LEDSelect* Result);
|
||||
|
||||
/*
|
||||
** Set Color
|
||||
@ -19,13 +20,13 @@ int decodeLED(LEDSelect selection);
|
||||
** The last two propertries can be 255, meaning no information
|
||||
** the property that is 255 will be inclusively filled with the CRGB color
|
||||
*/
|
||||
bool setColor(LEDSelect selection, CRGB* leds);
|
||||
bool setColor(LEDSelect selection, CRGB color, CRGB* leds);
|
||||
// Sets every color that isn't black
|
||||
bool updateColors(LEDSelect selection, CRGB* leds);
|
||||
// Mirrors one side to every other side
|
||||
bool mirror(byte side, CRGB* leds);
|
||||
|
||||
|
||||
//Prints large X in a given color
|
||||
void printError(CRGB color, CRGB* leds);
|
||||
|
||||
|
||||
|
||||
@ -34,6 +35,12 @@ int decodeLED(LEDSelect selection) {
|
||||
return 9 * selection.side + 3 * selection.row + selection.column;
|
||||
}
|
||||
|
||||
void encodeLED(int n, LEDSelect* Result) {
|
||||
Result->side = n / 9;
|
||||
Result->column = n % 9 / 3;
|
||||
Result->row = n % 9 % 3;
|
||||
}
|
||||
|
||||
bool setColor(LEDSelect selection, CRGB color, CRGB* leds) {
|
||||
if (selection.side == 255) {
|
||||
return false;
|
||||
@ -113,9 +120,21 @@ bool updateColors(LEDSelect selection, CRGB color, CRGB* leds) {
|
||||
|
||||
bool mirror(byte side, CRGB* leds) {
|
||||
/*TODO: figure out memory structure,
|
||||
copy the nine leds to the the different memory parts,
|
||||
copy the nine leds to the the different memory parts, so it the text is displayed on all sides.
|
||||
should probably use some form of modulo
|
||||
*/
|
||||
for(int i = 0; i < sizeof(leds) / sizeof(CRGB); i+=9) {
|
||||
memcpy(&leds[i], &leds[decodeLED({side, 0, 0})], sizeof(CRGB) * 9);
|
||||
}
|
||||
}
|
||||
|
||||
void printError(CRGB color, CRGB* leds) {
|
||||
setColor({0, 255, 255}, (CRGB) color, leds);
|
||||
setColor({0, 0, 1}, (CRGB) 0, leds);
|
||||
setColor({0, 1, 0}, (CRGB) 0, leds);
|
||||
setColor({0, 1, 2}, (CRGB) 0, leds);
|
||||
setColor({0, 2, 1}, (CRGB) 0, leds);
|
||||
mirror(0, leds);
|
||||
}
|
||||
|
||||
#endif
|
||||
|
Loading…
Reference in New Issue
Block a user