changeset 367:8a6c2d410ad9

Adding color association to layers
author Jacob Alexander <haata@kiibohd.com>
date Tue, 18 Aug 2015 10:46:55 -0700
parents 95ae53b1e088
children 06a54d582bf8
files Scan/STLcd/lcd_scan.c
diffstat 1 files changed, 25 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/Scan/STLcd/lcd_scan.c	Tue Aug 18 01:10:44 2015 -0700
+++ b/Scan/STLcd/lcd_scan.c	Tue Aug 18 10:46:55 2015 -0700
@@ -379,9 +379,28 @@
 		{ STLcdNumber9_define },
 	};
 
+	// Color data for numbers
+	const uint16_t colors[10][3] = {
+		{ STLcdNumber0Color_define },
+		{ STLcdNumber1Color_define },
+		{ STLcdNumber2Color_define },
+		{ STLcdNumber3Color_define },
+		{ STLcdNumber4Color_define },
+		{ STLcdNumber5Color_define },
+		{ STLcdNumber6Color_define },
+		{ STLcdNumber7Color_define },
+		{ STLcdNumber8Color_define },
+		{ STLcdNumber9Color_define },
+	};
+
 	// Only display if there are layers active
 	if ( macroLayerIndexStackSize > 0 )
 	{
+		// Set the color according to the "top-of-stack" layer
+		uint16_t layerIndex = macroLayerIndexStack[ macroLayerIndexStackSize - 1 ];
+		FTM0_C0V = colors[ layerIndex ][0];
+		FTM0_C1V = colors[ layerIndex ][1];
+		FTM0_C2V = colors[ layerIndex ][2];
 
 		// Iterate through each of the pages
 		// XXX Many of the values here are hard-coded
@@ -398,7 +417,7 @@
 			// Write data
 			for ( uint16_t layer = 1; layer <= macroLayerIndexStackSize; layer++ )
 			{
-				uint16_t layerIndex = macroLayerIndexStack[ macroLayerIndexStackSize - layer ];
+				layerIndex = macroLayerIndexStack[ macroLayerIndexStackSize - layer ];
 
 				// Default to 0, if over 9
 				if ( layerIndex > 9 )
@@ -423,6 +442,11 @@
 	}
 	else
 	{
+		// Set default backlight
+		FTM0_C0V = STLcdBacklightRed_define;
+		FTM0_C1V = STLcdBacklightGreen_define;
+		FTM0_C2V = STLcdBacklightBlue_define;
+
 		// Write default image
 		for ( uint8_t page = 0; page < LCD_TOTAL_VISIBLE_PAGES; page++ )
 			LCD_writeDisplayReg( page, (uint8_t *)&STLcdDefaultImage[page * LCD_PAGE_LEN], LCD_PAGE_LEN );