Added menuoption Show Long PS

This commit is contained in:
Sjef Verhoeven PE5PVB
2024-08-03 15:32:16 +02:00
parent ba9c125f70
commit 0d3a4e033f
7 changed files with 68 additions and 56 deletions

View File

@@ -209,9 +209,9 @@
#define EE_CHECKBYTE_VALUE 10 // 0 ~ 255,add new entry, change for new value
#define EE_PRESETS_FREQUENCY 0 // Default value when memory channel should be skipped!
#ifdef HAS_AIR_BAND
#define EE_TOTAL_CNT 2222 // Total occupied eeprom bytes
#define EE_TOTAL_CNT 2223 // Total occupied eeprom bytes
#else
#define EE_TOTAL_CNT 2217 // Total occupied eeprom bytes
#define EE_TOTAL_CNT 2218 // Total occupied eeprom bytes
#endif
#define EE_PRESETS_BAND_START 0 // 99 * 1 byte
@@ -312,10 +312,11 @@
#define EE_BYTE_SCANMUTE 2213
#define EE_BYTE_AUTOSQUELCH 2214
#define EE_BYTE_LONGBANDPRESS 2215
#define EE_BYTE_SHOWCLOCK 2216
#define EE_BYTE_SHOWCLOCK 2216
#define EE_BYTE_SHOWLONGPS 2217
#ifdef HAS_AIR_BAND
#define EE_BYTE_AIRSTEPSIZE 2117
#define EE_UINT16_FREQUENCY_AIR 2218
#define EE_BYTE_AIRSTEPSIZE 2118
#define EE_UINT16_FREQUENCY_AIR 2219
#endif
// End of EEPROM index defines

View File

@@ -1246,11 +1246,11 @@ void ShowOneLine(byte position, byte item, bool selected) {
case DISPLAYSETTINGS:
FullLineSprite.setTextDatum(TL_DATUM);
FullLineSprite.setTextColor(ActiveColor, ActiveColorSmooth, false);
FullLineSprite.drawString(removeNewline(myLanguage[language][78]), 6, 2);
FullLineSprite.drawString(removeNewline(myLanguage[language][262]), 6, 2);
FullLineSprite.setTextDatum(TR_DATUM);
FullLineSprite.setTextColor(PrimaryColor, PrimaryColorSmooth, false);
FullLineSprite.drawString(Skin[CurrentSkin], 298, 2);
FullLineSprite.drawString((showclock ? myLanguage[language][42] : myLanguage[language][30]), 298, 2);
break;
case RDSSETTINGS:
@@ -1401,11 +1401,10 @@ void ShowOneLine(byte position, byte item, bool selected) {
case RDSSETTINGS:
FullLineSprite.setTextDatum(TL_DATUM);
FullLineSprite.setTextColor(ActiveColor, ActiveColorSmooth, false);
FullLineSprite.drawString(removeNewline(myLanguage[language][262]), 6, 2);
FullLineSprite.drawString(removeNewline(myLanguage[language][263]), 6, 2);
FullLineSprite.setTextDatum(TR_DATUM);
FullLineSprite.setTextColor(PrimaryColor, PrimaryColorSmooth, false);
FullLineSprite.drawString((showclock ? myLanguage[language][42] : myLanguage[language][30]), 298, 2);
FullLineSprite.drawString((showlongps ? myLanguage[language][42] : myLanguage[language][30]), 298, 2);
break;
case FMSETTINGS:
@@ -2093,15 +2092,9 @@ void MenuUp() {
break;
case ITEM8:
CurrentSkin ++;
if (CurrentSkin > sizeof(Skin) / sizeof(Skin[0]) - 1) CurrentSkin = 0;
BuildMenu();
tft.drawRoundRect(10, 30, 300, 170, 5, ActiveColor);
tft.fillRoundRect(12, 32, 296, 166, 5, BackgroundColor);
OneBigLineSprite.fillSprite(BackgroundColor);
showclock = !showclock;
Infoboxprint(myLanguage[language][78]);
OneBigLineSprite.drawString(Skin[CurrentSkin], 135, 0);
OneBigLineSprite.drawString((showclock ? myLanguage[language][42] : myLanguage[language][30]), 135, 0);
OneBigLineSprite.pushSprite(24, 118);
break;
@@ -2214,9 +2207,9 @@ void MenuUp() {
break;
case ITEM10:
showclock = !showclock;
showlongps = !showlongps;
OneBigLineSprite.drawString((showclock ? myLanguage[language][42] : myLanguage[language][30]), 135, 0);
OneBigLineSprite.drawString((showlongps ? myLanguage[language][42] : myLanguage[language][30]), 135, 0);
OneBigLineSprite.pushSprite(24, 118);
break;
}
@@ -2959,15 +2952,9 @@ void MenuDown() {
break;
case ITEM8:
CurrentSkin --;
if (CurrentSkin > sizeof(Skin) / sizeof(Skin[0]) - 1) CurrentSkin = sizeof(Skin) / sizeof(Skin[0]) - 1;
BuildMenu();
OneBigLineSprite.fillSprite(BackgroundColor);
tft.drawRoundRect(10, 30, 300, 170, 5, ActiveColor);
tft.fillRoundRect(12, 32, 296, 166, 5, BackgroundColor);
showclock = !showclock;
Infoboxprint(myLanguage[language][78]);
OneBigLineSprite.drawString(Skin[CurrentSkin], 135, 0);
OneBigLineSprite.drawString((showclock ? myLanguage[language][42] : myLanguage[language][30]), 135, 0);
OneBigLineSprite.pushSprite(24, 118);
break;
@@ -3081,9 +3068,9 @@ void MenuDown() {
break;
case ITEM10:
showclock = !showclock;
showlongps = !showlongps;
OneBigLineSprite.drawString((showclock ? myLanguage[language][42] : myLanguage[language][30]), 135, 0);
OneBigLineSprite.drawString((showlongps ? myLanguage[language][42] : myLanguage[language][30]), 135, 0);
OneBigLineSprite.pushSprite(24, 118);
break;
}
@@ -3852,9 +3839,9 @@ void DoMenu() {
break;
case ITEM8:
Infoboxprint(myLanguage[language][78]);
Infoboxprint(myLanguage[language][262]);
OneBigLineSprite.drawString(Skin[CurrentSkin], 135, 0);
OneBigLineSprite.drawString((showclock ? myLanguage[language][42] : myLanguage[language][30]), 135, 0);
OneBigLineSprite.pushSprite(24, 118);
break;
@@ -3957,9 +3944,9 @@ void DoMenu() {
break;
case ITEM10:
Infoboxprint(myLanguage[language][262]);
Infoboxprint(myLanguage[language][263]);
OneBigLineSprite.drawString((showclock ? myLanguage[language][42] : myLanguage[language][30]), 135, 0);
OneBigLineSprite.drawString((showlongps ? myLanguage[language][42] : myLanguage[language][30]), 135, 0);
OneBigLineSprite.pushSprite(24, 118);
break;
}

View File

@@ -60,6 +60,7 @@ extern bool scandxmode;
extern bool scanmem;
extern bool scanmute;
extern bool showclock;
extern bool showlongps;
extern bool softmuteam;
extern bool softmutefm;
extern bool Stereostatusold;

View File

@@ -5,7 +5,7 @@
// [number of languages][number of texts]
static const char* const myLanguage[18][263] PROGMEM = {
static const char* const myLanguage[18][264] PROGMEM = {
{ "English", // English
"Rotary direction changed", // 1
"Please release button", // 2
@@ -268,7 +268,8 @@ static const char* const myLanguage[18][263] PROGMEM = {
"Alarm!!!", // 259
"Initial", // 260
"Always", // 261
"Show clock" // 262
"Show clock", // 262
"Show long PS" // 263
},
{ "Nederlands", // Dutch
@@ -533,7 +534,8 @@ static const char* const myLanguage[18][263] PROGMEM = {
"Alarm ! ALARM !", // 259
"Initieel", // 260
"Altijd", //261
"Toon klok" // 262
"Toon klok", // 262
"Toon long PS" // 263
},
{ "Polski", // Polish
@@ -798,7 +800,8 @@ static const char* const myLanguage[18][263] PROGMEM = {
"Alarm", // 259
"Początkowy", // 260
"Zawsze", // 261
"Pokaż zegar" // 262
"Pokaż zegar", // 262
"Show long PS" // 263
},
{ "Hrvatski", // Croatian
@@ -1063,7 +1066,8 @@ static const char* const myLanguage[18][263] PROGMEM = {
"Alarm !", // 259
"Početno", // 260
"Uvijek", //261
"Prikaži sat" // 262
"Prikaži sat", // 262
"Show long PS" // 263
},
{ "Ελληνικά", // Greek
@@ -1328,7 +1332,8 @@ static const char* const myLanguage[18][263] PROGMEM = {
"Συναγερμός!!!", // 259
"Αρχικό", // 260
"Πάντα", //261
"Εμφάνιση ρολογιού" // 262
"Εμφάνιση ρολογιού", // 262
"Show long PS" // 263
},
{ "Română", // Romanian
@@ -1593,7 +1598,8 @@ static const char* const myLanguage[18][263] PROGMEM = {
"Alarmă !", // 259
"Inițial", // 260
"Mereu", //261
"Arată ceasul" // 262
"Arată ceasul", // 262
"Show long PS" // 263
},
{ "Deutsch", // German
@@ -1858,7 +1864,8 @@ static const char* const myLanguage[18][263] PROGMEM = {
"Alarm! Alarm!", // 259
"Anfänglich", // 260
"Immer", // 261
"Uhr anzeigen" // 262
"Uhr anzeigen", // 262
"Show long PS" // 263
},
{ "Český", // Czech
@@ -2123,7 +2130,8 @@ static const char* const myLanguage[18][263] PROGMEM = {
"Alarm Alarm !", // 259
"Počáteční", // 260
"Vždy", //261
"Zobrazit hodiny" // 262
"Zobrazit hodiny", // 262
"Show long PS" // 263
},
{ "Magyar", // Hungarian
@@ -2388,7 +2396,8 @@ static const char* const myLanguage[18][263] PROGMEM = {
"Riasztás!!!", // 259
"Kezdeti", // 260
"Mindig", //261
"Óra mutatása" // 262
"Óra mutatása", // 262
"Show long PS" // 263
},
{ "Français", // French
@@ -2653,7 +2662,8 @@ static const char* const myLanguage[18][263] PROGMEM = {
"Alerte !", // 259
"Initial", // 260
"Toujours", // 261
"Afficher l'horloge" // 262
"Afficher l'horloge", // 262
"Show long PS" // 263
},
{ "Български", // Bulgarian
@@ -2918,7 +2928,8 @@ static const char* const myLanguage[18][263] PROGMEM = {
"Тревога!", // 259
"Начален", // 260
"Винаги", // 261
"Покажи часовника" // 262
"Покажи часовника", // 262
"Show long PS" // 263
},
{ "Русский", // Russian
@@ -3183,7 +3194,8 @@ static const char* const myLanguage[18][263] PROGMEM = {
"Тревога!", // 259
"Начальный", // 260
"Всегда", // 261
"Показать часы" // 262
"Показать часы", // 262
"Show long PS" // 263
},
{ "Українська", // Ukranian
@@ -3448,7 +3460,8 @@ static const char* const myLanguage[18][263] PROGMEM = {
"Alarm!!!", // 259
"Початковий", // 260
"Завжди", // 261
"Показати годинник" // 262
"Показати годинник", // 262
"Show long PS" // 263
},
{ "Italiano", // Italian
@@ -3713,7 +3726,8 @@ static const char* const myLanguage[18][263] PROGMEM = {
"!!Allarme!!", // 259
"Iniziale", // 260
"Sempre", // 261
"Mostra l'orologio" // 262
"Mostra l'orologio", // 262
"Show long PS" // 263
},
{ "Simplified Chinese", // Simplified Chinese
@@ -3978,7 +3992,8 @@ static const char* const myLanguage[18][263] PROGMEM = {
"Alarm!!!", // 259
"初始", // 260
"始终", // 261
"显示时钟" // 262
"显示时钟", // 262
"Show long PS" // 263
},
{ "Norsk", // Norwegian
@@ -4243,7 +4258,8 @@ static const char* const myLanguage[18][263] PROGMEM = {
"Alarm!", // 259
"Innledende", // 260
"Alltid", // 261
"Vis klokka" // 262
"Vis klokka", // 262
"Show long PS" // 263
},
{ "Español", // Spanish
@@ -4508,7 +4524,8 @@ static const char* const myLanguage[18][263] PROGMEM = {
"¡ Alarma !", // 259
"Inicial", // 260
"Siempre", // 261
"Mostrar reloj" // 262
"Mostrar reloj", // 262
"Show long PS" // 263
},
{ "Português", // Portuguese
@@ -4773,7 +4790,8 @@ static const char* const myLanguage[18][263] PROGMEM = {
"Alarme Alarme !", // 259
"Inicial", // 260
"Sempre", // 261
"Mostrar relógio" // 262
"Mostrar relógio", // 262
"Show long PS" // 263
}
};
#endif
#endif

View File

@@ -668,11 +668,11 @@ void showPTY() {
}
void showPS() {
if (radio.rds.stationName != PSold || radio.rds.hasLongPS) {
if (radio.rds.stationName != PSold || (radio.rds.hasLongPS && showlongps)) {
if (afscreen) {
if (!screenmute) tftReplace(0, PSold, radio.rds.stationName, 160, 201, BWAutoColor, BWAutoColorSmooth, BackgroundColor, 16);
} else {
if (radio.rds.hasLongPS) {
if (radio.rds.hasLongPS && showlongps) {
String stationNameLongString = String(radio.rds.stationNameLong) + " ";
if (stationNameLongString != stationNameLongOld) {
PSLongWidth = PSSprite.textWidth(stationNameLongString);

View File

@@ -35,6 +35,7 @@ extern bool rtcset;
extern bool screenmute;
extern bool setupmode;
extern bool showclock;
extern bool showlongps;
extern bool TAold;
extern bool TPold;
extern bool wifi;