Working on Sprite menu

This commit is contained in:
Sjef Verhoeven PE5PVB
2024-03-14 16:46:16 +01:00
parent 3d6b7347c2
commit 1b50022070
3 changed files with 1041 additions and 893 deletions
+29 -45
View File
@@ -559,14 +559,6 @@ void setup() {
FrequencySprite.createSprite(200, 50); FrequencySprite.createSprite(200, 50);
FrequencySprite.setTextDatum(TR_DATUM); FrequencySprite.setTextDatum(TR_DATUM);
switch (freqfont) {
case 0: FrequencySprite.loadFont(FREQFONT0); break;
case 1: FrequencySprite.loadFont(FREQFONT1); break;
case 2: FrequencySprite.loadFont(FREQFONT2); break;
case 3: FrequencySprite.loadFont(FREQFONT3); break;
case 4: FrequencySprite.loadFont(FREQFONT4); break;
case 5: FrequencySprite.loadFont(FREQFONT5); break;
}
AdvRadiotextSprite.createSprite(162, 19); AdvRadiotextSprite.createSprite(162, 19);
AdvRadiotextSprite.setTextDatum(TL_DATUM); AdvRadiotextSprite.setTextDatum(TL_DATUM);
@@ -583,21 +575,7 @@ void setup() {
OneBigLineSprite.createSprite(270, 30); OneBigLineSprite.createSprite(270, 30);
OneBigLineSprite.setSwapBytes(true); OneBigLineSprite.setSwapBytes(true);
if (language == LANGUAGE_CHS) { UpdateFonts();
RadiotextSprite.loadFont(FONT16_CHS);
AdvRadiotextSprite.loadFont(FONT16_CHS);
RDSSprite.loadFont(FONT16_CHS);
SquelchSprite.loadFont(FONT16_CHS);
FullLineSprite.loadFont(FONT16_CHS);
OneBigLineSprite.loadFont(FONT28_CHS);
} else {
RadiotextSprite.loadFont(FONT16);
AdvRadiotextSprite.loadFont(FONT16);
RDSSprite.loadFont(FONT16);
SquelchSprite.loadFont(FONT16);
FullLineSprite.loadFont(FONT16);
OneBigLineSprite.loadFont(FONT28);
}
if (digitalRead(BWBUTTON) == LOW && digitalRead(ROTARY_BUTTON) == HIGH) { if (digitalRead(BWBUTTON) == LOW && digitalRead(ROTARY_BUTTON) == HIGH) {
if (rotarymode == 0) rotarymode = 1; else rotarymode = 0; if (rotarymode == 0) rotarymode = 1; else rotarymode = 0;
@@ -2000,28 +1978,7 @@ void ModeButtonPress() {
RDSSprite.unloadFont(); RDSSprite.unloadFont();
SquelchSprite.unloadFont(); SquelchSprite.unloadFont();
FrequencySprite.unloadFont(); FrequencySprite.unloadFont();
if (language == LANGUAGE_CHS) { UpdateFonts();
RadiotextSprite.loadFont(FONT16_CHS);
AdvRadiotextSprite.loadFont(FONT16_CHS);
RDSSprite.loadFont(FONT16_CHS);
SquelchSprite.loadFont(FONT16_CHS);
FullLineSprite.loadFont(FONT16_CHS);
} else {
RadiotextSprite.loadFont(FONT16);
AdvRadiotextSprite.loadFont(FONT16);
RDSSprite.loadFont(FONT16);
SquelchSprite.loadFont(FONT16);
FullLineSprite.loadFont(FONT16);
}
switch (freqfont) {
case 0: FrequencySprite.loadFont(FREQFONT0); break;
case 1: FrequencySprite.loadFont(FREQFONT1); break;
case 2: FrequencySprite.loadFont(FREQFONT2); break;
case 3: FrequencySprite.loadFont(FREQFONT3); break;
case 4: FrequencySprite.loadFont(FREQFONT4); break;
case 5: FrequencySprite.loadFont(FREQFONT5); break;
}
BuildDisplay(); BuildDisplay();
ShowSignalLevel(); ShowSignalLevel();
ShowBW(); ShowBW();
@@ -3744,3 +3701,30 @@ void deepSleep() {
esp_sleep_enable_ext0_wakeup(GPIO_NUM_34, LOW); esp_sleep_enable_ext0_wakeup(GPIO_NUM_34, LOW);
esp_deep_sleep_start(); esp_deep_sleep_start();
} }
void UpdateFonts() {
if (language == LANGUAGE_CHS) {
RadiotextSprite.loadFont(FONT16_CHS);
AdvRadiotextSprite.loadFont(FONT16_CHS);
RDSSprite.loadFont(FONT16_CHS);
SquelchSprite.loadFont(FONT16_CHS);
FullLineSprite.loadFont(FONT16_CHS);
OneBigLineSprite.loadFont(FONT28_CHS);
} else {
RadiotextSprite.loadFont(FONT16);
AdvRadiotextSprite.loadFont(FONT16);
RDSSprite.loadFont(FONT16);
SquelchSprite.loadFont(FONT16);
FullLineSprite.loadFont(FONT16);
OneBigLineSprite.loadFont(FONT28);
}
switch (freqfont) {
case 0: FrequencySprite.loadFont(FREQFONT0); break;
case 1: FrequencySprite.loadFont(FREQFONT1); break;
case 2: FrequencySprite.loadFont(FREQFONT2); break;
case 3: FrequencySprite.loadFont(FREQFONT3); break;
case 4: FrequencySprite.loadFont(FREQFONT4); break;
case 5: FrequencySprite.loadFont(FREQFONT5); break;
}
}
+995 -833
View File
File diff suppressed because it is too large Load Diff
+6 -4
View File
@@ -74,7 +74,7 @@ extern byte bandFM;
extern byte bandforbidden; extern byte bandforbidden;
extern byte batteryold; extern byte batteryold;
extern byte batteryoptions; extern byte batteryoptions;
extern byte batteryoptionsold; //extern byte batteryoptionsold;
extern byte ContrastSet; extern byte ContrastSet;
extern byte CurrentSkin; extern byte CurrentSkin;
extern byte CurrentTheme; extern byte CurrentTheme;
@@ -89,7 +89,7 @@ extern byte amcodect;
extern byte amcodectcount; extern byte amcodectcount;
extern byte amgain; extern byte amgain;
extern byte hardwaremodel; extern byte hardwaremodel;
extern byte hardwaremodelold; //extern byte hardwaremodelold;
extern byte HighCutLevel; extern byte HighCutLevel;
extern byte HighCutOffset; extern byte HighCutOffset;
extern byte language; extern byte language;
@@ -97,7 +97,7 @@ extern byte licold;
extern byte menupage; extern byte menupage;
extern byte MSold; extern byte MSold;
extern byte poweroptions; extern byte poweroptions;
extern byte poweroptionsold; //extern byte poweroptionsold;
extern byte eonptyold[20]; extern byte eonptyold[20];
extern byte rdsblockold; extern byte rdsblockold;
extern byte region; extern byte region;
@@ -116,7 +116,7 @@ extern byte tot;
extern byte touchrotating; extern byte touchrotating;
extern byte unit; extern byte unit;
extern byte spispeed; extern byte spispeed;
extern byte spispeedold; //extern byte spispeedold;
extern char eonpicodeold[20][6]; extern char eonpicodeold[20][6];
extern char programTypePrevious[18]; extern char programTypePrevious[18];
extern float batteryVold; extern float batteryVold;
@@ -196,6 +196,7 @@ void MenuDown();
void DoMenu(); void DoMenu();
void doTheme(); void doTheme();
void Infoboxprint(const char* input); void Infoboxprint(const char* input);
String removeNewline(String inputString);
extern void ShowFreq(int mode); extern void ShowFreq(int mode);
extern void ShowBandSelectionFM(bool notglanceview, bool normaldisplay); extern void ShowBandSelectionFM(bool notglanceview, bool normaldisplay);
@@ -209,6 +210,7 @@ extern void updateiMS();
extern void updateEQ(); extern void updateEQ();
extern void doTheme(); extern void doTheme();
extern void tryWiFi(); extern void tryWiFi();
extern void UpdateFonts();
extern void tftPrint(int8_t offset, const String & text, int16_t x, int16_t y, int color, int smoothcolor, uint8_t fontsize); extern void tftPrint(int8_t offset, const String & text, int16_t x, int16_t y, int color, int smoothcolor, uint8_t fontsize);
#endif #endif