Merge pull request #475 from MCelliotG/main

Initial color mapping, more to follow
This commit is contained in:
Sjef Verhoeven PE5PVB
2024-01-01 21:43:36 +01:00
committed by GitHub
5 changed files with 331 additions and 298 deletions
+2
View File
@@ -228,6 +228,8 @@ int PrimaryColor;
int PrimaryColorSmooth;
int RDSColor;
int RDSColorSmooth;
int RDSDropoutColor;
int RDSDropoutColorSmooth;
int SignificantColor;
int SignificantColorSmooth;
int StereoColor;
+294 -267
View File
@@ -1,330 +1,355 @@
#include "gui.h"
#include "language.h"
#include "constants.h"
#include "ARS_Colors.h"
#include <WiFi.h>
#include <Wire.h>
#include <EEPROM.h>
#include <cstring>
byte menuitem;
byte items[8] = {8, static_cast<byte>(dynamicspi ? 5 : 3), 7, 10, 9, 10, 10, 5};
void doTheme() { // Use this to put your own colors in: http://www.barth-dev.de/online/rgb565-color-picker/
switch (CurrentTheme) {
case 0: // Default PE5PVB theme
PrimaryColor = TFT_YELLOW;
PrimaryColorSmooth = 0x2120;
SecondaryColor = TFT_SKYBLUE;
SecondaryColorSmooth = 0x10E4;
FrameColor = TFT_BLUE;
GreyoutColor = 0x39A7;
BackgroundColor = TFT_BLACK;
ActiveColor = TFT_WHITE;
ActiveColorSmooth = 0x18E3;
FreqColor = TFT_YELLOW;
FreqColorSmooth = 0x2120;
SignificantColor = TFT_RED;
SignificantColorSmooth = 0x2000;
InsignificantColor = TFT_GREEN;
InsignificantColorSmooth = 0x00C0;
StereoColor = TFT_RED;
StereoColorSmooth = 0x2000;
RDSColor = TFT_YELLOW;
RDSColorSmooth = 0x2120;
BarSignificantColor = TFT_RED;
BarInsignificantColor = TFT_GREEN;
ModBarSignificantColor = TFT_RED;
ModBarInsignificantColor = TFT_GREEN;
BWAutoColor = 0x07F7;
BWAutoColorSmooth = 0x0144;
BatteryValueColor = 0x07F7;
BatteryValueColorSmooth = TFT_BLACK;
PrimaryColor = Yellow;
PrimaryColorSmooth = YellowSmooth;
SecondaryColor = Skyblue;
SecondaryColorSmooth = SkyblueSmooth;
FrameColor = Blue;
GreyoutColor = Darkgrey;
BackgroundColor = Black;
ActiveColor = White;
ActiveColorSmooth = WhiteSmooth;
FreqColor = Yellow;
FreqColorSmooth = YellowSmooth;
SignificantColor = Red;
SignificantColorSmooth = RedSmooth;
InsignificantColor = Green;
InsignificantColorSmooth = GreenSmooth;
StereoColor = Red;
StereoColorSmooth = RedSmooth;
RDSColor = Yellow;
RDSColorSmooth = YellowSmooth;
RDSDropoutColor = Teal;
RDSDropoutColorSmooth = TealSmooth;
BarSignificantColor = Red;
BarInsignificantColor = Green;
ModBarSignificantColor = Red;
ModBarInsignificantColor = Green;
BWAutoColor = Teal;
BWAutoColorSmooth = TealSmooth;
BatteryValueColor = Teal;
BatteryValueColorSmooth = Black;
break;
case 1: // Cyan theme
PrimaryColor = 0x0F3F;
PrimaryColorSmooth = 0x0105;
SecondaryColor = 0x5BAF;
SecondaryColorSmooth = 0x29E8;
FrameColor = 0x01e9;
GreyoutColor = 0x2A08;
BackgroundColor = TFT_BLACK;
FreqColor = 0x0F3F;
FreqColorSmooth = 0x0105;
ActiveColor = TFT_WHITE;
ActiveColorSmooth = 0x18E3;
SignificantColor = TFT_RED;
SignificantColorSmooth = 0x2000;
InsignificantColor = TFT_GREEN;
InsignificantColorSmooth = 0x00C0;
StereoColor = 0x0F3F;
StereoColorSmooth = 0x0105;
RDSColor = 0x0F3F;
RDSColorSmooth = 0x0105;
BarSignificantColor = TFT_RED;
BarInsignificantColor = 0x0F3F;
ModBarSignificantColor = TFT_RED;
ModBarInsignificantColor = 0x0F3F;
BWAutoColor = 0x07F7;
BWAutoColorSmooth = 0x0144;
BatteryValueColor = 0x07F7;
BatteryValueColorSmooth = 0x0144;
PrimaryColor = Cyan;
PrimaryColorSmooth = CyanSmooth;
SecondaryColor = Teal;
SecondaryColorSmooth = TealSmooth;
FrameColor = CyanFrame;
GreyoutColor = CyanGrey;
BackgroundColor = Black;
FreqColor = Cyan;
FreqColorSmooth = CyanSmooth;
ActiveColor = White;
ActiveColorSmooth = WhiteSmooth;
SignificantColor = Red;
SignificantColorSmooth = RedSmooth;
InsignificantColor = Green;
InsignificantColorSmooth = GreenSmooth;
StereoColor = Cyan;
StereoColorSmooth = CyanSmooth;
RDSColor = Cyan;
RDSColorSmooth = CyanSmooth;
RDSDropoutColor = Teal;
RDSDropoutColorSmooth = TealSmooth;
BarSignificantColor = Red;
BarInsignificantColor = Cyan;
ModBarSignificantColor = Red;
ModBarInsignificantColor = Cyan;
BWAutoColor = Teal;
BWAutoColorSmooth = TealSmooth;
BatteryValueColor = Teal;
BatteryValueColorSmooth = TealSmooth;
break;
case 2: // Crimson theme
PrimaryColor = 0xF8C3;
PrimaryColorSmooth = 0x3800;
SecondaryColor = 0x6A08;
SecondaryColorSmooth = 0x30E3;
FrameColor = 0x3800;
GreyoutColor = 0x4A69;
BackgroundColor = TFT_BLACK;
FreqColor = 0xF8C3;
FreqColorSmooth = 0x3800;
ActiveColor = TFT_WHITE;
ActiveColorSmooth = 0x18E3;
SignificantColor = TFT_GREEN;
SignificantColorSmooth = 0x2000;
InsignificantColor = TFT_GREEN;
InsignificantColorSmooth = 0x00C0;
StereoColor = 0xF8C3;
StereoColorSmooth = TFT_BLACK;
RDSColor = 0xF8C3;
RDSColorSmooth = TFT_BLACK;
BarSignificantColor = TFT_YELLOW;
BarInsignificantColor = 0xF8C3;
ModBarSignificantColor = TFT_YELLOW;
ModBarInsignificantColor = 0xF8C3;
BWAutoColor = 0xFBEF;
PrimaryColor = Crimson;
PrimaryColorSmooth = CrimsonSmooth;
SecondaryColor = CrimsonDarkBW;
SecondaryColorSmooth = 0x4124;
FrameColor = CrimsonSmooth;
GreyoutColor = PaleGrey;
BackgroundColor = Black;
FreqColor = Crimson;
FreqColorSmooth = CrimsonSmooth;
ActiveColor = White;
ActiveColorSmooth = WhiteSmooth;
SignificantColor = Green;
SignificantColorSmooth = RedSmooth;
InsignificantColor = Green;
InsignificantColorSmooth = GreenSmooth;
StereoColor = Crimson;
StereoColorSmooth = Black;
RDSColor = Crimson;
RDSColorSmooth = Black;
RDSDropoutColor = CrimsonDarkBW;
RDSDropoutColorSmooth = 0x4124;
BarSignificantColor = Yellow;
BarInsignificantColor = Crimson;
ModBarSignificantColor = Yellow;
ModBarInsignificantColor = Crimson;
BWAutoColor = CrimsonDarkBW;
BWAutoColorSmooth = 0x4124;
BatteryValueColor = 0xFA8D;
BatteryValueColorSmooth = 0x3083;
break;
case 3: // Monochrome theme
PrimaryColor = TFT_WHITE;
PrimaryColorSmooth = TFT_BLACK;
SecondaryColor = 0x7BCF;
PrimaryColor = White;
PrimaryColorSmooth = Black;
SecondaryColor = PureGrey;
SecondaryColorSmooth = 0x1082;
FrameColor = 0x2965;
GreyoutColor = 0x4A69;
BackgroundColor = TFT_BLACK;
FreqColor = TFT_WHITE;
FreqColorSmooth = TFT_BLACK;
ActiveColor = TFT_WHITE;
ActiveColorSmooth = TFT_BLACK;
SignificantColor = TFT_RED;
SignificantColorSmooth = 0x2000;
InsignificantColor = TFT_GREEN;
InsignificantColorSmooth = 0x00C0;
StereoColor = TFT_WHITE;
StereoColorSmooth = TFT_BLACK;
RDSColor = TFT_WHITE;
RDSColorSmooth = TFT_BLACK;
BarSignificantColor = TFT_RED;
BarInsignificantColor = TFT_GREEN;
ModBarSignificantColor = TFT_RED;
ModBarInsignificantColor = TFT_GREEN;
BWAutoColor = 0x7BCF;
GreyoutColor = PaleGrey;
BackgroundColor = Black;
FreqColor = White;
FreqColorSmooth = Black;
ActiveColor = White;
ActiveColorSmooth = Black;
SignificantColor = Red;
SignificantColorSmooth = RedSmooth;
InsignificantColor = Green;
InsignificantColorSmooth = GreenSmooth;
StereoColor = White;
StereoColorSmooth = Black;
RDSColor = White;
RDSColorSmooth = Black;
RDSDropoutColor = PureGrey;
RDSDropoutColorSmooth = 0x1082;
BarSignificantColor = Red;
BarInsignificantColor = Green;
ModBarSignificantColor = Red;
ModBarInsignificantColor = Green;
BWAutoColor = PureGrey;
BWAutoColorSmooth = 0x1082;
BatteryValueColor = TFT_WHITE;
BatteryValueColorSmooth = TFT_BLACK;
BatteryValueColor = White;
BatteryValueColorSmooth = Black;
break;
case 4: // Volcano theme
PrimaryColor = TFT_ORANGE;
PrimaryColor = Orange;
PrimaryColorSmooth = 0x2965;
SecondaryColor = 0x6A86;
SecondaryColorSmooth = 0x3123;
SecondaryColor = Tangerine;
SecondaryColorSmooth = TangerineSmooth;
FrameColor = 0x2965;
GreyoutColor = 0x5140;
BackgroundColor = 0x0806;
FreqColor = TFT_ORANGE;
FreqColor = Orange;
FreqColorSmooth = 0x2965;
ActiveColor = TFT_WHITE;
ActiveColorSmooth = 0x18E3;
SignificantColor = TFT_RED;
SignificantColorSmooth = 0x2000;
InsignificantColor = TFT_GREEN;
InsignificantColorSmooth = 0x00C0;
StereoColor = TFT_ORANGE;
StereoColorSmooth = 0x0105;
RDSColor = TFT_ORANGE;
RDSColorSmooth = TFT_WHITE;
BarSignificantColor = TFT_RED;
BarInsignificantColor = TFT_ORANGE;
ModBarSignificantColor = TFT_RED;
ModBarInsignificantColor = TFT_ORANGE;
BWAutoColor = 0xF980;
BWAutoColorSmooth = 0x3080;
BatteryValueColor = 0xF980;
BatteryValueColorSmooth = 0x3080;
ActiveColor = White;
ActiveColorSmooth = WhiteSmooth;
SignificantColor = Red;
SignificantColorSmooth = RedSmooth;
InsignificantColor = Green;
InsignificantColorSmooth = GreenSmooth;
StereoColor = Orange;
StereoColorSmooth = CyanSmooth;
RDSColor = Orange;
RDSColorSmooth = White;
RDSDropoutColor = Tangerine;
RDSDropoutColorSmooth = TangerineSmooth;
BarSignificantColor = Red;
BarInsignificantColor = Orange;
ModBarSignificantColor = Red;
ModBarInsignificantColor = Orange;
BWAutoColor = Tangerine;
BWAutoColorSmooth = TangerineSmooth;
BatteryValueColor = Tangerine;
BatteryValueColorSmooth = TangerineSmooth;
break;
case 5: // Dendro theme
PrimaryColor = TFT_GREEN;
PrimaryColor = Green;
PrimaryColorSmooth = 0x0200;
SecondaryColor = 0x748E;
SecondaryColorSmooth = 0x3206;
SecondaryColor = 0x07F6;
SecondaryColorSmooth = 0x0184;
FrameColor = 0x0200;
GreyoutColor = 0x4A69;
BackgroundColor = TFT_BLACK;
FreqColor = TFT_GREEN;
GreyoutColor = PaleGrey;
BackgroundColor = Black;
FreqColor = Green;
FreqColorSmooth = 0x0200;
ActiveColor = TFT_WHITE;
ActiveColorSmooth = 0x18E3;
SignificantColor = TFT_RED;
SignificantColorSmooth = 0x2000;
ActiveColor = White;
ActiveColorSmooth = WhiteSmooth;
SignificantColor = Red;
SignificantColorSmooth = RedSmooth;
InsignificantColor = 0xAA1C;
InsignificantColorSmooth = 0x00C0;
StereoColor = TFT_GREEN;
InsignificantColorSmooth = GreenSmooth;
StereoColor = Green;
StereoColorSmooth = 0x0200;
RDSColor = TFT_GREEN;
RDSColor = Green;
RDSColorSmooth = 0x0200;
BarSignificantColor = TFT_RED;
BarInsignificantColor = TFT_GREEN;
ModBarSignificantColor = TFT_RED;
ModBarInsignificantColor = TFT_GREEN;
RDSDropoutColor = 0x07F6;
RDSDropoutColorSmooth = 0x0184;
BarSignificantColor = Red;
BarInsignificantColor = Green;
ModBarSignificantColor = Red;
ModBarInsignificantColor = Green;
BWAutoColor = 0x07F6;
BWAutoColorSmooth = 0x0184;
BatteryValueColor = 0x07F6;
BatteryValueColorSmooth = 0x0184;
break;
case 6: // Sakura theme
PrimaryColor = 0xF3D5;
PrimaryColorSmooth = 0x3008;
SecondaryColor = 0x9B90;
SecondaryColorSmooth = 0x3946;
PrimaryColor = Sakura;
PrimaryColorSmooth = SakuraSmooth;
SecondaryColor = 0xF00A;
SecondaryColorSmooth = 0x2802;
FrameColor = 0x3845;
GreyoutColor = 0x38C5;
BackgroundColor = TFT_BLACK;
FreqColor = 0xF3D5;
FreqColorSmooth = 0x3008;
ActiveColor = TFT_WHITE;
ActiveColorSmooth = 0x18E3;
SignificantColor = TFT_RED;
SignificantColorSmooth = 0x2000;
InsignificantColor = TFT_GREEN;
InsignificantColorSmooth = 0x00C0;
StereoColor = 0xF3D5;
StereoColorSmooth = 0x3008;
RDSColor = 0xF3D5;
RDSColorSmooth = 0x3008;
BarSignificantColor = TFT_RED;
BarInsignificantColor = 0xF3D5;
ModBarSignificantColor = TFT_RED;
ModBarInsignificantColor = 0xF3D5;
BackgroundColor = Black;
FreqColor = Sakura;
FreqColorSmooth = SakuraSmooth;
ActiveColor = White;
ActiveColorSmooth = WhiteSmooth;
SignificantColor = Red;
SignificantColorSmooth = RedSmooth;
InsignificantColor = Green;
InsignificantColorSmooth = GreenSmooth;
StereoColor = Sakura;
StereoColorSmooth = SakuraSmooth;
RDSColor = Sakura;
RDSColorSmooth = SakuraSmooth;
RDSDropoutColor = 0xF00A;
RDSDropoutColorSmooth = 0x2802;
BarSignificantColor = Black;
BarSignificantColor = Red;
BarInsignificantColor = Sakura;
ModBarSignificantColor = Red;
ModBarInsignificantColor = Sakura;
BWAutoColor = 0xF00A;
BWAutoColorSmooth = 0x2802;
BatteryValueColor = 0xF00A;
BatteryValueColorSmooth = 0x2802;
break;
case 7: // Whiteout theme
PrimaryColor = TFT_BLACK;
PrimaryColorSmooth = TFT_WHITE;
PrimaryColor = Black;
PrimaryColorSmooth = White;
SecondaryColor = 0x9492;
SecondaryColorSmooth = TFT_WHITE;
SecondaryColorSmooth = White;
FrameColor = 0x630C;
GreyoutColor = 0x9492;
BackgroundColor = 0xDFFC;
FreqColor = TFT_BLACK;
FreqColorSmooth = TFT_WHITE;
ActiveColor = TFT_BLACK;
FreqColor = Black;
FreqColorSmooth = White;
ActiveColor = Black;
ActiveColorSmooth = 0xDFFC;
SignificantColor = TFT_RED;
SignificantColor = Red;
SignificantColorSmooth = 0xDFFC;
InsignificantColor = TFT_GREEN;
InsignificantColor = Green;
InsignificantColorSmooth = 0x0140;
StereoColor = TFT_BLACK;
StereoColor = Black;
StereoColorSmooth = 0xDFFC;
RDSColor = TFT_BLACK;
RDSColor = Black;
RDSColorSmooth = 0xDFFC;
BarSignificantColor = TFT_BLACK;
BarInsignificantColor = TFT_GREEN;
ModBarSignificantColor = TFT_BLACK;
ModBarInsignificantColor = TFT_GREEN;
BWAutoColor = 0x7BCF;
BWAutoColorSmooth = TFT_WHITE;
BatteryValueColor = TFT_BLACK;
BatteryValueColorSmooth = TFT_WHITE;
RDSDropoutColor = PureGrey;
RDSDropoutColorSmooth = White;
BarSignificantColor = Black;
BarInsignificantColor = Green;
ModBarSignificantColor = Black;
ModBarInsignificantColor = Green;
BWAutoColor = PureGrey;
BWAutoColorSmooth = White;
BatteryValueColor = Black;
BatteryValueColorSmooth = White;
break;
case 8: // Tangerine theme
PrimaryColor = 0xF980;
PrimaryColorSmooth = 0x3080;
SecondaryColor = 0x9B8D;
SecondaryColorSmooth = 0x5207;
PrimaryColor = Tangerine;
PrimaryColorSmooth = TangerineSmooth;
SecondaryColor = 0xED20;
SecondaryColorSmooth = 0x3940;
FrameColor = 0x38A1;
GreyoutColor = 0x6247;
BackgroundColor = TFT_BLACK;
FreqColor = 0xF980;
FreqColorSmooth = 0x3080;
ActiveColor = TFT_WHITE;
ActiveColorSmooth = 0x18E3;
SignificantColor = TFT_RED;
SignificantColorSmooth = 0x2000;
InsignificantColor = TFT_GREEN;
InsignificantColorSmooth = 0x00C0;
StereoColor = 0xF980;
StereoColorSmooth = 0x3080;
RDSColor = 0xF980;
RDSColorSmooth = 0x3080;
BarSignificantColor = TFT_RED;
BarInsignificantColor = TFT_GREEN;
ModBarSignificantColor = TFT_RED;
ModBarInsignificantColor = TFT_GREEN;
BackgroundColor = Black;
FreqColor = Tangerine;
FreqColorSmooth = IndigoSmooth;
ActiveColor = White;
ActiveColorSmooth = WhiteSmooth;
SignificantColor = Red;
SignificantColorSmooth = RedSmooth;
InsignificantColor = Green;
InsignificantColorSmooth = GreenSmooth;
StereoColor = Tangerine;
StereoColorSmooth = IndigoSmooth;
RDSColor = Tangerine;
RDSColorSmooth = IndigoSmooth;
RDSDropoutColor = 0xED20;
RDSDropoutColorSmooth = 0x3940;
BarSignificantColor = Red;
BarInsignificantColor = Green;
ModBarSignificantColor = Red;
ModBarInsignificantColor = Green;
BWAutoColor = 0xED20;
BWAutoColorSmooth = 0x3940;
BatteryValueColor = 0xED20;
BatteryValueColorSmooth = 0x3940;
break;
case 9: // Ocean theme
PrimaryColor = 0x01FF;
PrimaryColorSmooth = 0x0006;
SecondaryColor = 0x73F4;
SecondaryColorSmooth = 0x31A8;
PrimaryColor = Ocean;
PrimaryColorSmooth = OceanSmooth;
SecondaryColor = 0x051F;
SecondaryColorSmooth = 0x0106;
FrameColor = 0x0010;
GreyoutColor = 0x420C;
BackgroundColor = TFT_BLACK;
FreqColor = 0x01FF;
FreqColorSmooth = 0x0006;
ActiveColor = TFT_WHITE;
ActiveColorSmooth = 0x18E3;
SignificantColor = TFT_RED;
SignificantColorSmooth = 0x2000;
InsignificantColor = 0x0F3F;
InsignificantColorSmooth = 0x0105;
StereoColor = 0x01FF;
StereoColorSmooth = 0x0006;
RDSColor = 0x01FF;
RDSColorSmooth = 0x0006;
BarSignificantColor = TFT_RED;
BarInsignificantColor = 0x01FF;
ModBarSignificantColor = TFT_RED;
ModBarInsignificantColor = 0x01FF;
BackgroundColor = Black;
FreqColor = Ocean;
FreqColorSmooth = OceanSmooth;
ActiveColor = White;
ActiveColorSmooth = WhiteSmooth;
SignificantColor = Red;
SignificantColorSmooth = RedSmooth;
InsignificantColor = Cyan;
InsignificantColorSmooth = CyanSmooth;
StereoColor = Ocean;
StereoColorSmooth = OceanSmooth;
RDSColor = Ocean;
RDSColorSmooth = OceanSmooth;
RDSDropoutColor = 0x051F;
RDSDropoutColorSmooth = 0x0106;
BarSignificantColor = Red;
BarInsignificantColor = Ocean;
ModBarSignificantColor = Red;
ModBarInsignificantColor = Ocean;
BWAutoColor = 0x051F;
BWAutoColorSmooth = 0x0106;
BatteryValueColor = 0x051F;
BatteryValueColorSmooth = 0x0106;
break;
case 10: // Indigo theme
PrimaryColor = 0x881F;
PrimaryColorSmooth = 0x2007;
SecondaryColor = 0x9C96;
SecondaryColorSmooth = 0x41C8;
PrimaryColor = Indigo;
PrimaryColorSmooth = IndigoSmooth;
SecondaryColor = 0xD01F;
SecondaryColorSmooth = 0x400A;
FrameColor = 0x6016;
GreyoutColor = 0x49AC;
BackgroundColor = TFT_BLACK;
FreqColor = 0x881F;
BackgroundColor = Black;
FreqColor = Indigo;
FreqColorSmooth = 0x2007;
ActiveColor = TFT_WHITE;
ActiveColorSmooth = 0x18E3;
SignificantColor = TFT_RED;
SignificantColorSmooth = 0x2000;
InsignificantColor = TFT_GREEN;
InsignificantColorSmooth = 0x00C0;
StereoColor = 0x881F;
ActiveColor = White;
ActiveColorSmooth = WhiteSmooth;
SignificantColor = Red;
SignificantColorSmooth = RedSmooth;
InsignificantColor = Green;
InsignificantColorSmooth = GreenSmooth;
StereoColor = Indigo;
StereoColorSmooth = 0x2007;
RDSColor = 0x881F;
RDSColor = Indigo;
RDSColorSmooth = 0x2007;
BarSignificantColor = TFT_RED;
BarInsignificantColor = 0x881F;
ModBarSignificantColor = TFT_RED;
ModBarInsignificantColor = 0x881F;
RDSDropoutColor = 0x9C96;
RDSDropoutColorSmooth = 0x41C8;
BarSignificantColor = Red;
BarInsignificantColor = Indigo;
ModBarSignificantColor = Red;
ModBarInsignificantColor = Indigo;
BWAutoColor = 0xD01F;
BWAutoColorSmooth = 0x400A;
BatteryValueColor = 0xD01F;
@@ -332,33 +357,35 @@ void doTheme() { // Use this to put your own colors in: http://www.barth-dev.de
break;
case 11: // GoldBrite
PrimaryColor = TFT_YELLOW;
PrimaryColorSmooth = 0x2120;
SecondaryColor = TFT_SKYBLUE;
SecondaryColorSmooth = 0x10E4;
FrameColor = TFT_BLUE;
GreyoutColor = 0x39A7;
BackgroundColor = TFT_BLACK;
ActiveColor = TFT_WHITE;
ActiveColorSmooth = 0x18E3;
FreqColor = TFT_WHITE;
FreqColorSmooth = 0x18E3;
SignificantColor = TFT_RED;
SignificantColorSmooth = 0x2000;
InsignificantColor = 0x01FF;
InsignificantColorSmooth = 0x0006;
StereoColor = TFT_RED;
StereoColorSmooth = 0x2000;
RDSColor = TFT_YELLOW;
RDSColorSmooth = 0x2120;
BarSignificantColor = TFT_RED;
BarInsignificantColor = 0x01FF;
ModBarSignificantColor = TFT_RED;
ModBarInsignificantColor = TFT_GREEN;
BWAutoColor = 0x07F7;
BWAutoColorSmooth = 0x0144;
BatteryValueColor = 0x07F7;
BatteryValueColorSmooth = TFT_BLACK;
PrimaryColor = Yellow;
PrimaryColorSmooth = YellowSmooth;
SecondaryColor = Skyblue;
SecondaryColorSmooth = SkyblueSmooth;
FrameColor = Blue;
GreyoutColor = Darkgrey;
BackgroundColor = Black;
ActiveColor = White;
ActiveColorSmooth = WhiteSmooth;
FreqColor = White;
FreqColorSmooth = WhiteSmooth;
SignificantColor = Red;
SignificantColorSmooth = RedSmooth;
InsignificantColor = Ocean;
InsignificantColorSmooth = OceanSmooth;
StereoColor = Red;
StereoColorSmooth = RedSmooth;
RDSColor = Yellow;
RDSColorSmooth = YellowSmooth;
RDSDropoutColor = Teal;
RDSDropoutColorSmooth = TealSmooth;
BarSignificantColor = Red;
BarInsignificantColor = Ocean;
ModBarSignificantColor = Red;
ModBarInsignificantColor = Green;
BWAutoColor = Teal;
BWAutoColorSmooth = TealSmooth;
BatteryValueColor = Teal;
BatteryValueColorSmooth = Black;
break;
}
}
+2
View File
@@ -141,6 +141,8 @@ extern int PrimaryColor;
extern int PrimaryColorSmooth;
extern int RDSColor;
extern int RDSColorSmooth;
extern int RDSDropoutColor;
extern int RDSDropoutColorSmooth;
extern int rssiold;
extern int SecondaryColor;
extern int SecondaryColorSmooth;
+31 -31
View File
@@ -83,7 +83,7 @@ void ShowAdvancedRDS() {
}
if (xPos2 < -tft.textWidth(afstring) + (charWidth * 14)) xPos2 = 0;
RDSSprite.fillSprite(BackgroundColor);
if (RDSstatus) RDSSprite.setTextColor(PrimaryColor, PrimaryColorSmooth, false); else RDSSprite.setTextColor(SecondaryColor, SecondaryColorSmooth, false);
if (RDSstatus) RDSSprite.setTextColor(PrimaryColor, PrimaryColorSmooth, false); else RDSSprite.setTextColor(RDSDropoutColor, RDSDropoutColorSmooth, false);
RDSSprite.drawString(afstring, xPos2, 2);
RDSSprite.pushSprite(35, 197);
afticker = millis();
@@ -110,7 +110,7 @@ void ShowAdvancedRDS() {
}
if (xPos3 < -tft.textWidth(eonstring) + (charWidth * 14)) xPos3 = 0;
RDSSprite.fillSprite(BackgroundColor);
if (RDSstatus) RDSSprite.setTextColor(PrimaryColor, PrimaryColorSmooth, false); else RDSSprite.setTextColor(SecondaryColor, SecondaryColorSmooth, false);
if (RDSstatus) RDSSprite.setTextColor(PrimaryColor, PrimaryColorSmooth, false); else RDSSprite.setTextColor(RDSDropoutColor, RDSDropoutColorSmooth, false);
RDSSprite.drawString(eonstring, xPos3, 2);
RDSSprite.pushSprite(35, 172);
eonticker = millis();
@@ -138,7 +138,7 @@ void ShowAdvancedRDS() {
}
if (xPos4 < -tft.textWidth(rtplusstring) + (charWidth * 14)) xPos4 = 0;
RDSSprite.fillSprite(BackgroundColor);
if (RDSstatus) RDSSprite.setTextColor(PrimaryColor, PrimaryColorSmooth, false); else RDSSprite.setTextColor(SecondaryColor, SecondaryColorSmooth, false);
if (RDSstatus) RDSSprite.setTextColor(PrimaryColor, PrimaryColorSmooth, false); else RDSSprite.setTextColor(RDSDropoutColor, RDSDropoutColorSmooth, false);
RDSSprite.drawString(rtplusstring, xPos4, 2);
RDSSprite.pushSprite(35, 146);
rtplusticker = millis();
@@ -256,17 +256,17 @@ void readRds() {
if (!RDSstatus) {
if (radio.rds.correctPI != 0 && !dropout) {
if (region == REGION_EU) {
if (advancedRDS) tftPrint(0, PIold, 275, 75, SecondaryColor, SecondaryColorSmooth, 28); else tftPrint(0, PIold, 275, 187, SecondaryColor, SecondaryColorSmooth, 28);
if (advancedRDS) tftPrint(0, PIold, 275, 75, RDSDropoutColor, RDSDropoutColorSmooth, 28); else tftPrint(0, PIold, 275, 187, RDSDropoutColor, RDSDropoutColorSmooth, 28);
}
if (region == REGION_US) {
if (advancedRDS) tftPrint(-1, PIold, 240, 72, SecondaryColor, SecondaryColorSmooth, 16); else tftPrint(-1, PIold, 240, 184, SecondaryColor, SecondaryColorSmooth, 16);
if (advancedRDS) tftPrint(-1, stationIDold, 240, 89, SecondaryColor, SecondaryColorSmooth, 16); else tftPrint(-1, stationIDold, 240, 201, SecondaryColor, SecondaryColorSmooth, 16);
if (advancedRDS) tftPrint(1, stationStateold, 318, 89, SecondaryColor, SecondaryColorSmooth, 16); else tftPrint(1, stationStateold, 318, 201, SecondaryColor, SecondaryColorSmooth, 16);
if (advancedRDS) tftPrint(-1, PIold, 240, 72, RDSDropoutColor, RDSDropoutColorSmooth, 16); else tftPrint(-1, PIold, 240, 184, RDSDropoutColor, RDSDropoutColorSmooth, 16);
if (advancedRDS) tftPrint(-1, stationIDold, 240, 89, RDSDropoutColor, RDSDropoutColorSmooth, 16); else tftPrint(-1, stationIDold, 240, 201, RDSDropoutColor, RDSDropoutColorSmooth, 16);
if (advancedRDS) tftPrint(1, stationStateold, 318, 89, RDSDropoutColor, RDSDropoutColorSmooth, 16); else tftPrint(1, stationStateold, 318, 201, RDSDropoutColor, RDSDropoutColorSmooth, 16);
}
if (advancedRDS) tftPrint(-1, PSold, 38, 75, SecondaryColor, SecondaryColorSmooth, 28); else tftPrint(-1, PSold, 38, 187, SecondaryColor, SecondaryColorSmooth, 28);
if (advancedRDS) tftPrint(-1, PTYold, 38, 109, SecondaryColor, SecondaryColorSmooth, 16); else tftPrint(-1, PTYold, 38, 163, SecondaryColor, SecondaryColorSmooth, 16);
if (advancedRDS) tftPrint(-1, PSold, 38, 75, RDSDropoutColor, RDSDropoutColorSmooth, 28); else tftPrint(-1, PSold, 38, 187, RDSDropoutColor, RDSDropoutColorSmooth, 28);
if (advancedRDS) tftPrint(-1, PTYold, 38, 109, RDSDropoutColor, RDSDropoutColorSmooth, 16); else tftPrint(-1, PTYold, 38, 163, RDSDropoutColor, RDSDropoutColorSmooth, 16);
if (advancedRDS) {
tft.fillCircle(86, 41, 5, SignificantColor);
tft.fillCircle(124, 41, 5, SignificantColor);
@@ -277,22 +277,22 @@ void readRds() {
if (advancedRDS && radio.rds.stationText.length() < 20) {
xPos = 0;
AdvRadiotextSprite.fillSprite(BackgroundColor);
AdvRadiotextSprite.setTextColor(SecondaryColor, SecondaryColorSmooth, false);
AdvRadiotextSprite.setTextColor(RDSDropoutColor, RDSDropoutColorSmooth, false);
AdvRadiotextSprite.drawString(radio.rds.stationText + " " + radio.rds.stationText32, xPos, 2);
AdvRadiotextSprite.pushSprite(35, 220);
} else if (!advancedRDS && radio.rds.stationText.length() < 29) {
xPos = 0;
RadiotextSprite.fillSprite(BackgroundColor);
RadiotextSprite.setTextColor(SecondaryColor, SecondaryColorSmooth, false);
RadiotextSprite.setTextColor(RDSDropoutColor, RDSDropoutColorSmooth, false);
RadiotextSprite.drawString(radio.rds.stationText + " " + radio.rds.stationText32, xPos, 2);
RadiotextSprite.pushSprite(38, 220);
}
if (radio.rds.hasCT) {
if (advancedRDS) {
tftPrint(1, rds_clock, 205, 109, SecondaryColor, SecondaryColorSmooth, 16);
tftPrint(1, rds_clock, 205, 109, RDSDropoutColor, RDSDropoutColorSmooth, 16);
} else {
tftPrint(1, rds_clock, 205, 163, SecondaryColor, SecondaryColorSmooth, 16);
tftPrint(1, rds_clock, 205, 163, RDSDropoutColor, RDSDropoutColorSmooth, 16);
}
}
dropout = true;
@@ -412,40 +412,40 @@ void showPI() {
if (advancedRDS) {
if (region == REGION_EU) {
if (!RDSstatus) {
tftReplace(0, PIold, radio.rds.picode, 275, 75, SecondaryColor, SecondaryColorSmooth, 28);
tftReplace(0, PIold, radio.rds.picode, 275, 75, RDSDropoutColor, RDSDropoutColorSmooth, 28);
} else {
tftReplace(0, PIold, radio.rds.picode, 275, 75, PrimaryColor, PrimaryColorSmooth, 28);
}
}
if (region == REGION_US) {
if (!RDSstatus) {
if (String(radio.rds.picode) != PIold) tftReplace(-1, PIold, radio.rds.picode, 240, 72, SecondaryColor, SecondaryColorSmooth, 16);
tftReplace(-1, stationIDold, radio.rds.stationID, 240, 89, SecondaryColor, SecondaryColorSmooth, 16);
if (String(radio.rds.picode) != PIold) tftReplace(-1, PIold, radio.rds.picode, 240, 72, RDSDropoutColor, RDSDropoutColorSmooth, 16);
tftReplace(-1, stationIDold, radio.rds.stationID, 240, 89, RDSDropoutColor, RDSDropoutColorSmooth, 16);
} else {
if (String(radio.rds.picode) != PIold) tftReplace(-1, PIold, radio.rds.picode, 240, 72, PrimaryColor, PrimaryColorSmooth, 16);
tftReplace(-1, stationIDold, radio.rds.stationID, 240, 89, PrimaryColor, PrimaryColorSmooth, 16);
}
tftReplace(1, stationStateold, radio.rds.stationState, 318, 89, SecondaryColor, SecondaryColorSmooth, 16);
tftReplace(1, stationStateold, radio.rds.stationState, 318, 89, RDSDropoutColor, RDSDropoutColorSmooth, 16);
}
} else if (afscreen) {
tftReplace(-1, PIold, radio.rds.picode, 30, 201, BWAutoColor, BWAutoColorSmooth, 16);
} else {
if (region == REGION_EU) {
if (!RDSstatus) {
tftReplace(0, PIold, radio.rds.picode, 275, 187, SecondaryColor, SecondaryColorSmooth, 28);
tftReplace(0, PIold, radio.rds.picode, 275, 187, RDSDropoutColor, RDSDropoutColorSmooth, 28);
} else {
tftReplace(0, PIold, radio.rds.picode, 275, 187, PrimaryColor, PrimaryColorSmooth, 28);
}
}
if (region == REGION_US) {
if (!RDSstatus) {
if (String(radio.rds.picode) != PIold) tftReplace(-1, PIold, radio.rds.picode, 240, 184, SecondaryColor, SecondaryColorSmooth, 16);
tftReplace(-1, stationIDold, radio.rds.stationID, 240, 201, SecondaryColor, SecondaryColorSmooth, 16);
if (String(radio.rds.picode) != PIold) tftReplace(-1, PIold, radio.rds.picode, 240, 184, RDSDropoutColor, RDSDropoutColorSmooth, 16);
tftReplace(-1, stationIDold, radio.rds.stationID, 240, 201, RDSDropoutColor, RDSDropoutColorSmooth, 16);
} else {
if (String(radio.rds.picode) != PIold) tftReplace(-1, PIold, radio.rds.picode, 240, 184, PrimaryColor, PrimaryColorSmooth, 16);
tftReplace(-1, stationIDold, radio.rds.stationID, 240, 201, PrimaryColor, PrimaryColorSmooth, 16);
}
tftReplace(1, stationStateold, radio.rds.stationState, 318, 201, SecondaryColor, SecondaryColorSmooth, 16);
tftReplace(1, stationStateold, radio.rds.stationState, 318, 201, RDSDropoutColor, RDSDropoutColorSmooth, 16);
}
}
PIold = radio.rds.picode;
@@ -465,13 +465,13 @@ void showPTY() {
if (!screenmute) {
if (advancedRDS) {
if (!RDSstatus) {
tftReplace(-1, PTYold, radio.rds.stationType, 38, 109, SecondaryColor, SecondaryColorSmooth, 16);
tftReplace(-1, PTYold, radio.rds.stationType, 38, 109, RDSDropoutColor, RDSDropoutColorSmooth, 16);
} else {
tftReplace(-1, PTYold, radio.rds.stationType, 38, 109, PrimaryColor, PrimaryColorSmooth, 16);
}
} else {
if (!RDSstatus) {
tftReplace(-1, PTYold, radio.rds.stationType, 38, 163, SecondaryColor, SecondaryColorSmooth, 16);
tftReplace(-1, PTYold, radio.rds.stationType, 38, 163, RDSDropoutColor, RDSDropoutColorSmooth, 16);
} else {
tftReplace(-1, PTYold, radio.rds.stationType, 38, 163, PrimaryColor, PrimaryColorSmooth, 16);
}
@@ -493,7 +493,7 @@ void showPS() {
if (!screenmute) {
if (advancedRDS) {
if (!RDSstatus) {
tftReplace(-1, PSold, radio.rds.stationName, 38, 75, SecondaryColor, SecondaryColorSmooth, 28);
tftReplace(-1, PSold, radio.rds.stationName, 38, 75, RDSDropoutColor, RDSDropoutColorSmooth, 28);
} else {
tftReplace(-1, PSold, radio.rds.stationName, 38, 75, PrimaryColor, PrimaryColorSmooth, 28);
}
@@ -501,7 +501,7 @@ void showPS() {
tftReplace(0, PSold, radio.rds.stationName, 160, 201, BWAutoColor, BWAutoColorSmooth, 16);
} else {
if (!RDSstatus) {
tftReplace(-1, PSold, radio.rds.stationName, 38, 187, SecondaryColor, SecondaryColorSmooth, 28);
tftReplace(-1, PSold, radio.rds.stationName, 38, 187, RDSDropoutColor, RDSDropoutColorSmooth, 28);
} else {
tftReplace(-1, PSold, radio.rds.stationName, 38, 187, PrimaryColor, PrimaryColorSmooth, 28);
}
@@ -542,7 +542,7 @@ void showCT() {
if (advancedRDS) tftReplace(1, rds_clockold, rds_clock, 205, 109, PrimaryColor, PrimaryColorSmooth, 16); else tftReplace(1, rds_clockold, rds_clock, 205, 163, PrimaryColor, PrimaryColorSmooth, 16);
} else {
if (rtcset) {
if (advancedRDS) tftReplace(1, rds_clockold, rds_clock, 205, 109, SecondaryColor, SecondaryColorSmooth, 16); else tftReplace(1, rds_clockold, rds_clock, 205, 163, SecondaryColor, SecondaryColorSmooth, 16);
if (advancedRDS) tftReplace(1, rds_clockold, rds_clock, 205, 109, RDSDropoutColor, RDSDropoutColorSmooth, 16); else tftReplace(1, rds_clockold, rds_clock, 205, 163, RDSDropoutColor, RDSDropoutColorSmooth, 16);
} else {
if (advancedRDS) {
tftPrint(1, rds_clockold, 205, 109, BackgroundColor, BackgroundColor, 16);
@@ -564,13 +564,13 @@ void showRadioText() {
if (advancedRDS && radio.rds.stationText.length() < 20) {
xPos = 0;
AdvRadiotextSprite.fillSprite(BackgroundColor);
if (RDSstatus) AdvRadiotextSprite.setTextColor(PrimaryColor, PrimaryColorSmooth, false); else AdvRadiotextSprite.setTextColor(SecondaryColor, SecondaryColorSmooth, false);
if (RDSstatus) AdvRadiotextSprite.setTextColor(PrimaryColor, PrimaryColorSmooth, false); else AdvRadiotextSprite.setTextColor(RDSDropoutColor, RDSDropoutColorSmooth, false);
AdvRadiotextSprite.drawString(radio.rds.stationText + " " + radio.rds.stationText32, xPos, 2);
AdvRadiotextSprite.pushSprite(35, 220);
} else if (!advancedRDS && radio.rds.stationText.length() < 29) {
xPos = 0;
RadiotextSprite.fillSprite(BackgroundColor);
if (RDSstatus) RadiotextSprite.setTextColor(PrimaryColor, PrimaryColorSmooth, false); else RadiotextSprite.setTextColor(SecondaryColor, SecondaryColorSmooth, false);
if (RDSstatus) RadiotextSprite.setTextColor(PrimaryColor, PrimaryColorSmooth, false); else RadiotextSprite.setTextColor(RDSDropoutColor, RDSDropoutColorSmooth, false);
RadiotextSprite.drawString(radio.rds.stationText + " " + radio.rds.stationText32, xPos, 2);
RadiotextSprite.pushSprite(38, 220);
} else {
@@ -587,13 +587,13 @@ void showRadioText() {
if (advancedRDS) {
if (xPos < -tft.textWidth(radio.rds.stationText + " " + radio.rds.stationText32) + (charWidth * 10)) xPos = 0;
AdvRadiotextSprite.fillSprite(BackgroundColor);
if (RDSstatus) AdvRadiotextSprite.setTextColor(PrimaryColor, PrimaryColorSmooth, false); else AdvRadiotextSprite.setTextColor(SecondaryColor, SecondaryColorSmooth, false);
if (RDSstatus) AdvRadiotextSprite.setTextColor(PrimaryColor, PrimaryColorSmooth, false); else AdvRadiotextSprite.setTextColor(RDSDropoutColor, RDSDropoutColorSmooth, false);
AdvRadiotextSprite.drawString(radio.rds.stationText + " " + radio.rds.stationText32, xPos, 2);
AdvRadiotextSprite.pushSprite(35, 220);
} else {
if (xPos < -tft.textWidth(radio.rds.stationText + " " + radio.rds.stationText32) + (charWidth * 20)) xPos = 0;
RadiotextSprite.fillSprite(BackgroundColor);
if (RDSstatus) RadiotextSprite.setTextColor(PrimaryColor, PrimaryColorSmooth, false); else RadiotextSprite.setTextColor(SecondaryColor, SecondaryColorSmooth, false);
if (RDSstatus) RadiotextSprite.setTextColor(PrimaryColor, PrimaryColorSmooth, false); else RadiotextSprite.setTextColor(RDSDropoutColor, RDSDropoutColorSmooth, false);
RadiotextSprite.drawString(radio.rds.stationText + " " + radio.rds.stationText32, xPos, 2);
RadiotextSprite.pushSprite(38, 220);
}
@@ -701,7 +701,7 @@ void ShowAFEON() {
tftPrint(-1, "PS", 46, 32, ActiveColor, ActiveColorSmooth, 16);
if (strcmp(radio.eon[i + y].ps.c_str(), eonpsold[i + y].c_str()) != 0) tftPrint(-1, String(eonpsold[i + y]), 46, 48 + (15 * i), BackgroundColor, BackgroundColor, 16);
tftPrint(-1, String(radio.eon[i + y].ps), 46, 48 + (15 * i), SecondaryColor, SecondaryColorSmooth, 16);
tftPrint(-1, String(radio.eon[i + y].ps), 46, 48 + (15 * i), RDSDropoutColor, RDSDropoutColorSmooth, 16);
eonpsold[i + y] = radio.eon[i + y].ps;
} else {
tftPrint(-1, String(eonpsold[i + y]), 46, 48 + (15 * i), BackgroundColor, BackgroundColor, 16);
+2
View File
@@ -63,6 +63,8 @@ extern int InsignificantColor;
extern int InsignificantColorSmooth;
extern int PrimaryColor;
extern int PrimaryColorSmooth;
extern int RDSDropoutColor;
extern int RDSDropoutColorSmooth;
extern int SecondaryColor;
extern int SecondaryColorSmooth;
extern int SignificantColor;