Added tft print functions to make life easier

This commit is contained in:
Sjef Verhoeven PE5PVB
2023-07-18 15:38:59 +02:00
parent 00ceee0c58
commit e093335def
2 changed files with 2372 additions and 46 deletions
+44 -6
View File
@@ -148,6 +148,7 @@ char buff[16];
char programTypePrevious[18]; char programTypePrevious[18];
char radioIdPrevious[6]; char radioIdPrevious[6];
int ActiveColor; int ActiveColor;
int ActiveColorSmooth;
int AGC; int AGC;
int AMLevelOffset; int AMLevelOffset;
int BackgroundColor; int BackgroundColor;
@@ -169,12 +170,14 @@ int OStatusold;
int peakholdold; int peakholdold;
int peakholdtimer; int peakholdtimer;
int PrimaryColor; int PrimaryColor;
int PrimaryColorSmooth;
int RDSColor; int RDSColor;
int rotary; int rotary;
int rssi; int rssi;
int rssiold = 200; int rssiold = 200;
int scanner_filter; int scanner_filter;
int SecondaryColor; int SecondaryColor;
int SecondaryColorSmooth;
int snrupdatetimer; int snrupdatetimer;
int Sqstatusold; int Sqstatusold;
int Squelch; int Squelch;
@@ -430,8 +433,10 @@ void setup() {
tft.setFreeFont(FONT14); tft.setFreeFont(FONT14);
tft.fillScreen(BackgroundColor); tft.fillScreen(BackgroundColor);
tft.setTextColor(ActiveColor); tft.setTextColor(ActiveColor);
tft.drawCentreString(myLanguage[language][1], 155, 77, GFXFF); tftPrint(0, myLanguage[language][1], 155, 85, ActiveColor, ActiveColorSmooth, FONT28);
tft.drawCentreString(myLanguage[language][2], 150, 107, GFXFF); tftPrint(0, myLanguage[language][2], 155, 115, ActiveColor, ActiveColorSmooth, FONT28);
//tft.drawCentreString(myLanguage[language][1], 155, 77, GFXFF);
//tft.drawCentreString(myLanguage[language][2], 150, 107, GFXFF);
while (digitalRead(BWBUTTON) == LOW) delay(50); while (digitalRead(BWBUTTON) == LOW) delay(50);
} }
@@ -500,7 +505,8 @@ void setup() {
tft.fillScreen(BackgroundColor); tft.fillScreen(BackgroundColor);
tft.setTextColor(PrimaryColor); tft.setTextColor(PrimaryColor);
tft.setFreeFont(FONT14); tft.setFreeFont(FONT14);
tft.drawCentreString(myLanguage[language][8], 160, -5, GFXFF); //tft.drawCentreString(myLanguage[language][8], 160, -5, GFXFF);
tftPrint(0, myLanguage[language][8], 160, 3, PrimaryColor, PrimaryColorSmooth, FONT28);
tft.setFreeFont(FONT7); tft.setFreeFont(FONT7);
tft.setTextColor(PrimaryColor); tft.setTextColor(PrimaryColor);
tft.drawCentreString("Software " + String(VERSION), 160, 148, GFXFF); tft.drawCentreString("Software " + String(VERSION), 160, 148, GFXFF);
@@ -5829,13 +5835,16 @@ void SetTunerPatch() {
void doTheme() { // Use this to put your own colors in: http://www.barth-dev.de/online/rgb565-color-picker/ void doTheme() { // Use this to put your own colors in: http://www.barth-dev.de/online/rgb565-color-picker/
switch (CurrentTheme) { switch (CurrentTheme) {
case 0: // Default PE5PVB theme case 0: // Default PE5PVB theme
PrimaryColor = TFT_YELLOW; PrimaryColor = 0xFFE0;
SecondaryColor = TFT_SKYBLUE; PrimaryColorSmooth = 0x10A0;
SecondaryColor = 0x867D;
SecondaryColorSmooth = 0x53F1;
FrequencyColor = TFT_YELLOW; FrequencyColor = TFT_YELLOW;
FrameColor = TFT_BLUE; FrameColor = TFT_BLUE;
GreyoutColor = 0x38E7; GreyoutColor = 0x38E7;
BackgroundColor = TFT_BLACK; BackgroundColor = TFT_BLACK;
ActiveColor = TFT_WHITE; ActiveColor = 0xFFFF;
ActiveColorSmooth = 0x4208;
OptimizerColor = 1; OptimizerColor = 1;
StereoColor = TFT_RED; StereoColor = TFT_RED;
RDSColor = TFT_SKYBLUE; RDSColor = TFT_SKYBLUE;
@@ -6065,3 +6074,32 @@ void DefaultSettings() {
EEPROM.writeByte(EE_BYTE_STEREO, 1); EEPROM.writeByte(EE_BYTE_STEREO, 1);
EEPROM.commit(); EEPROM.commit();
} }
void tftPrint(int8_t offset, const String& text, int16_t x, int16_t y, int color, int smoothcolor, const uint8_t* font) {
tft.loadFont(font);
tft.setTextColor(color, smoothcolor, false);
switch (offset) {
case -1: tft.drawString(text, x, y, GFXFF); break;
case 0: tft.drawCentreString(text, x, y, GFXFF); break;
case 1: tft.drawRightString(text, x, y, GFXFF); break;
}
tft.unloadFont();
}
void tftReplace(int8_t offset, const String& textold, const String& text, int16_t x, int16_t y, int color, int smoothcolor, const uint8_t* font) {
tft.loadFont(font);
tft.loadFont(font);
tft.setTextColor(BackgroundColor, BackgroundColor, false);
switch (offset) {
case -1: tft.drawString(textold, x, y, GFXFF); break;
case 0: tft.drawCentreString(textold, x, y, GFXFF); break;
case 1: tft.drawRightString(textold, x, y, GFXFF); break;
}
tft.setTextColor(color, smoothcolor, false);
switch (offset) {
case -1: tft.drawString(text, x, y, GFXFF); break;
case 0: tft.drawCentreString(text, x, y, GFXFF); break;
case 1: tft.drawRightString(text, x, y, GFXFF); break;
}
tft.unloadFont();
}
+2288
View File
File diff suppressed because it is too large Load Diff