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
 | 
					// Decodes side, column, row into n LED
 | 
				
			||||||
int decodeLED(LEDSelect selection);
 | 
					int decodeLED(LEDSelect selection);
 | 
				
			||||||
 | 
					void encodeLED(int n, LEDSelect* Result);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
** Set Color
 | 
					** Set Color
 | 
				
			||||||
@ -19,13 +20,13 @@ int decodeLED(LEDSelect selection);
 | 
				
			|||||||
** The last two propertries can be 255, meaning no information
 | 
					** The last two propertries can be 255, meaning no information
 | 
				
			||||||
** the property that is 255 will be inclusively filled with the CRGB color
 | 
					** 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
 | 
					// Sets every color that isn't black
 | 
				
			||||||
bool updateColors(LEDSelect selection, CRGB* leds);
 | 
					bool updateColors(LEDSelect selection, CRGB* leds);
 | 
				
			||||||
// Mirrors one side to every other side
 | 
					// Mirrors one side to every other side
 | 
				
			||||||
bool mirror(byte side, CRGB* leds);
 | 
					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;
 | 
					  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) {
 | 
					bool setColor(LEDSelect selection, CRGB color, CRGB* leds) {
 | 
				
			||||||
  if (selection.side == 255) {
 | 
					  if (selection.side == 255) {
 | 
				
			||||||
    return false;
 | 
					    return false;
 | 
				
			||||||
@ -113,9 +120,21 @@ bool updateColors(LEDSelect selection, CRGB color, CRGB* leds) {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
bool mirror(byte side, CRGB* leds) {
 | 
					bool mirror(byte side, CRGB* leds) {
 | 
				
			||||||
  /*TODO: figure out memory structure, 
 | 
					  /*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
 | 
					    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
 | 
					#endif
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user