You've already forked TEF6686_ESP32
Added multi menu function
Also corrected Dutch translation.
This commit is contained in:
@@ -49,10 +49,12 @@ bool Stereostatusold;
|
||||
bool StereoToggle = true;
|
||||
bool store;
|
||||
bool tuned;
|
||||
byte language = 0;
|
||||
byte language;
|
||||
byte tunemode;
|
||||
byte memorypos;
|
||||
byte memoryposold;
|
||||
byte menupage = 2;
|
||||
byte menupagestotal = 2;
|
||||
bool USBstatus;
|
||||
bool XDRMute;
|
||||
byte band;
|
||||
@@ -155,8 +157,8 @@ TFT_eSprite sprite = TFT_eSprite(&tft);
|
||||
void setup() {
|
||||
setupmode = true;
|
||||
EEPROM.begin(221);
|
||||
if (EEPROM.readByte(43) != 16) {
|
||||
EEPROM.writeByte(43, 16);
|
||||
if (EEPROM.readByte(43) != 17) {
|
||||
EEPROM.writeByte(43, 17);
|
||||
EEPROM.writeUInt(0, 10000);
|
||||
EEPROM.writeInt(4, 0);
|
||||
EEPROM.writeInt(8, 0);
|
||||
@@ -180,6 +182,7 @@ void setup() {
|
||||
EEPROM.writeByte(54, 0);
|
||||
EEPROM.writeInt(55, 20);
|
||||
EEPROM.writeByte(59, 1);
|
||||
EEPROM.writeByte(91, 0);
|
||||
for (int i = 0; i < 30; i++) EEPROM.writeByte(i + 60, 0);
|
||||
for (int i = 0; i < 30; i++) EEPROM.writeUInt((i * 4) + 100, 8750);
|
||||
EEPROM.commit();
|
||||
@@ -208,6 +211,7 @@ void setup() {
|
||||
TEF = EEPROM.readByte(54);
|
||||
LowLevelSet = EEPROM.readInt(55);
|
||||
showrdserrors = EEPROM.readByte(59);
|
||||
language = EEPROM.readByte(91);
|
||||
for (int i = 0; i < 30; i++) memoryband[i] = EEPROM.readByte(i + 60);
|
||||
for (int i = 0; i < 30; i++) memory[i] = EEPROM.readUInt((i * 4) + 100);
|
||||
btStop();
|
||||
@@ -714,6 +718,8 @@ void ModeButtonPress() {
|
||||
EEPROM.writeInt(32, HighCutLevel);
|
||||
EEPROM.writeInt(36, HighCutOffset);
|
||||
EEPROM.writeInt(55, LowLevelSet);
|
||||
EEPROM.writeByte(59, showrdserrors);
|
||||
EEPROM.writeByte(91, language);
|
||||
EEPROM.commit();
|
||||
}
|
||||
while (digitalRead(MODEBUTTON) == LOW) delay(50);
|
||||
@@ -836,6 +842,8 @@ void ButtonPress() {
|
||||
menuopen = true;
|
||||
tft.drawRoundRect(30, 40, 240, 160, 5, TFT_WHITE);
|
||||
tft.fillRoundRect(32, 42, 236, 156, 5, TFT_BLACK);
|
||||
switch (menupage) {
|
||||
case 1:
|
||||
switch (menuoption) {
|
||||
case 30:
|
||||
tft.setTextColor(TFT_WHITE);
|
||||
@@ -922,6 +930,24 @@ void ButtonPress() {
|
||||
tft.drawRightString(String(ContrastSet, DEC), 165, 110, 4);
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
switch (menuoption) {
|
||||
case 30:
|
||||
tft.setTextColor(TFT_WHITE);
|
||||
tft.drawCentreString(myLanguage[language][40], 150, 70, 4);
|
||||
tft.setTextColor(TFT_YELLOW);
|
||||
tft.drawCentreString(myLanguage[language][0], 150, 110, 4);
|
||||
break;
|
||||
|
||||
case 50:
|
||||
tft.setTextColor(TFT_WHITE);
|
||||
tft.drawCentreString(myLanguage[language][38], 150, 70, 4);
|
||||
tft.setTextColor(TFT_YELLOW);
|
||||
if (showrdserrors) tft.drawCentreString(myLanguage[language][42], 150, 110, 4); else tft.drawCentreString(myLanguage[language][30], 150, 110, 4);
|
||||
break;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
menuopen = false;
|
||||
BuildMenu();
|
||||
@@ -962,9 +988,16 @@ void KeyUp() {
|
||||
if (menuopen == false) {
|
||||
tft.drawRoundRect(10, menuoption, 300, 18, 5, TFT_BLACK);
|
||||
menuoption += 20;
|
||||
if (menuoption > 210) menuoption = 30;
|
||||
if (menuoption > 210) {
|
||||
menupage++;
|
||||
if (menupage > menupagestotal) menupage = 1;
|
||||
menuoption = 30;
|
||||
BuildMenu();
|
||||
}
|
||||
tft.drawRoundRect(10, menuoption, 300, 18, 5, TFT_WHITE);
|
||||
} else {
|
||||
switch (menupage) {
|
||||
case 1:
|
||||
switch (menuoption) {
|
||||
case 30:
|
||||
tft.setTextColor(TFT_BLACK);
|
||||
@@ -1078,6 +1111,27 @@ void KeyUp() {
|
||||
analogWrite(CONTRASTPIN, ContrastSet * 2 + 27);
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
switch (menuoption) {
|
||||
case 30:
|
||||
tft.setTextColor(TFT_BLACK);
|
||||
tft.drawCentreString(myLanguage[language][0], 150, 110, 4);
|
||||
language ++;
|
||||
if (language == (sizeof (myLanguage) / sizeof (myLanguage[0]))) language = 0;
|
||||
tft.setTextColor(TFT_YELLOW);
|
||||
tft.drawCentreString(myLanguage[language][0], 150, 110, 4);
|
||||
break;
|
||||
|
||||
case 50:
|
||||
tft.setTextColor(TFT_BLACK);
|
||||
if (showrdserrors) tft.drawCentreString(myLanguage[language][42], 150, 110, 4); else tft.drawCentreString(myLanguage[language][30], 150, 110, 4);
|
||||
if (showrdserrors) showrdserrors = false; else showrdserrors = true;
|
||||
tft.setTextColor(TFT_YELLOW);
|
||||
if (showrdserrors) tft.drawCentreString(myLanguage[language][42], 150, 110, 4); else tft.drawCentreString(myLanguage[language][30], 150, 110, 4);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1115,10 +1169,15 @@ void KeyDown() {
|
||||
tft.drawRoundRect(10, menuoption, 300, 18, 5, TFT_BLACK);
|
||||
menuoption -= 20;
|
||||
if (menuoption < 30) {
|
||||
menupage--;
|
||||
if (menupage == 0) menupage = menupagestotal;
|
||||
menuoption = 210;
|
||||
BuildMenu();
|
||||
}
|
||||
tft.drawRoundRect(10, menuoption, 300, 18, 5, TFT_WHITE);
|
||||
} else {
|
||||
switch (menupage) {
|
||||
case 1:
|
||||
switch (menuoption) {
|
||||
case 30:
|
||||
tft.setTextColor(TFT_BLACK);
|
||||
@@ -1234,6 +1293,28 @@ void KeyDown() {
|
||||
analogWrite(CONTRASTPIN, ContrastSet * 2 + 27);
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
case 2:
|
||||
switch (menuoption) {
|
||||
case 30:
|
||||
tft.setTextColor(TFT_BLACK);
|
||||
tft.drawCentreString(myLanguage[language][0], 150, 110, 4);
|
||||
language --;
|
||||
if (language > (sizeof (myLanguage) / sizeof (myLanguage[0]))) language = (sizeof (myLanguage) / sizeof (myLanguage[0])) - 1;
|
||||
tft.setTextColor(TFT_YELLOW);
|
||||
tft.drawCentreString(myLanguage[language][0], 150, 110, 4);
|
||||
break;
|
||||
|
||||
case 50:
|
||||
tft.setTextColor(TFT_BLACK);
|
||||
if (showrdserrors) tft.drawCentreString(myLanguage[language][42], 150, 110, 4); else tft.drawCentreString(myLanguage[language][30], 150, 110, 4);
|
||||
if (showrdserrors) showrdserrors = false; else showrdserrors = true;
|
||||
tft.setTextColor(TFT_YELLOW);
|
||||
if (showrdserrors) tft.drawCentreString(myLanguage[language][42], 150, 110, 4); else tft.drawCentreString(myLanguage[language][30], 150, 110, 4);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1393,9 +1474,11 @@ void BuildMenu() {
|
||||
tft.setTextColor(TFT_SKYBLUE);
|
||||
tft.drawString(myLanguage[language][41], 10, 4, 2);
|
||||
tft.setTextColor(TFT_WHITE);
|
||||
tft.drawRightString(VERSION, 305, 4, 2);
|
||||
tft.drawRightString(String(menupage) + "/" + String(menupagestotal), 305, 4, 2);
|
||||
tft.drawRoundRect(10, menuoption, 300, 18, 5, TFT_WHITE);
|
||||
tft.setTextColor(TFT_WHITE);
|
||||
switch (menupage) {
|
||||
case 1:
|
||||
tft.drawRightString("dB", 305, 30, 2);
|
||||
tft.drawRightString("MHz", 305, 50, 2);
|
||||
tft.drawRightString("MHz", 305, 70, 2);
|
||||
@@ -1427,6 +1510,16 @@ void BuildMenu() {
|
||||
if (HighCutOffset != 0) tft.drawRightString(String(HighCutOffset, DEC), 270, 170, 2); else tft.drawRightString(myLanguage[language][30], 270, 170, 2);
|
||||
tft.drawRightString(String(LowLevelSet, DEC), 270, 190, 2);
|
||||
tft.drawRightString(String(ContrastSet, DEC), 270, 210, 2);
|
||||
break;
|
||||
|
||||
case 2:
|
||||
tft.drawString(myLanguage[language][39], 20, 30, 2);
|
||||
tft.drawString(myLanguage[language][38], 20, 50, 2);
|
||||
tft.setTextColor(TFT_YELLOW);
|
||||
tft.drawRightString(myLanguage[language][0], 305, 30, 2);
|
||||
if (showrdserrors) tft.drawRightString(myLanguage[language][42], 305, 50, 2); else tft.drawRightString(myLanguage[language][30], 305, 50, 2);
|
||||
break;
|
||||
}
|
||||
analogWrite(SMETERPIN, 0);
|
||||
}
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
// [number of languages][number of texts][max. length of text]
|
||||
|
||||
const char myLanguage[3][42][50] = {
|
||||
const char myLanguage[3][43][50] = {
|
||||
{ "English",
|
||||
"Rotary direction changed",
|
||||
"Please release button",
|
||||
@@ -41,8 +41,9 @@ const char myLanguage[3][42][50] = {
|
||||
"Please restart tuner",
|
||||
"Show RDS errors",
|
||||
"Language",
|
||||
"Choose your language",
|
||||
"PRESS MODE TO EXIT AND STORE"
|
||||
"Choose language",
|
||||
"PRESS MODE TO EXIT AND STORE",
|
||||
"On"
|
||||
},
|
||||
|
||||
{ "Nederlands",
|
||||
@@ -60,9 +61,9 @@ const char myLanguage[3][42][50] = {
|
||||
"Lage bandgrens:",
|
||||
"Hoge bandgrens:",
|
||||
"RF niveau afwijking:",
|
||||
"Stereo signaalgrens:",
|
||||
"Stereo grens:",
|
||||
"Hoge tonen afval:",
|
||||
"Hoge tonen afval grens:",
|
||||
"Hoog afval grens:",
|
||||
"Laag signaal grens:",
|
||||
"Helderheid:",
|
||||
"Stel volume in",
|
||||
@@ -83,10 +84,11 @@ const char myLanguage[3][42][50] = {
|
||||
"Tuner niet herkend!",
|
||||
"Tuner versie ingesteld: v",
|
||||
"Herstart de tuner",
|
||||
"RDS fouten weergeven",
|
||||
"Toon RDS fouten",
|
||||
"Taal",
|
||||
"Kies uw taal",
|
||||
"DRUK OP MODE OM AF TE SLUITEN"
|
||||
"Kies taal",
|
||||
"DRUK OP MODE OM AF TE SLUITEN",
|
||||
"Aan"
|
||||
},
|
||||
{ "Polski",
|
||||
"Kierunek obrotu zmieniony",
|
||||
@@ -129,7 +131,8 @@ const char myLanguage[3][42][50] = {
|
||||
"Pokaz bledy RDS",
|
||||
"Jezyk",
|
||||
"Wybierz swoj jezyk",
|
||||
"WCISNIJ MODE ABY ZAMKNAC I ZAPISAC"
|
||||
"WCISNIJ MODE ABY ZAMKNAC I ZAPISAC",
|
||||
"On" // Needs translation!
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user