Merge pull request #51 from ohmytime/Display-color-invert

Add Display color invert
This commit is contained in:
Sjef Verhoeven PE5PVB
2023-06-27 16:11:09 +02:00
committed by GitHub
2 changed files with 64 additions and 12 deletions
+45 -2
View File
@@ -98,7 +98,7 @@ String salt;
String saltkey = " "; String saltkey = " ";
byte memoryposold; byte memoryposold;
byte menupage = 1; byte menupage = 1;
byte menupagestotal = 3; byte menupagestotal = 4;
byte MSold; byte MSold;
byte band; byte band;
byte BWset; byte BWset;
@@ -111,6 +111,7 @@ byte iMSset;
byte memoryband[30]; byte memoryband[30];
byte optenc; byte optenc;
byte rotarymode; byte rotarymode;
byte colorinvert;
byte SNR; byte SNR;
byte SNRold; byte SNRold;
byte stepsize; byte stepsize;
@@ -232,7 +233,7 @@ WiFiUDP Udp;
void setup() { void setup() {
setupmode = true; setupmode = true;
EEPROM.begin(258); EEPROM.begin(259);
if (EEPROM.readByte(43) != 27) DefaultSettings(); if (EEPROM.readByte(43) != 27) DefaultSettings();
frequency = EEPROM.readUInt(0); frequency = EEPROM.readUInt(0);
@@ -282,6 +283,7 @@ void setup() {
specialstepOIRT = EEPROM.readByte(249); specialstepOIRT = EEPROM.readByte(249);
LowEdgeOIRTSet = EEPROM.readUInt(250); LowEdgeOIRTSet = EEPROM.readUInt(250);
HighEdgeOIRTSet = EEPROM.readUInt(254); HighEdgeOIRTSet = EEPROM.readUInt(254);
colorinvert = EEPROM.readByte(258);
LWLowEdgeSet = FREQ_LW_LOW_EDGE_MIN; // later will read from flash LWLowEdgeSet = FREQ_LW_LOW_EDGE_MIN; // later will read from flash
LWHighEdgeSet = FREQ_LW_HIGH_EDGE_MAX; // later will read from flash LWHighEdgeSet = FREQ_LW_HIGH_EDGE_MAX; // later will read from flash
@@ -328,6 +330,7 @@ void setup() {
} }
tft.init(); tft.init();
tft.invertDisplay(colorinvert);
if (displayflip == 0) { if (displayflip == 0) {
#ifdef ARS #ifdef ARS
@@ -1252,6 +1255,7 @@ void ModeButtonPress() {
EEPROM.writeByte(249, specialstepOIRT); EEPROM.writeByte(249, specialstepOIRT);
EEPROM.writeUInt(250, LowEdgeOIRTSet); EEPROM.writeUInt(250, LowEdgeOIRTSet);
EEPROM.writeUInt(254, HighEdgeOIRTSet); EEPROM.writeUInt(254, HighEdgeOIRTSet);
EEPROM.writeByte(258, colorinvert);
EEPROM.commit(); EEPROM.commit();
Serial.end(); Serial.end();
if (wifi) remoteip = IPAddress (WiFi.localIP()[0], WiFi.localIP()[1], WiFi.localIP()[2], subnetclient); if (wifi) remoteip = IPAddress (WiFi.localIP()[0], WiFi.localIP()[1], WiFi.localIP()[2], subnetclient);
@@ -1671,6 +1675,15 @@ void ButtonPress() {
if (specialstepOIRT) tft.drawCentreString("ON", 155, 110, GFXFF); else tft.drawCentreString("OFF", 155, 110, GFXFF); if (specialstepOIRT) tft.drawCentreString("ON", 155, 110, GFXFF); else tft.drawCentreString("OFF", 155, 110, GFXFF);
break; break;
} }
case 4:
switch (menuoption) {
case 30:
tft.setTextColor(TFT_WHITE);
tft.drawCentreString(myLanguage[language][69], 155, 70, GFXFF);
tft.setTextColor(TFT_YELLOW);
if (colorinvert) tft.drawCentreString(myLanguage[language][42], 155, 110, GFXFF); else tft.drawCentreString(myLanguage[language][30], 155, 110, GFXFF);
break;
}
} }
} else { } else {
if (menupage == 2 && menuoption == 190 && wifi == true) { if (menupage == 2 && menuoption == 190 && wifi == true) {
@@ -2045,6 +2058,18 @@ void KeyUp() {
if (specialstepOIRT) tft.drawCentreString("ON", 155, 110, GFXFF); else tft.drawCentreString("OFF", 155, 110, GFXFF); if (specialstepOIRT) tft.drawCentreString("ON", 155, 110, GFXFF); else tft.drawCentreString("OFF", 155, 110, GFXFF);
break; break;
} }
break;
case 4:
switch (menuoption) {
case 30:
tft.setTextColor(TFT_BLACK);
if (colorinvert) tft.drawCentreString(myLanguage[language][42], 155, 110, GFXFF); else tft.drawCentreString(myLanguage[language][30], 155, 110, GFXFF);
if (colorinvert) colorinvert = 0; else colorinvert = 1;
tft.setTextColor(TFT_YELLOW);
if (colorinvert) tft.drawCentreString(myLanguage[language][42], 155, 110, GFXFF); else tft.drawCentreString(myLanguage[language][30], 155, 110, GFXFF);
break;
}
break;
} }
} }
} }
@@ -2412,6 +2437,18 @@ void KeyDown() {
if (specialstepOIRT) tft.drawCentreString("ON", 155, 110, GFXFF); else tft.drawCentreString("OFF", 155, 110, GFXFF); if (specialstepOIRT) tft.drawCentreString("ON", 155, 110, GFXFF); else tft.drawCentreString("OFF", 155, 110, GFXFF);
break; break;
} }
break;
case 4:
switch (menuoption) {
case 30:
tft.setTextColor(TFT_BLACK);
if (colorinvert) tft.drawCentreString(myLanguage[language][42], 155, 110, GFXFF); else tft.drawCentreString(myLanguage[language][30], 155, 110, GFXFF);
if (colorinvert) colorinvert = 0; else colorinvert = 1;
tft.setTextColor(TFT_YELLOW);
if (colorinvert) tft.drawCentreString(myLanguage[language][42], 155, 110, GFXFF); else tft.drawCentreString(myLanguage[language][30], 155, 110, GFXFF);
break;
}
break;
} }
} }
} }
@@ -2820,6 +2857,10 @@ void BuildMenu() {
if (fmnb != 0) tft.drawRightString(String(fmnb, DEC), 265, 170, GFXFF); else tft.drawRightString(myLanguage[language][30], 265, 170, GFXFF); if (fmnb != 0) tft.drawRightString(String(fmnb, DEC), 265, 170, GFXFF); else tft.drawRightString(myLanguage[language][30], 265, 170, GFXFF);
if (audiomode) tft.drawRightString("MPX", 305, 190, GFXFF); else tft.drawRightString("Stereo", 305, 190, GFXFF); if (audiomode) tft.drawRightString("MPX", 305, 190, GFXFF); else tft.drawRightString("Stereo", 305, 190, GFXFF);
if (specialstepOIRT) tft.drawRightString("ON", 305, 210, GFXFF); else tft.drawRightString("OFF", 305, 210, GFXFF); if (specialstepOIRT) tft.drawRightString("ON", 305, 210, GFXFF); else tft.drawRightString("OFF", 305, 210, GFXFF);
break;
case 4:
tft.drawString(myLanguage[language][69], 14, 30, GFXFF);
break;
} }
analogWrite(SMETERPIN, 0); analogWrite(SMETERPIN, 0);
} }
@@ -2845,6 +2886,7 @@ void MuteScreen(int setting) {
void BuildDisplay() { void BuildDisplay() {
if (theme == 0) { if (theme == 0) {
tft.invertDisplay(colorinvert);
tft.fillScreen(TFT_BLACK); tft.fillScreen(TFT_BLACK);
tft.drawRect(0, 0, 320, 240, TFT_BLUE); tft.drawRect(0, 0, 320, 240, TFT_BLUE);
tft.drawLine(0, 30, 320, 30, TFT_BLUE); tft.drawLine(0, 30, 320, 30, TFT_BLUE);
@@ -4680,6 +4722,7 @@ void DefaultSettings() {
EEPROM.writeByte(249, 0); EEPROM.writeByte(249, 0);
EEPROM.writeUInt(250, 0); EEPROM.writeUInt(250, 0);
EEPROM.writeUInt(254, 0); EEPROM.writeUInt(254, 0);
EEPROM.writeByte(258,1);
EEPROM.commit(); EEPROM.commit();
} }
+19 -10
View File
@@ -1,6 +1,6 @@
// [number of languages][number of texts][max. length of text] // [number of languages][number of texts][max. length of text]
static const char myLanguage[9][69][85] = { static const char myLanguage[9][70][85] = {
{ "English", // English { "English", // English
"Rotary direction changed", "Rotary direction changed",
"Please release button", "Please release button",
@@ -69,7 +69,8 @@ static const char myLanguage[9][69][85] = {
"FM Noise blanker", "FM Noise blanker",
"Defaults loaded", "Defaults loaded",
"Audio output", "Audio output",
"FM OIRT 30 kHz steps" "FM OIRT 30 kHz steps",
"Display color invert"
}, },
{ "Nederlands", // Dutch { "Nederlands", // Dutch
@@ -140,7 +141,8 @@ static const char myLanguage[9][69][85] = {
"FM ruis filter", "FM ruis filter",
"Opnieuw geconfigureerd", "Opnieuw geconfigureerd",
"Audio uitgang", "Audio uitgang",
"FM OIRT 30 kHz steps" "FM OIRT 30 kHz steps",
"Display color invert"
}, },
{ "Polski", // Polish { "Polski", // Polish
@@ -211,7 +213,8 @@ static const char myLanguage[9][69][85] = {
"Reduktor szumow FM", "Reduktor szumow FM",
"Zaladowano domyslne", "Zaladowano domyslne",
"Wyjscie dzwieku", "Wyjscie dzwieku",
"Kroki co 30 kHz na FM OIRT" "Kroki co 30 kHz na FM OIRT",
"Display color invert"
}, },
{ "Hrvatski", // Croatian { "Hrvatski", // Croatian
@@ -282,7 +285,8 @@ static const char myLanguage[9][69][85] = {
"FM prigušivač šuma", "FM prigušivač šuma",
"Zadane postavke učitane", "Zadane postavke učitane",
"Audio izlaz", "Audio izlaz",
"FM OIRT 30 kHz steps" "FM OIRT 30 kHz steps",
"Display color invert"
}, },
{ "Ελληνικά", // Greek { "Ελληνικά", // Greek
@@ -353,7 +357,8 @@ static const char myLanguage[9][69][85] = {
"Απαλοιφή θορύβου FM", "Απαλοιφή θορύβου FM",
"Οι προεπιλογές φορτώθηκαν", "Οι προεπιλογές φορτώθηκαν",
"Έξοδος ήχου", "Έξοδος ήχου",
"FM OIRT 30 kHz steps" "FM OIRT 30 kHz steps",
"Display color invert"
}, },
{ "Romana", // Romanian { "Romana", // Romanian
@@ -424,7 +429,8 @@ static const char myLanguage[9][69][85] = {
"FM Noise blanker", "FM Noise blanker",
"Defaults loaded", "Defaults loaded",
"Audio output", "Audio output",
"FM OIRT 30 kHz steps" "FM OIRT 30 kHz steps",
"Display color invert"
}, },
{ "Deutsch", // German { "Deutsch", // German
@@ -495,7 +501,8 @@ static const char myLanguage[9][69][85] = {
"UKW Rauschunterdrücker", "UKW Rauschunterdrücker",
"Werkseinstellung geladen", "Werkseinstellung geladen",
"Audioausgabe", "Audioausgabe",
"UKW OIRT 30 kHz Schritte" "UKW OIRT 30 kHz Schritte",
"Display color invert"
}, },
{ "Czech", // Czech { "Czech", // Czech
@@ -566,7 +573,8 @@ static const char myLanguage[9][69][85] = {
"FM Noise blanker", "FM Noise blanker",
"Defaults loaded", "Defaults loaded",
"Audio output", "Audio output",
"FM OIRT 30 kHz steps" "FM OIRT 30 kHz steps",
"Display color invert"
}, },
{ "Slovak", // Slovak { "Slovak", // Slovak
@@ -637,6 +645,7 @@ static const char myLanguage[9][69][85] = {
"FM Noise blanker", "FM Noise blanker",
"Defaults loaded", "Defaults loaded",
"Audio output", "Audio output",
"FM OIRT 30 kHz steps" "FM OIRT 30 kHz steps",
"Display color invert"
}, },
}; };