Merge pull request #173 from MCelliotG/main

This commit is contained in:
Sjef Verhoeven PE5PVB
2023-08-02 13:35:36 +02:00
committed by GitHub
2 changed files with 244 additions and 92 deletions
+197 -75
View File
@@ -164,7 +164,11 @@ int ActiveColorSmooth;
int AGC;
int AMLevelOffset;
int BackgroundColor;
int BarSignificantColor;
int BarInsignificantColor;
int batupdatetimer;
int BWAutoColor;
int BWAutoColorSmooth;
int BWOld;
int bwupdatetimer;
int charWidth = tft.textWidth("AA");
@@ -174,6 +178,8 @@ int FrameColor;
int freqold;
int FrequencyColor;
int GreyoutColor;
int InsignificantColor;
int InsignificantColorSmooth;
int menuoption = 30;
int MStatusold;
int offsetupdatetimer;
@@ -182,10 +188,12 @@ int peakholdold;
int peakholdtimer;
int PrimaryColor;
int PrimaryColorSmooth;
int RDSColor;
int RDSColorSmooth;
int SignificantColor;
int SignificantColorSmooth;
int InsignificantColor;
int InsignificantColorSmooth;
int StereoColor;
int StereoColorSmooth;
int rotary;
int rssi;
int rssiold = 200;
@@ -512,14 +520,14 @@ void setup() {
tftPrint(0, myLanguage[language][8], 160, 3, PrimaryColor, PrimaryColorSmooth, FONT28);
tftPrint(0, "Software " + String(VERSION), 160, 152, PrimaryColor, PrimaryColorSmooth, FONT16);
tft.fillSmoothCircle(160, 90, 60, SignificantColor, SignificantColorSmooth);
tft.fillSmoothCircle(160, 90, 52, BackgroundColor, SignificantColorSmooth);
tft.fillSmoothCircle(160, 90, 60, PrimaryColor, PrimaryColorSmooth);
tft.fillSmoothCircle(160, 90, 52, BackgroundColor, PrimaryColorSmooth);
tft.fillRect(120, 230, 16, 6, GreyoutColor);
tft.fillRect(152, 230, 16, 6, GreyoutColor);
tft.fillRect(184, 230, 16, 6, GreyoutColor);
tft.drawBitmap(130, 80, TEFLogo, 59, 23, PrimaryColor);
tft.drawBitmap(130, 80, TEFLogo, 59, 23, ActiveColor);
for (int x = 0; x <= ContrastSet; x++) {
analogWrite(CONTRASTPIN, x * 2 + 27);
@@ -667,9 +675,9 @@ void loop() {
tftPrint(0, "M", 7, 132, ActiveColor, ActiveColorSmooth, FONT16);
for (byte segments = 0; segments < 94; segments++) {
if (segments > 54) {
if (((segments - 53) % 10) == 0) tft.fillRect(16 + (2 * segments), 141, 2, 2, SignificantColor);
if (((segments - 53) % 10) == 0) tft.fillRect(16 + (2 * segments), 141, 2, 2, BarSignificantColor);
} else {
if (((segments + 1) % 6) == 0) tft.fillRect(16 + (2 * segments), 141, 2, 2, InsignificantColor);
if (((segments + 1) % 6) == 0) tft.fillRect(16 + (2 * segments), 141, 2, 2, BarInsignificantColor);
}
}
}
@@ -2597,7 +2605,7 @@ void KeyUp() {
switch (menuoption) {
case 30:
CurrentTheme ++;
if (CurrentTheme > 7) CurrentTheme = 0;
if (CurrentTheme > 9) CurrentTheme = 0;
doTheme();
tft.drawRoundRect(10, 30, 300, 170, 5, ActiveColor);
tft.fillRoundRect(12, 32, 296, 166, 5, BackgroundColor);
@@ -3015,7 +3023,7 @@ void KeyDown() {
switch (menuoption) {
case 30:
CurrentTheme --;
if (CurrentTheme > 7) CurrentTheme = 7;
if (CurrentTheme > 9) CurrentTheme = 9;
doTheme();
tft.drawRoundRect(10, 30, 300, 170, 5, ActiveColor);
tft.fillRoundRect(12, 32, 296, 166, 5, BackgroundColor);
@@ -3326,7 +3334,7 @@ void ShowAdvancedRDS() {
String afstring;
if (radio.rds.hasAF) for (byte i = 0; i < radio.af_counter; i++) afstring += String(radio.af[i].frequency / 100) + "." + String((radio.af[i].frequency % 100) / 10) + (radio.af[i].filler ? "(f)" : "") + (i == radio.af_counter - 1 ? " " : " | "); else afstring = myLanguage[language][87];
if (hasafold != radio.rds.hasAF) {
if (radio.rds.hasAF) tftPrint(-1, "AF", 50, 51, SecondaryColor, SecondaryColorSmooth, FONT16); else tftPrint(-1, "AF", 50, 51, GreyoutColor, BackgroundColor, FONT16);
if (radio.rds.hasAF) tftPrint(-1, "AF", 50, 51, PrimaryColor, PrimaryColorSmooth, FONT16); else tftPrint(-1, "AF", 50, 51, GreyoutColor, BackgroundColor, FONT16);
hasafold = radio.rds.hasAF;
}
@@ -3364,7 +3372,7 @@ void ShowAdvancedRDS() {
String eonstring;
if (radio.rds.hasEON) for (byte i = 0; i < radio.eon_counter; i++) eonstring += String(radio.eon[i].picode) + (radio.eon[i].ps.length() > 0 ? String(": " + String(radio.eon[i].ps)) : "") + (radio.eon[i].mappedfreq > 0 ? String(" " + String(radio.eon[i].mappedfreq / 100) + "." + String((radio.eon[i].mappedfreq % 100) / 10)) : "") + (radio.eon[i].mappedfreq2 > 0 ? String(" / " + String(radio.eon[i].mappedfreq2 / 100) + "." + String((radio.eon[i].mappedfreq2 % 100) / 10)) : "") + (radio.eon[i].mappedfreq3 > 0 ? String(" / " + String(radio.eon[i].mappedfreq3 / 100) + "." + String((radio.eon[i].mappedfreq3 % 100) / 10)) : "") + (i == radio.eon_counter - 1 ? " " : " | "); else eonstring = myLanguage[language][88];
if (haseonold != radio.rds.hasEON) {
if (radio.rds.hasEON) tftPrint(-1, "EON", 153, 51, SecondaryColor, SecondaryColorSmooth, FONT16); else tftPrint(-1, "EON", 153, 51, GreyoutColor, BackgroundColor, FONT16);
if (radio.rds.hasEON) tftPrint(-1, "EON", 153, 51, PrimaryColor, PrimaryColorSmooth, FONT16); else tftPrint(-1, "EON", 153, 51, GreyoutColor, BackgroundColor, FONT16);
haseonold = radio.rds.hasEON;
}
if (eonstring.length() < 20) {
@@ -3401,7 +3409,7 @@ void ShowAdvancedRDS() {
String rtplusstring;
if (radio.rds.hasRDSplus) rtplusstring = (radio.rds.rdsplusTag1 != 169 ? String(myLanguage[language][radio.rds.rdsplusTag1]) + ": " + String(radio.rds.RTContent1) : "") + (radio.rds.rdsplusTag2 != 169 ? " - " + String(myLanguage[language][radio.rds.rdsplusTag2]) + ": " + String(radio.rds.RTContent2) : "") + " "; else rtplusstring = myLanguage[language][89];
if (hasrtplusold != radio.rds.hasRDSplus) {
if (radio.rds.hasRDSplus) tftPrint(-1, "RT+", 124, 51, SecondaryColor, SecondaryColorSmooth, FONT16); else tftPrint(-1, "RT+", 124, 51, GreyoutColor, BackgroundColor, FONT16);
if (radio.rds.hasRDSplus) tftPrint(-1, "RT+", 124, 51, PrimaryColor, PrimaryColorSmooth, FONT16); else tftPrint(-1, "RT+", 124, 51, GreyoutColor, BackgroundColor, FONT16);
hasrtplusold = radio.rds.hasRDSplus;
}
if (rtplusstring.length() < 20) {
@@ -3436,12 +3444,12 @@ void ShowAdvancedRDS() {
rtplusstringold = rtplusstring;
if (TPold != radio.rds.hasTP) {
if (radio.rds.hasTP == true) tftPrint(-1, "TP", 6, 51, SecondaryColor, SecondaryColorSmooth, FONT16); else tftPrint(-1, "TP", 6, 51, GreyoutColor, BackgroundColor, FONT16);
if (radio.rds.hasTP == true) tftPrint(-1, "TP", 6, 51, PrimaryColor, PrimaryColorSmooth, FONT16); else tftPrint(-1, "TP", 6, 51, GreyoutColor, BackgroundColor, FONT16);
TPold = radio.rds.hasTP;
}
if (TAold != radio.rds.hasTA) {
if (radio.rds.hasTA == true) tftPrint(-1, "TA", 28, 51, SecondaryColor, SecondaryColorSmooth, FONT16); else tftPrint(-1, "TA", 28, 51, GreyoutColor, BackgroundColor, FONT16);
if (radio.rds.hasTA == true) tftPrint(-1, "TA", 28, 51, PrimaryColor, PrimaryColorSmooth, FONT16); else tftPrint(-1, "TA", 28, 51, GreyoutColor, BackgroundColor, FONT16);
TAold = radio.rds.hasTA;
}
@@ -3453,13 +3461,13 @@ void ShowAdvancedRDS() {
break;
case 1:
tftPrint(-1, "M", 185, 51, SecondaryColor, SecondaryColorSmooth, FONT16);
tftPrint(-1, "M", 185, 51, PrimaryColor, PrimaryColorSmooth, FONT16);
tftPrint(-1, "S", 198, 51, GreyoutColor, BackgroundColor, FONT16);
break;
case 2:
tftPrint(-1, "M", 185, 51, GreyoutColor, BackgroundColor, FONT16);
tftPrint(-1, "S", 198, 51, SecondaryColor, SecondaryColorSmooth, FONT16);
tftPrint(-1, "S", 198, 51, PrimaryColor, PrimaryColorSmooth, FONT16);
break;
}
MSold = radio.rds.MS;
@@ -3468,8 +3476,8 @@ void ShowAdvancedRDS() {
rds_clock = ((hour() < 10 ? "0" : "") + String(hour()) + ":" + (minute() < 10 ? "0" : "") + String(minute()));
if (rds_clock != rds_clockold) {
if (radio.rds.hasCT) {
tftReplace(1, rds_clockold, rds_clock, 205, 109, SecondaryColor, SecondaryColorSmooth, FONT16);
tftPrint(-1, "CT", 72, 51, SecondaryColor, SecondaryColorSmooth, FONT16);
tftReplace(1, rds_clockold, rds_clock, 205, 109, PrimaryColor, PrimaryColorSmooth, FONT16);
tftPrint(-1, "CT", 72, 51, PrimaryColor, PrimaryColorSmooth, FONT16);
} else {
tftPrint(1, rds_clock, 205, 109, BackgroundColor, BackgroundColor, FONT16);
tftPrint(-1, "CT", 72, 51, GreyoutColor, BackgroundColor, FONT16);
@@ -3484,7 +3492,7 @@ void ShowAdvancedRDS() {
}
if (hastmcold != radio.rds.hasTMC) {
if (radio.rds.hasTMC == true) tftPrint(-1, "TMC", 90, 51, SecondaryColor, SecondaryColorSmooth, FONT16); else tftPrint(-1, "TMC", 90, 51, GreyoutColor, BackgroundColor, FONT16);
if (radio.rds.hasTMC == true) tftPrint(-1, "TMC", 90, 51, PrimaryColor, PrimaryColorSmooth, FONT16); else tftPrint(-1, "TMC", 90, 51, GreyoutColor, BackgroundColor, FONT16);
hastmcold = radio.rds.hasTMC;
}
}
@@ -4047,8 +4055,8 @@ void BuildAdvancedRDS() {
tftPrint(-1, "ECC", 214, 193, ActiveColor, ActiveColorSmooth, FONT16);
tftPrint(-1, "LIC", 214, 208, ActiveColor, ActiveColorSmooth, FONT16);
tftPrint(-1, "PIN", 214, 223, ActiveColor, ActiveColorSmooth, FONT16);
tftPrint(1, "Dyn. PTY", 300, 130, ActiveColor, ActiveColorSmooth, FONT16);
tftPrint(1, "Art. head", 300, 145, ActiveColor, ActiveColorSmooth, FONT16);
tftPrint(1, "Dynamic PTY", 300, 130, ActiveColor, ActiveColorSmooth, FONT16);
tftPrint(1, "Artif. head", 300, 145, ActiveColor, ActiveColorSmooth, FONT16);
tftPrint(1, "Compressed", 300, 160, ActiveColor, ActiveColorSmooth, FONT16);
tftPrint(1, "Has stereo", 300, 175, ActiveColor, ActiveColorSmooth, FONT16);
@@ -4158,7 +4166,7 @@ void BuildDisplay() {
}
}
if (showsquelch) tftPrint(-1, "SQ:", 212, 145, ActiveColor, ActiveColorSmooth, FONT16);
tftPrint(1, "C/N", 275, 163, ActiveColor, ActiveColorSmooth, FONT16);
tftPrint(1, "C/N", 265, 163, ActiveColor, ActiveColorSmooth, FONT16);
tftPrint(-1, "dB", 300, 163, ActiveColor, ActiveColorSmooth, FONT16);
if (region == 0) tftPrint(-1, "PI:", 216, 193, ActiveColor, ActiveColorSmooth, FONT16);
if (region == 1) tftPrint(-1, "ID:", 216, 193, ActiveColor, ActiveColorSmooth, FONT16);
@@ -4358,12 +4366,12 @@ void ShowSignalLevel() {
snrupdatetimer = millis();
if (!advancedRDS) {
if (SNR > (SNRold + 1) || SNR < (SNRold - 1)) {
if (SNRold == 0) tftPrint(1, "--", 298, 163, BackgroundColor, BackgroundColor, FONT16); else tftPrint(1, String(SNRold), 298, 163, BackgroundColor, BackgroundColor, FONT16);
if (SNRold == 0) tftPrint(1, "--", 295, 163, BackgroundColor, BackgroundColor, FONT16); else tftPrint(1, String(SNRold), 295, 163, BackgroundColor, BackgroundColor, FONT16);
if (tuned == true) {
if (SNR == 0) tftPrint(1, "--", 298, 163, PrimaryColor, PrimaryColorSmooth, FONT16); else tftPrint(1, String(SNR), 298, 163, PrimaryColor, PrimaryColorSmooth, FONT16);
if (SNR == 0) tftPrint(1, "--", 295, 163, PrimaryColor, PrimaryColorSmooth, FONT16); else tftPrint(1, String(SNR), 295, 163, PrimaryColor, PrimaryColorSmooth, FONT16);
SNRold = SNR;
} else {
tftPrint(1, "--", 298, 163, PrimaryColor, PrimaryColorSmooth, FONT16);
tftPrint(1, "--", 295, 163, PrimaryColor, PrimaryColorSmooth, FONT16);
SNRold = 0;
}
}
@@ -4405,8 +4413,8 @@ void ShowSignalLevel() {
if (band < BAND_GAP) segments = (SStatus + 200) / 10; else segments = (SStatus + 200) / 10;
tft.fillRect(16, 105, 2 * constrain(segments, 0, 54), 6, InsignificantColor);
tft.fillRect(16 + 2 * 54, 105, 2 * (constrain(segments, 54, 94) - 54), 6, SignificantColor);
tft.fillRect(16, 105, 2 * constrain(segments, 0, 54), 6, BarInsignificantColor);
tft.fillRect(16 + 2 * 54, 105, 2 * (constrain(segments, 54, 94) - 54), 6, BarSignificantColor);
tft.fillRect(16 + 2 * constrain(segments, 0, 94), 105, 2 * (94 - constrain(segments, 0, 94)), 6, GreyoutColor);
}
SStatusold = SStatusprint;
@@ -4424,7 +4432,7 @@ void ShowSignalLevel() {
void ShowRDSLogo(bool RDSstatus) {
if (screenmute == false) {
if (RDSstatus != RDSstatusold) {
if (RDSstatus) tft.drawBitmap(139, 5, RDSLogo, 35, 22, ActiveColor); else tft.drawBitmap(139, 5, RDSLogo, 35, 22, GreyoutColor);
if (RDSstatus) tft.drawBitmap(139, 5, RDSLogo, 35, 22, RDSColor); else tft.drawBitmap(139, 5, RDSLogo, 35, 22, GreyoutColor);
RDSstatusold = RDSstatus;
}
}
@@ -4435,10 +4443,10 @@ void ShowStereoStatus() {
if (band < BAND_GAP) Stereostatus = radio.getStereoStatus(); else Stereostatus = 0;
if (Stereostatus != Stereostatusold) {
if (Stereostatus == true && screenmute == false) {
tft.drawSmoothCircle(81, 15, 10, SignificantColor, SignificantColorSmooth);
tft.drawSmoothCircle(81, 15, 9, SignificantColor, SignificantColorSmooth);
tft.drawSmoothCircle(91, 15, 10, SignificantColor, SignificantColorSmooth);
tft.drawSmoothCircle(91, 15, 9, SignificantColor, SignificantColorSmooth);
tft.drawSmoothCircle(81, 15, 10, StereoColor, StereoColorSmooth);
tft.drawSmoothCircle(81, 15, 9, StereoColor, StereoColorSmooth);
tft.drawSmoothCircle(91, 15, 10, StereoColor, StereoColorSmooth);
tft.drawSmoothCircle(91, 15, 9, StereoColor, StereoColorSmooth);
} else {
if (screenmute == false) {
tft.drawSmoothCircle(81, 15, 10, GreyoutColor, BackgroundColor);
@@ -4561,7 +4569,7 @@ void ShowBW() {
}
if (BW != BWOld || BWreset == true) {
if (BWset == 0) tftReplace(1, String (BWOld, DEC), String (BW, DEC), 220, 4, SecondaryColor, SecondaryColorSmooth, FONT28); else tftReplace(1, String (BWOld, DEC), String (BW, DEC), 220, 4, PrimaryColor, PrimaryColorSmooth, FONT28);
if (BWset == 0) tftReplace(1, String (BWOld, DEC), String (BW, DEC), 220, 4, BWAutoColor, BWAutoColorSmooth, FONT28); else tftReplace(1, String (BWOld, DEC), String (BW, DEC), 220, 4, PrimaryColor, PrimaryColorSmooth, FONT28);
BWOld = BW;
BWreset = false;
if (wifi) {
@@ -4588,12 +4596,12 @@ void ShowModLevel() {
peakholdmillis = millis();
}
tft.fillRect(16, 133, 2 * constrain(segments, 0, 54), 6, InsignificantColor);
tft.fillRect(16 + 2 * 54, 133, 2 * (constrain(segments, 54, 94) - 54), 6, SignificantColor);
tft.fillRect(16, 133, 2 * constrain(segments, 0, 54), 6, BarInsignificantColor);
tft.fillRect(16 + 2 * 54, 133, 2 * (constrain(segments, 54, 94) - 54), 6, BarSignificantColor);
tft.fillRect(16 + 2 * constrain(segments, 0, 94), 133, 2 * (94 - constrain(segments, 0, 94)), 6, GreyoutColor);
int peakHoldPosition = 16 + 2 * constrain(peakholdold, 0, 94);
tft.fillRect(peakHoldPosition, 133, 2, 6, (MStatus > 80) ? SignificantColor : PrimaryColor);
tft.fillRect(peakHoldPosition, 133, 2, 6, (MStatus > 80) ? BarSignificantColor : PrimaryColor);
if (millis() - peakholdmillis >= 1000) {
tft.fillRect(peakHoldPosition, 133, 2, 6, GreyoutColor);
@@ -4995,15 +5003,15 @@ void ShowBattery() {
if (batteryold != battery) {
if (batterydetect) {
if (battery == 0) {
tft.drawRect(300, 8, 12, 20, SignificantColor);
tft.fillRect(303, 4, 6, 4, SignificantColor);
tft.drawRect(300, 8, 12, 20, BarSignificantColor);
tft.fillRect(303, 4, 6, 4, BarSignificantColor);
tft.fillRect(302, 10, 8, 16, BackgroundColor);
tft.fillRect(302, 26 - (battery * 4), 8, battery * 4, InsignificantColor);
tft.fillRect(302, 26 - (battery * 4), 8, battery * 4, BarInsignificantColor);
} else {
tft.drawRect(300, 8, 12, 20, ActiveColor);
tft.fillRect(303, 4, 6, 4, ActiveColor);
tft.fillRect(302, 10, 8, 16, BackgroundColor);
tft.fillRect(302, 26 - (battery * 4), 8, battery * 4, InsignificantColor);
tft.fillRect(302, 26 - (battery * 4), 8, battery * 4, BarInsignificantColor);
}
} else {
tft.drawRect(300, 8, 12, 20, GreyoutColor);
@@ -5770,40 +5778,64 @@ void doTheme() { // Use this to put your own colors in: http://www.barth-dev.de
SignificantColorSmooth = 0x2000;
InsignificantColor = 0x07E0;
InsignificantColorSmooth = 0x00C0;
StereoColor = 0xF800;
StereoColorSmooth = 0x2000;
RDSColor = 0xFFE0;
RDSColorSmooth = 0x2120;
BarSignificantColor = 0xF800;
BarInsignificantColor = 0x07E0;
BWAutoColor = 0x07F7;
BWAutoColorSmooth = 0x0144;
CurrentThemeString = myLanguage[language][78];
break;
case 1: // Cyan theme
PrimaryColor = 0x0F3F;
PrimaryColorSmooth = 0x0000;
SecondaryColor = 0xFFFF;
SecondaryColorSmooth = 0x0000;
PrimaryColorSmooth = 0x0105;
SecondaryColor = 0x867D;
SecondaryColorSmooth = 0x10E4;
FrequencyColor = 0x0F3F;
FrameColor = 0x0248;
FrameColor = 0x01e9;
GreyoutColor = 0x4A69;
BackgroundColor = 0x0000;
ActiveColor = 0xFFFF;
ActiveColorSmooth = 0x0000;
ActiveColorSmooth = 0x18E3;
SignificantColor = 0xF800;
SignificantColorSmooth = 0x0000;
SignificantColorSmooth = 0x2000;
InsignificantColor = 0x07E0;
InsignificantColorSmooth = 0x0140;
InsignificantColorSmooth = 0x00C0;
StereoColor = 0x0F3F;
StereoColorSmooth = 0x0105;
RDSColor = 0x0F3F;
RDSColorSmooth = 0x0105;
BarSignificantColor = 0xF800;
BarInsignificantColor = 0x0F3F;
BWAutoColor = 0x07F7;
BWAutoColorSmooth = 0x0144;
CurrentThemeString = myLanguage[language][79];
break;
case 2: // Crimson theme
PrimaryColor = 0xF8C3;
PrimaryColorSmooth = 0x0000;
SecondaryColor = 0xFFFF;
SecondaryColorSmooth = 0x0000;
PrimaryColorSmooth = 0x3800;
SecondaryColor = 0x867D;
SecondaryColorSmooth = 0x10E4;
FrequencyColor = 0xF8C3;
FrameColor = 0x3800;
GreyoutColor = 0x4A69;
BackgroundColor = 0x0000;
ActiveColor = 0xFFFF;
ActiveColorSmooth = 0x0000;
SignificantColor = 0xF8C3;
SignificantColorSmooth = 0x0000;
ActiveColorSmooth = 0x18E3;
SignificantColor = 0xF800;
SignificantColorSmooth = 0x2000;
InsignificantColor = 0x07E0;
InsignificantColorSmooth = 0x0140;
InsignificantColorSmooth = 0x00C0;
StereoColor = 0xF8C3;
StereoColorSmooth = 0x0000;
RDSColor = 0xF8C3;
RDSColorSmooth = 0x0000;
BarSignificantColor = 0xF800;
BarInsignificantColor = 0x07E0;
BWAutoColor = 0x07F7;
BWAutoColorSmooth = 0x0144;
CurrentThemeString = myLanguage[language][80];
break;
case 3: // Monochrome theme
@@ -5821,57 +5853,89 @@ void doTheme() { // Use this to put your own colors in: http://www.barth-dev.de
SignificantColorSmooth = 0xFFFF;
InsignificantColor = 0xFFFF;
InsignificantColorSmooth = 0xFFFF;
StereoColor = 0xFFFF;
StereoColorSmooth = 0x0000;
RDSColor = 0xFFFF;
RDSColorSmooth = 0x0000;
BarSignificantColor = 0xF8C3;
BarInsignificantColor = 0x07E0;
BWAutoColor = 0x7BCF;
BWAutoColorSmooth = 0x1082;
CurrentThemeString = myLanguage[language][81];
break;
case 4: // Volcano theme
PrimaryColor = 0xFC00;
PrimaryColorSmooth = 0xFFFF;
SecondaryColor = 0xFFFF;
SecondaryColorSmooth = 0xFFFF;
PrimaryColorSmooth = 0x2965;
SecondaryColor = 0x867D;
SecondaryColorSmooth = 0x10E4;
FrequencyColor = 0xFC00;
FrameColor = 0x2965;
GreyoutColor = 0x5140;
BackgroundColor = 0x0806;
ActiveColor = 0xFFFF;
ActiveColorSmooth = 0x0000;
SignificantColor = 0xFFFF;
SignificantColorSmooth = 0x0806;
ActiveColorSmooth = 0x18E3;
SignificantColor = 0xF800;
SignificantColorSmooth = 0x2000;
InsignificantColor = 0x07E0;
InsignificantColorSmooth = 0x0140;
InsignificantColorSmooth = 0x00C0;
StereoColor = 0xFC00;
StereoColorSmooth = 0x0105;
RDSColor = 0xFC00;
RDSColorSmooth = 0xFFFF;
BarSignificantColor = 0xF800;
BarInsignificantColor = 0xFC00;
BWAutoColor = 0x07F7;
BWAutoColorSmooth = 0x0144;
CurrentThemeString = myLanguage[language][82];
break;
case 5: // Dendro theme
PrimaryColor = TFT_GREEN;
PrimaryColorSmooth = 0x0000;
SecondaryColor = TFT_GREEN;
SecondaryColorSmooth = 0x0000;
PrimaryColorSmooth = 0x0200;
SecondaryColor = 0x867D;
SecondaryColorSmooth = 0x10E4;
FrequencyColor = TFT_GREEN;
FrameColor = 0x0200;
GreyoutColor = 0x4A69;
BackgroundColor = 0x0000;
ActiveColor = 0xFFFF;
ActiveColorSmooth = 0x0000;
SignificantColor = PrimaryColor;
SignificantColorSmooth = 0x0000;
ActiveColorSmooth = 0x18E3;
SignificantColor = 0xF800;
SignificantColorSmooth = 0x2000;
InsignificantColor = 0x07E0;
InsignificantColorSmooth = 0x0140;
InsignificantColorSmooth = 0x00C0;
StereoColor = TFT_GREEN;
StereoColorSmooth = 0x0200;
RDSColor = TFT_GREEN;
RDSColorSmooth = 0x0200;
BarSignificantColor = 0xF800;
BarInsignificantColor = TFT_GREEN;
BWAutoColor = 0x07F7;
BWAutoColorSmooth = 0x0144;
CurrentThemeString = myLanguage[language][83];
break;
case 6: // Sakura theme
PrimaryColor = 0xF3D5;
PrimaryColorSmooth = 0x0000;
SecondaryColor = 0xF3D5;
SecondaryColorSmooth = 0x0000;
PrimaryColorSmooth = 0x3008;
SecondaryColor = 0x867D;
SecondaryColorSmooth = 0x10E4;
FrequencyColor = 0xF3D5;
FrameColor = 0x3845;
GreyoutColor = 0x4A69;
BackgroundColor = 0x0000;
ActiveColor = 0xFFFF;
ActiveColorSmooth = 0x0000;
SignificantColor = 0xFFFF;
SignificantColorSmooth = 0x0000;
ActiveColorSmooth = 0x18E3;
SignificantColor = 0xF800;
SignificantColorSmooth = 0x2000;
InsignificantColor = 0x07E0;
InsignificantColorSmooth = 0x0140;
InsignificantColorSmooth = 0x00C0;
StereoColor = 0xF3D5;
StereoColorSmooth = 0x3008;
RDSColor = 0xF3D5;
RDSColorSmooth = 0x3008;
BarSignificantColor = 0xF8C3;
BarInsignificantColor = 0xF3D5;
BWAutoColor = 0xF00A;
BWAutoColorSmooth = 0x2802;
CurrentThemeString = myLanguage[language][84];
break;
case 7: // Whiteout theme
@@ -5889,8 +5953,66 @@ void doTheme() { // Use this to put your own colors in: http://www.barth-dev.de
SignificantColorSmooth = 0xDFFC;
InsignificantColor = 0x07E0;
InsignificantColorSmooth = 0x0140;
StereoColor = 0x0000;
StereoColorSmooth = 0xDFFC;
RDSColor = 0x0000;
RDSColorSmooth = 0xDFFC;
BarSignificantColor = 0x0000;
BarInsignificantColor = 0x0140;
BWAutoColor = 0x7BCF;
BWAutoColorSmooth = 0x1082;
CurrentThemeString = myLanguage[language][85];
break;
case 8: // Tangerine theme
PrimaryColor = 0xF980;
PrimaryColorSmooth = 0x3080;
SecondaryColor = 0x867D;
SecondaryColorSmooth = 0x10E4;
FrequencyColor = 0xF980;
FrameColor = 0x38A1;
GreyoutColor = 0x4A69;
BackgroundColor = 0x0000;
ActiveColor = 0xFFFF;
ActiveColorSmooth = 0x18E3;
SignificantColor = 0xF800;
SignificantColorSmooth = 0x2000;
InsignificantColor = 0x07E0;
InsignificantColorSmooth = 0x00C0;
StereoColor = 0xF980;
StereoColorSmooth = 0x3080;
RDSColor = 0xF980;
RDSColorSmooth = 0x3080;
BarSignificantColor = 0xF8C3;
BarInsignificantColor = 0xF980;
BWAutoColor = 0x07F7;
BWAutoColorSmooth = 0x0144;
CurrentThemeString = myLanguage[language][170];
break;
case 9: // Ocean theme
PrimaryColor = 0x01FF;
PrimaryColorSmooth = 0x0006;
SecondaryColor = 0x867D;
SecondaryColorSmooth = 0x10E4;
FrequencyColor = 0x01FF;
FrameColor = 0x0010;
GreyoutColor = 0x4A69;
BackgroundColor = 0x0000;
ActiveColor = 0xFFFF;
ActiveColorSmooth = 0x18E3;
SignificantColor = 0xF800;
SignificantColorSmooth = 0x2000;
InsignificantColor = 0x07E0;
InsignificantColorSmooth = 0x00C0;
StereoColor = 0x01FF;
StereoColorSmooth = 0x0006;
RDSColor = 0x01FF;
RDSColorSmooth = 0x0006;
BarSignificantColor = 0xF8C3;
BarInsignificantColor = 0x01FF;
BWAutoColor = 0x07F7;
BWAutoColorSmooth = 0x0144;
CurrentThemeString = myLanguage[language][171];
break;
}
}
+47 -17
View File
@@ -1,6 +1,6 @@
// [number of languages][number of texts][max. length of text]
static const char* const myLanguage[16][170] = {
static const char* const myLanguage[16][172] = {
{ "English", // English
"Rotary direction changed", // 1
"Please release button", // 2
@@ -170,7 +170,9 @@ static const char* const myLanguage[16][170] = {
"Identifier", // 166
"Purchase", // 167
"Get data", // 168
" " // 169
" ", // 169
"Tangerine", // 170
"Ocean" // 171
},
{ "Nederlands", // Dutch
@@ -342,7 +344,9 @@ static const char* const myLanguage[16][170] = {
"Identificatie", // 166
"Aankoop", // 167
"Verkrijg data", // 168
"" // 169
" ", // 169
"Tangerine", // 170
"Ocean" // 171
},
{ "Polski", // Polish
@@ -514,7 +518,9 @@ static const char* const myLanguage[16][170] = {
"Identifier", // 166
"Purchase", // 167
"Get data", // 168
"" // 169
" ", // 169
"Tangerine", // 170
"Ocean" // 171
},
{ "Hrvatski", // Croatian
@@ -686,7 +692,9 @@ static const char* const myLanguage[16][170] = {
"Identifier", // 166
"Purchase", // 167
"Get data", // 168
"" // 169
" ", // 169
"Tangerine", // 170
"Ocean" // 171
},
{ "Ελληνικά", // Greek
@@ -858,7 +866,9 @@ static const char* const myLanguage[16][170] = {
"Αναγνωριστικό", // 166
"Αγορά", // 167
"Λήψη δεδομένων", // 168
"" // 169
" ", // 169
"Tangerine", // 170
"Ocean" // 171
},
{ "Romana", // Romanian
@@ -1030,7 +1040,9 @@ static const char* const myLanguage[16][170] = {
"Identifier", // 166
"Purchase", // 167
"Get data", // 168
"" // 169
" ", // 169
"Tangerine", // 170
"Ocean" // 171
},
{ "Deutsch", // German
@@ -1202,7 +1214,9 @@ static const char* const myLanguage[16][170] = {
"Identifier", // 166
"Purchase", // 167
"Get data", // 168
"" // 169
" ", // 169
"Tangerine", // 170
"Ocean" // 171
},
{ "Czech", // Czech
@@ -1374,7 +1388,9 @@ static const char* const myLanguage[16][170] = {
"Identifier", // 166
"Purchase", // 167
"Get data", // 168
"" // 169
" ", // 169
"Tangerine", // 170
"Ocean" // 171
},
{ "Slovak", // Slovak
@@ -1546,7 +1562,9 @@ static const char* const myLanguage[16][170] = {
"Identifier", // 166
"Purchase", // 167
"Get data", // 168
"" // 169
" ", // 169
"Tangerine", // 170
"Ocean" // 171
},
{ "Français", // French
@@ -1718,7 +1736,9 @@ static const char* const myLanguage[16][170] = {
"Identifiant", // 166
"Achat", // 167
"Obtenir des données", // 168
"" // 169
" ", // 169
"Tangerine", // 170
"Ocean" // 171
},
{ "Български", // Bulgarian
@@ -1739,7 +1759,7 @@ static const char* const myLanguage[16][170] = {
"Stereo праг:", // 15
"Мин. честота на изряз.:", // 16
"Мин. сигнал за изряз.:", // 17
"Праг н?? слаб сигнал:", // 18
"Праг на слаб сигнал:", // 18
"Яркост:", // 19
"Сила на звука", // 20
"Отместване на конвертора:", // 21
@@ -1890,7 +1910,9 @@ static const char* const myLanguage[16][170] = {
"Identifier", // 166
"Purchase", // 167
"Get data", // 168
"" // 169
" ", // 169
"Tangerine", // 170
"Ocean" // 171
},
{ "Русский", // Russian
@@ -2062,7 +2084,9 @@ static const char* const myLanguage[16][170] = {
"Identifier", // 166
"Purchase", // 167
"Get data", // 168
"" // 169
" ", // 169
"Tangerine", // 170
"Ocean" // 171
},
{ "Українська", // Ukranian
@@ -2234,7 +2258,9 @@ static const char* const myLanguage[16][170] = {
"Identifier", // 166
"Purchase", // 167
"Get data", // 168
"" // 169
" ", // 169
"Tangerine", // 170
"Ocean" // 171
},
{ "Italiano", // Italian
@@ -2406,7 +2432,9 @@ static const char* const myLanguage[16][170] = {
"Identifier", // 166
"Purchase", // 167
"Get data", // 168
"" // 169
" ", // 169
"Tangerine", // 170
"Ocean" // 171
},
{ "Simplified Chinese", // Simplified Chinese
@@ -2578,7 +2606,9 @@ static const char* const myLanguage[16][170] = {
"Identifier", // 166
"Purchase", // 167
"Get data", // 168
"" // 169
" ", // 169
"Tangerine", // 170
"Ocean" // 171
},
{ "Norsk", // Norwegian