Added NTP GMT offset to menu

This commit is contained in:
Sjef Verhoeven PE5PVB
2025-01-10 12:12:02 +01:00
parent 74284f67de
commit b44d61b66c
6 changed files with 113 additions and 27 deletions
+5 -2
View File
@@ -186,7 +186,7 @@ byte amgain;
byte freqoldcount;
byte HighCutLevel;
byte HighCutOffset;
byte items[10] = {10, static_cast<byte>(dynamicspi ? 10 : 9), 7, 10, 10, 10, 9, 6, 10, 9};
byte items[10] = {10, static_cast<byte>(dynamicspi ? 10 : 9), 7, 10, 10, 10, 9, 7, 10, 9};
byte iMSEQ;
byte iMSset;
byte language;
@@ -202,7 +202,6 @@ byte memstoppos;
byte menuitem;
byte menupage;
byte MSold;
byte NTPoffset = 1;
byte poweroptions;
byte rdsblockold;
byte rdsqualityold;
@@ -314,6 +313,7 @@ int16_t SAvg3;
int16_t SStatus;
int8_t LevelOffset;
int8_t LowLevelSet;
int8_t NTPoffset;
int8_t CN;
int8_t CNold;
int8_t VolSet;
@@ -580,6 +580,7 @@ void setup() {
TouchCalData[3] = EEPROM.readUInt(EE_UINT16_CALTOUCH4);
TouchCalData[4] = EEPROM.readUInt(EE_UINT16_CALTOUCH5);
invertdisplay = EEPROM.readByte(EE_BYTE_INVERTDISPLAY);
NTPoffset = EEPROM.readByte(EE_BYTE_NTPOFFSET);
if (spispeed == SPI_SPEED_DEFAULT) {
tft.setSPISpeed(SPI_FREQUENCY / 1000000);
@@ -4539,6 +4540,7 @@ void DefaultSettings() {
EEPROM.writeUInt(EE_UINT16_CALTOUCH3, 300);
EEPROM.writeUInt(EE_UINT16_CALTOUCH4, 3450);
EEPROM.writeUInt(EE_UINT16_CALTOUCH5, 3);
EEPROM.writeByte(EE_BYTE_NTPOFFSET, 0);
#ifdef DEEPELEC_DP_66X
EEPROM.writeByte(EE_BYTE_ROTARYMODE, 1);
@@ -4788,6 +4790,7 @@ void endMenu() {
EEPROM.writeByte(EE_BYTE_MEMPIONLY, mempionly);
EEPROM.writeByte(EE_BYTE_MEMDOUBLEPI, memdoublepi);
EEPROM.writeByte(EE_BYTE_WAITONLYONSIGNAL, scanholdonsignal);
EEPROM.writeByte(EE_BYTE_NTPOFFSET, NTPoffset);
EEPROM.commit();
if (af == 2) radio.rds.afreg = true; else radio.rds.afreg = false;
Serial.end();
+6 -5
View File
@@ -225,9 +225,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 2280 // Total occupied eeprom bytes
#define EE_TOTAL_CNT 2281 // Total occupied eeprom bytes
#else
#define EE_TOTAL_CNT 2275 // Total occupied eeprom bytes
#define EE_TOTAL_CNT 2276 // Total occupied eeprom bytes
#endif
#define EE_PRESETS_BAND_START 0 // 99 * 1 byte
@@ -345,9 +345,10 @@
#define EE_UINT16_CALTOUCH4 2266
#define EE_UINT16_CALTOUCH5 2270
#define EE_BYTE_INVERTDISPLAY 2274
#define EE_BYTE_NTPOFFSET 2275
#ifdef HAS_AIR_BAND
#define EE_BYTE_AIRSTEPSIZE 2275
#define EE_UINT16_FREQUENCY_AIR 2276
#define EE_BYTE_AIRSTEPSIZE 2276
#define EE_UINT16_FREQUENCY_AIR 2277
#endif
// End of EEPROM index defines
@@ -373,7 +374,7 @@ enum LONGBANDBUTTONPRESS {
};
enum menupage {INDEX, MAINSETTINGS, AUDIOSETTINGS, DISPLAYSETTINGS, RDSSETTINGS, FMSETTINGS, AMSETTINGS, CONNECTIVITY, DXMODE, AUTOMEM
};
};
enum AUTOMEMPIMODES {
MEMPI_OFF = 0, MEMPI_RANGE, MEMPI_FULL
+63
View File
@@ -1271,6 +1271,18 @@ void ShowOneLine(byte position, byte item, bool selected) {
FullLineSprite.drawString((amgain != 0 ? "dB" : myLanguage[language][30]), 298, 2);
break;
case CONNECTIVITY:
FullLineSprite.setTextDatum(TL_DATUM);
FullLineSprite.setTextColor(ActiveColor, ActiveColorSmooth, false);
FullLineSprite.drawString(removeNewline(myLanguage[language][295]), 6, 2);
FullLineSprite.setTextDatum(TR_DATUM);
FullLineSprite.setTextColor(PrimaryColor, PrimaryColorSmooth, false);
FullLineSprite.drawString((NTPoffset > -1 ? "+" : "") + String(NTPoffset, DEC), 298, 2);
FullLineSprite.setTextColor(ActiveColor, ActiveColorSmooth, false);
FullLineSprite.drawString("GMT", 258, 2);
break;
case DXMODE:
FullLineSprite.setTextDatum(TL_DATUM);
FullLineSprite.setTextColor(ActiveColor, ActiveColorSmooth, false);
@@ -2339,6 +2351,19 @@ void ShowOneButton(byte position, byte item, bool selected) {
}
break;
case CONNECTIVITY:
PSSprite.setTextDatum(TC_DATUM);
PSSprite.setTextColor(ActiveColor, ActiveColorSmooth, false);
PSSprite.drawString(shortLine(removeNewline(myLanguage[language][295])), 75, 1);
PSSprite.setTextDatum(TL_DATUM);
PSSprite.setTextColor(PrimaryColor, PrimaryColorSmooth, false);
PSSprite.drawString((NTPoffset > -1 ? "+" : "") + String(NTPoffset, DEC), 77, 15);
PSSprite.setTextColor(ActiveColor, ActiveColorSmooth, false);
PSSprite.setTextDatum(TR_DATUM);
PSSprite.drawString("GMT", 73, 15);
break;
case DXMODE:
PSSprite.setTextDatum(TC_DATUM);
PSSprite.setTextColor(ActiveColor, ActiveColorSmooth, false);
@@ -3762,6 +3787,19 @@ void MenuUp() {
OneBigLineSprite.drawString((XDRGTKMuteScreen ? myLanguage[language][42] : myLanguage[language][30]), 135, 0);
OneBigLineSprite.pushSprite(24, 118);
break;
case ITEM7:
NTPoffset++;
if (NTPoffset > 12) NTPoffset = -12;
OneBigLineSprite.setTextDatum(TR_DATUM);
OneBigLineSprite.setTextColor(ActiveColor, ActiveColorSmooth, false);
OneBigLineSprite.drawString("GMT", 135, 0);
OneBigLineSprite.setTextDatum(TL_DATUM);
OneBigLineSprite.setTextColor(PrimaryColor, PrimaryColorSmooth, false);
OneBigLineSprite.drawString((NTPoffset > -1 ? "+" : "") + String(NTPoffset), 155, 0);
OneBigLineSprite.pushSprite(24, 118);
break;
}
break;
@@ -4720,6 +4758,19 @@ void MenuDown() {
OneBigLineSprite.drawString((XDRGTKMuteScreen ? myLanguage[language][42] : myLanguage[language][30]), 135, 0);
OneBigLineSprite.pushSprite(24, 118);
break;
case ITEM7:
NTPoffset--;
if (NTPoffset < -12) NTPoffset = 12;
OneBigLineSprite.setTextDatum(TR_DATUM);
OneBigLineSprite.setTextColor(ActiveColor, ActiveColorSmooth, false);
OneBigLineSprite.drawString("GMT", 135, 0);
OneBigLineSprite.setTextDatum(TL_DATUM);
OneBigLineSprite.setTextColor(PrimaryColor, PrimaryColorSmooth, false);
OneBigLineSprite.drawString((NTPoffset > -1 ? "+" : "") + String(NTPoffset), 155, 0);
OneBigLineSprite.pushSprite(24, 118);
break;
}
break;
@@ -5733,6 +5784,18 @@ void DoMenu() {
OneBigLineSprite.drawString((XDRGTKMuteScreen ? myLanguage[language][42] : myLanguage[language][30]), 135, 0);
OneBigLineSprite.pushSprite(24, 118);
break;
case ITEM7:
Infoboxprint(myLanguage[language][295]);
OneBigLineSprite.setTextDatum(TR_DATUM);
OneBigLineSprite.setTextColor(ActiveColor, ActiveColorSmooth, false);
OneBigLineSprite.drawString("GMT", 135, 0);
OneBigLineSprite.setTextDatum(TL_DATUM);
OneBigLineSprite.setTextColor(PrimaryColor, PrimaryColorSmooth, false);
OneBigLineSprite.drawString((NTPoffset > -1 ? "+" : "") + String(NTPoffset), 155, 0);
OneBigLineSprite.pushSprite(24, 118);
break;
}
break;
+1
View File
@@ -177,6 +177,7 @@ extern int xPos5;
extern int16_t SStatus;
extern int8_t LevelOffset;
extern int8_t LowLevelSet;
extern int8_t NTPoffset;
extern int8_t VolSet;
extern String eonpsold[20];
extern String PIold;
+37 -19
View File
@@ -5,7 +5,7 @@
// [number of languages][number of texts]
static const char* const myLanguage[18][295] PROGMEM = {
static const char* const myLanguage[18][296] PROGMEM = {
{ "English", // English
"Rotary direction changed", // 1
"Please release button", // 2
@@ -300,7 +300,8 @@ static const char* const myLanguage[18][295] PROGMEM = {
"Update failed!", // 291
"Clear logbook", // 292
"Logbook cleared", // 293
"Clear failed" // 294
"Clear failed", // 294
"Set NTP time offset" // 295
},
{ "Nederlands", // Dutch
@@ -597,7 +598,8 @@ static const char* const myLanguage[18][295] PROGMEM = {
"Log mislukt!", // 291
"Logboek legen", // 292
"Logboek geleegd", // 293
"Legen mislukt" // 294
"Legen mislukt", // 294
"NTP tijdverschil instellen" // 295
},
{ "Polski", // Polish
@@ -894,7 +896,8 @@ static const char* const myLanguage[18][295] PROGMEM = {
"Update failed!", // 291
"Clear logbook", // 292
"Logbook cleared", // 293
"Clear failed" // 294
"Clear failed", // 294
"Set NTP time offset" // 295
},
{ "Hrvatski", // Croatian
@@ -1191,7 +1194,8 @@ static const char* const myLanguage[18][295] PROGMEM = {
"Update failed!", // 291
"Clear logbook", // 292
"Logbook cleared", // 293
"Clear failed" // 294
"Clear failed", // 294
"Set NTP time offset" // 295
},
{ "Ελληνικά", // Greek
@@ -1488,7 +1492,8 @@ static const char* const myLanguage[18][295] PROGMEM = {
"Update failed!", // 291
"Clear logbook", // 292
"Logbook cleared", // 293
"Clear failed" // 294
"Clear failed", // 294
"Set NTP time offset" // 295
},
{ "Română", // Romanian
@@ -1785,7 +1790,8 @@ static const char* const myLanguage[18][295] PROGMEM = {
"Update failed!", // 291
"Clear logbook", // 292
"Logbook cleared", // 293
"Clear failed" // 294
"Clear failed", // 294
"Set NTP time offset" // 295
},
{ "Deutsch", // German
@@ -2082,7 +2088,8 @@ static const char* const myLanguage[18][295] PROGMEM = {
"Update failed!", // 291
"Clear logbook", // 292
"Logbook cleared", // 293
"Clear failed" // 294
"Clear failed", // 294
"Set NTP time offset" // 295
},
{ "Český", // Czech
@@ -2379,7 +2386,8 @@ static const char* const myLanguage[18][295] PROGMEM = {
"Update failed!", // 291
"Clear logbook", // 292
"Logbook cleared", // 293
"Clear failed" // 294
"Clear failed", // 294
"Set NTP time offset" // 295
},
{ "Magyar", // Hungarian
@@ -2676,7 +2684,8 @@ static const char* const myLanguage[18][295] PROGMEM = {
"Update failed!", // 291
"Clear logbook", // 292
"Logbook cleared", // 293
"Clear failed" // 294
"Clear failed", // 294
"Set NTP time offset" // 295
},
{ "Français", // French
@@ -2973,7 +2982,8 @@ static const char* const myLanguage[18][295] PROGMEM = {
"Update failed!", // 291
"Clear logbook", // 292
"Logbook cleared", // 293
"Clear failed" // 294
"Clear failed", // 294
"Set NTP time offset" // 295
},
{ "Български", // Bulgarian
@@ -3270,7 +3280,8 @@ static const char* const myLanguage[18][295] PROGMEM = {
"Update failed!", // 291
"Clear logbook", // 292
"Logbook cleared", // 293
"Clear failed" // 294
"Clear failed", // 294
"Set NTP time offset" // 295
},
{ "Русский", // Russian
@@ -3567,7 +3578,8 @@ static const char* const myLanguage[18][295] PROGMEM = {
"Update failed!", // 291
"Clear logbook", // 292
"Logbook cleared", // 293
"Clear failed" // 294
"Clear failed", // 294
"Set NTP time offset" // 295
},
{ "Українська", // Ukranian
@@ -3864,7 +3876,8 @@ static const char* const myLanguage[18][295] PROGMEM = {
"Update failed!", // 291
"Clear logbook", // 292
"Logbook cleared", // 293
"Clear failed" // 294
"Clear failed", // 294
"Set NTP time offset" // 295
},
{ "Italiano", // Italian
@@ -4161,7 +4174,8 @@ static const char* const myLanguage[18][295] PROGMEM = {
"Update failed!", // 291
"Clear logbook", // 292
"Logbook cleared", // 293
"Clear failed" // 294
"Clear failed", // 294
"Set NTP time offset" // 295
},
{ "Simplified Chinese", // Simplified Chinese
@@ -4458,7 +4472,8 @@ static const char* const myLanguage[18][295] PROGMEM = {
"Update failed!", // 291
"Clear logbook", // 292
"Logbook cleared", // 293
"Clear failed" // 294
"Clear failed", // 294
"Set NTP time offset" // 295
},
{ "Norsk", // Norwegian
@@ -4755,7 +4770,8 @@ static const char* const myLanguage[18][295] PROGMEM = {
"Update failed!", // 291
"Clear logbook", // 292
"Logbook cleared", // 293
"Clear failed" // 294
"Clear failed", // 294
"Set NTP time offset" // 295
},
{ "Español", // Spanish
@@ -5052,7 +5068,8 @@ static const char* const myLanguage[18][295] PROGMEM = {
"Update failed!", // 291
"Clear logbook", // 292
"Logbook cleared", // 293
"Clear failed" // 294
"Clear failed", // 294
"Set NTP time offset" // 295
},
{ "Português", // Portuguese
@@ -5349,7 +5366,8 @@ static const char* const myLanguage[18][295] PROGMEM = {
"Update failed!", // 291
"Clear logbook", // 292
"Logbook cleared", // 293
"Clear failed" // 294
"Clear failed", // 294
"Set NTP time offset" // 295
}
};
#endif
+1 -1
View File
@@ -52,7 +52,6 @@ extern byte ECCold;
extern byte language;
extern byte licold;
extern byte MSold;
extern byte NTPoffset;
extern byte eonptyold[20];
extern byte rdsblockold;
extern byte rdsqualityold;
@@ -92,6 +91,7 @@ extern int xPos2;
extern int xPos3;
extern int xPos4;
extern int xPos5;
extern int8_t NTPoffset;
extern int16_t SAvg3;
extern IPAddress remoteip;
extern String AIDString;