Added Show clock in RDS menu

This commit is contained in:
Sjef Verhoeven PE5PVB
2024-05-29 19:24:44 +02:00
parent 5e2e22be00
commit a29d537874
7 changed files with 84 additions and 28 deletions
+5 -4
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 2221 // Total occupied eeprom bytes
#define EE_TOTAL_CNT 2222 // Total occupied eeprom bytes
#else
#define EE_TOTAL_CNT 2216 // Total occupied eeprom bytes
#define EE_TOTAL_CNT 2217 // Total occupied eeprom bytes
#endif
#define EE_PRESETS_BAND_START 0 // 99 * 1 byte
@@ -312,9 +312,10 @@
#define EE_BYTE_SCANMUTE 2213
#define EE_BYTE_AUTOSQUELCH 2214
#define EE_BYTE_LONGBANDPRESS 2215
#define EE_BYTE_SHOWCLOCK 2216
#ifdef HAS_AIR_BAND
#define EE_BYTE_AIRSTEPSIZE 2116
#define EE_UINT16_FREQUENCY_AIR 2217
#define EE_BYTE_AIRSTEPSIZE 2117
#define EE_UINT16_FREQUENCY_AIR 2218
#endif
// End of EEPROM index defines
+33 -2
View File
@@ -8,7 +8,7 @@
#include <cstring>
byte menuitem;
byte items[9] = {9, static_cast<byte>(dynamicspi ? 10 : 9), 7, 10, 9, 10, 9, 6, 7};
byte items[9] = {9, static_cast<byte>(dynamicspi ? 10 : 9), 7, 10, 10, 10, 9, 6, 7};
extern mem presets[];
void doTheme() { // Use this to put your own colors in: http://www.barth-dev.de/online/rgb565-color-picker/
@@ -1394,6 +1394,16 @@ void ShowOneLine(byte position, byte item, bool selected) {
FullLineSprite.drawString(FreqFont[freqfont], 298, 3);
break;
case RDSSETTINGS:
FullLineSprite.setTextDatum(TL_DATUM);
FullLineSprite.setTextColor(ActiveColor, ActiveColorSmooth, false);
FullLineSprite.drawString(removeNewline(myLanguage[language][262]), 6, 3);
FullLineSprite.setTextDatum(TR_DATUM);
FullLineSprite.setTextColor(PrimaryColor, PrimaryColorSmooth, false);
FullLineSprite.drawString((showclock ? myLanguage[language][42] : myLanguage[language][30]), 298, 3);
break;
case FMSETTINGS:
FullLineSprite.setTextDatum(TL_DATUM);
FullLineSprite.setTextColor(ActiveColor, ActiveColorSmooth, false);
@@ -2228,6 +2238,13 @@ void MenuUp() {
OneBigLineSprite.pushSprite(24, 118);
break;
case ITEM10:
showclock = !showclock;
OneBigLineSprite.drawString((showclock ? myLanguage[language][42] : myLanguage[language][30]), 135, 0);
OneBigLineSprite.pushSprite(24, 118);
break;
}
break;
@@ -3083,6 +3100,13 @@ void MenuDown() {
OneBigLineSprite.pushSprite(24, 118);
break;
case ITEM10:
showclock = !showclock;
OneBigLineSprite.drawString((showclock ? myLanguage[language][42] : myLanguage[language][30]), 135, 0);
OneBigLineSprite.pushSprite(24, 118);
break;
}
break;
@@ -3946,6 +3970,13 @@ void DoMenu() {
OneBigLineSprite.pushSprite(24, 118);
break;
case ITEM10:
Infoboxprint(myLanguage[language][262]);
OneBigLineSprite.drawString((showclock ? myLanguage[language][42] : myLanguage[language][30]), 135, 0);
OneBigLineSprite.pushSprite(24, 118);
break;
}
break;
@@ -4349,4 +4380,4 @@ String removeNewline(String inputString) {
}
}
return outputString;
}
}
+1
View File
@@ -59,6 +59,7 @@ extern bool usesquelch;
extern bool scandxmode;
extern bool scanmem;
extern bool scanmute;
extern bool showclock;
extern bool softmuteam;
extern bool softmutefm;
extern bool Stereostatusold;
+37 -19
View File
@@ -5,7 +5,7 @@
// [number of languages][number of texts]
static const char* const myLanguage[18][262] PROGMEM = {
static const char* const myLanguage[18][263] PROGMEM = {
{ "English", // English
"Rotary direction changed", // 1
"Please release button", // 2
@@ -267,7 +267,8 @@ static const char* const myLanguage[18][262] PROGMEM = {
"Alarm Test", // 258
"Alarm!!!", // 259
"Initial", // 260
"Always" //261
"Always", // 261
"Show clock" // 262
},
{ "Nederlands", // Dutch
@@ -531,7 +532,8 @@ static const char* const myLanguage[18][262] PROGMEM = {
"Alarmtest", // 258
"Alarm ! ALARM !", // 259
"Initieel", // 260
"Altijd" //261
"Altijd", //261
"Toon klok" // 262
},
{ "Polski", // Polish
@@ -795,7 +797,8 @@ static const char* const myLanguage[18][262] PROGMEM = {
"Alarm Test", // 258
"Alarm", // 259
"Początkowy", // 260
"Zawsze" // 261
"Zawsze", // 261
"Pokaż zegar" // 262
},
{ "Hrvatski", // Croatian
@@ -1059,7 +1062,8 @@ static const char* const myLanguage[18][262] PROGMEM = {
"Testni alarm!", // 258
"Alarm !", // 259
"Početno", // 260
"Uvijek" //261
"Uvijek", //261
"Prikaži sat" // 262
},
{ "Ελληνικά", // Greek
@@ -1323,7 +1327,8 @@ static const char* const myLanguage[18][262] PROGMEM = {
"Δοκιμή συναγερμού", // 258
"Συναγερμός!!!", // 259
"Αρχικό", // 260
"Πάντα" //261
"Πάντα", //261
"Εμφάνιση ρολογιού" // 262
},
{ "Română", // Romanian
@@ -1587,7 +1592,8 @@ static const char* const myLanguage[18][262] PROGMEM = {
"Test Alarmă", // 258
"Alarmă !", // 259
"Inițial", // 260
"Mereu" //261
"Mereu", //261
"Arată ceasul" // 262
},
{ "Deutsch", // German
@@ -1851,7 +1857,8 @@ static const char* const myLanguage[18][262] PROGMEM = {
"Alarm Test", // 258
"Alarm! Alarm!", // 259
"Anfänglich", // 260
"Immer" // 261
"Immer", // 261
"Uhr anzeigen" // 262
},
{ "Český", // Czech
@@ -2115,7 +2122,8 @@ static const char* const myLanguage[18][262] PROGMEM = {
"Alarm Test", // 258
"Alarm Alarm !", // 259
"Počáteční", // 260
"Vždy" //261
"Vždy", //261
"Zobrazit hodiny" // 262
},
{ "Magyar", // Hungarian
@@ -2379,7 +2387,8 @@ static const char* const myLanguage[18][262] PROGMEM = {
"Riasztás Teszt", // 258
"Riasztás!!!", // 259
"Kezdeti", // 260
"Mindig" //261
"Mindig", //261
"Órát mutass" // 262
},
{ "Français", // French
@@ -2643,7 +2652,8 @@ static const char* const myLanguage[18][262] PROGMEM = {
"TEST", // 258
"Alerte !", // 259
"Initial", // 260
"Toujours" // 261
"Toujours", // 261
"Afficher l'horloge" // 262
},
{ "Български", // Bulgarian
@@ -2907,7 +2917,8 @@ static const char* const myLanguage[18][262] PROGMEM = {
"Внимание тест", // 258
"Тревога!", // 259
"Начален", // 260
"Винаги" // 261
"Винаги", // 261
"Покажи часовника" // 262
},
{ "Русский", // Russian
@@ -3171,7 +3182,8 @@ static const char* const myLanguage[18][262] PROGMEM = {
"Внимание тест", // 258
"Тревога!", // 259
"Начальный", // 260
"Всегда" // 261
"Всегда", // 261
"Показать часы" // 262
},
{ "Українська", // Ukranian
@@ -3435,7 +3447,8 @@ static const char* const myLanguage[18][262] PROGMEM = {
"Alarm Test", // 258
"Alarm!!!", // 259
"Початковий", // 260
"Завжди" // 261
"Завжди", // 261
"Показати годинник" // 262
},
{ "Italiano", // Italian
@@ -3699,7 +3712,8 @@ static const char* const myLanguage[18][262] PROGMEM = {
"Test Allarme", // 258
"!!Allarme!!", // 259
"Iniziale", // 260
"Sempre" // 261
"Sempre", // 261
"Mostra l'orologio" // 262
},
{ "Simplified Chinese", // Simplified Chinese
@@ -3963,7 +3977,8 @@ static const char* const myLanguage[18][262] PROGMEM = {
"Alarm Test", // 258
"Alarm!!!", // 259
"初始", // 260
"始终" // 261
"始终", // 261
"显示时钟" // 262
},
{ "Norsk", // Norwegian
@@ -4227,7 +4242,8 @@ static const char* const myLanguage[18][262] PROGMEM = {
"Alarm test", // 258
"Alarm!", // 259
"Innledende", // 260
"Alltid" // 261
"Alltid", // 261
"Vis klokka" // 262
},
{ "Español", // Spanish
@@ -4491,7 +4507,8 @@ static const char* const myLanguage[18][262] PROGMEM = {
"Prueba de Alarma", // 258
"¡ Alarma !", // 259
"Inicial", // 260
"Siempre" // 261
"Siempre", // 261
"Mostrar reloj" // 262
},
{ "Português", // Portuguese
@@ -4755,7 +4772,8 @@ static const char* const myLanguage[18][262] PROGMEM = {
"Teste de Alarme", // 258
"Alarme Alarme !", // 259
"Inicial", // 260
"Sempre" // 261
"Sempre", // 261
"Mostrar relógio" // 262
}
};
#endif
+1 -1
View File
@@ -748,7 +748,7 @@ void showPS() {
}
void showCT() {
if (!screenmute) {
if (!screenmute && showclock) {
if (radio.rds.hasCT && !dropout) {
rds_clock = ((radio.rds.hour < 10 ? "0" : "") + String(radio.rds.hour) + ":" + (radio.rds.minute < 10 ? "0" : "") + String(radio.rds.minute));
} else if (!radio.rds.hasCT || dropout) {
+2 -1
View File
@@ -34,7 +34,7 @@ extern bool rdsstereoold;
extern bool rtcset;
extern bool screenmute;
extern bool setupmode;
extern byte showrdserrors;
extern bool showclock;
extern bool TAold;
extern bool TPold;
extern bool wifi;
@@ -54,6 +54,7 @@ extern byte eonptyold[20];
extern byte rdsblockold;
extern byte rdsqualityold;
extern byte region;
extern byte showrdserrors;
extern byte stationlistid;
extern char eonpicodeold[20][6];
extern char programTypePrevious[18];