GUI optimalisation and bugfixes
Mute symbol added
This commit is contained in:
+229
-155
@@ -2,6 +2,7 @@
|
|||||||
#include <EEPROM.h>
|
#include <EEPROM.h>
|
||||||
#include <Wire.h>
|
#include <Wire.h>
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
|
#include <FS.h>
|
||||||
#include <TFT_eSPI.h> // https://github.com/Bodmer/TFT_eSPI
|
#include <TFT_eSPI.h> // https://github.com/Bodmer/TFT_eSPI
|
||||||
#include <TimeLib.h> // https://github.com/PaulStoffregen/Time
|
#include <TimeLib.h> // https://github.com/PaulStoffregen/Time
|
||||||
#include <Hash.h> // https://github.com/bbx10/Hash_tng
|
#include <Hash.h> // https://github.com/bbx10/Hash_tng
|
||||||
@@ -187,10 +188,10 @@ int Stereostatus;
|
|||||||
int volume;
|
int volume;
|
||||||
int XDRBWset;
|
int XDRBWset;
|
||||||
int XDRBWsetold;
|
int XDRBWsetold;
|
||||||
int xPos = 6;
|
int xPos;
|
||||||
int xPos2 = 6;
|
int xPos2;
|
||||||
int xPos3 = 6;
|
int xPos3;
|
||||||
int xPos4 = 6;
|
int xPos4;
|
||||||
int16_t OStatus;
|
int16_t OStatus;
|
||||||
int16_t SAvg;
|
int16_t SAvg;
|
||||||
int16_t SAvg2;
|
int16_t SAvg2;
|
||||||
@@ -199,10 +200,12 @@ int8_t LevelOffset;
|
|||||||
int8_t LowLevelSet;
|
int8_t LowLevelSet;
|
||||||
int8_t VolSet;
|
int8_t VolSet;
|
||||||
IPAddress remoteip;
|
IPAddress remoteip;
|
||||||
|
String afstringold;
|
||||||
String cryptedpassword;
|
String cryptedpassword;
|
||||||
String CurrentThemeString;
|
String CurrentThemeString;
|
||||||
String ECColdtxt;
|
String ECColdtxt;
|
||||||
String eonpsold[11];
|
String eonpsold[11];
|
||||||
|
String eonstringold;
|
||||||
String LIColdString;
|
String LIColdString;
|
||||||
String pinstringold;
|
String pinstringold;
|
||||||
String PIold;
|
String PIold;
|
||||||
@@ -215,6 +218,7 @@ String rds_clockold;
|
|||||||
String RDSSPYRDS;
|
String RDSSPYRDS;
|
||||||
String RDSSPYRDSold;
|
String RDSSPYRDSold;
|
||||||
String RTold;
|
String RTold;
|
||||||
|
String rtplusstringold;
|
||||||
String salt;
|
String salt;
|
||||||
String saltkey = " ";
|
String saltkey = " ";
|
||||||
String SWMIBandstring = String();
|
String SWMIBandstring = String();
|
||||||
@@ -579,8 +583,10 @@ void setup() {
|
|||||||
SelectBand();
|
SelectBand();
|
||||||
|
|
||||||
setupmode = false;
|
setupmode = false;
|
||||||
sprite.createSprite(317, 16);
|
sprite.createSprite(280, 16);
|
||||||
sprite2.createSprite(172, 16);
|
sprite2.createSprite(172, 16);
|
||||||
|
sprite.setTextDatum(TL_DATUM);
|
||||||
|
sprite2.setTextDatum(TL_DATUM);
|
||||||
radio.tone(50, -5, 2000);
|
radio.tone(50, -5, 2000);
|
||||||
|
|
||||||
if (screensaverset) {
|
if (screensaverset) {
|
||||||
@@ -595,7 +601,7 @@ void loop() {
|
|||||||
if (power == true) {
|
if (power == true) {
|
||||||
Communication();
|
Communication();
|
||||||
|
|
||||||
if (af && radio.rds.correctPI != 0) {
|
if (band == BAND_FM && af && radio.rds.correctPI != 0) {
|
||||||
if ((aftest && millis() >= aftimer + 3000) || ((USN > 250 || WAM > 250) && millis() >= aftimer + 1000)) {
|
if ((aftest && millis() >= aftimer + 3000) || ((USN > 250 || WAM > 250) && millis() >= aftimer + 1000)) {
|
||||||
aftimer = millis();
|
aftimer = millis();
|
||||||
aftest = false;
|
aftest = false;
|
||||||
@@ -607,7 +613,7 @@ void loop() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (millis() >= aftimer + 10000) {
|
if (band == BAND_FM && millis() >= aftimer + 10000) {
|
||||||
aftimer = millis();
|
aftimer = millis();
|
||||||
if (USN > 150 || WAM > 150) {
|
if (USN > 150 || WAM > 150) {
|
||||||
frequency = radio.TestAF();
|
frequency = radio.TestAF();
|
||||||
@@ -642,6 +648,7 @@ void loop() {
|
|||||||
if (region == 0) tftPrint(-1, "PI:", 216, 197, ActiveColor, ActiveColorSmooth, FONT16);
|
if (region == 0) tftPrint(-1, "PI:", 216, 197, ActiveColor, ActiveColorSmooth, FONT16);
|
||||||
if (region == 1) tftPrint(-1, "ID:", 216, 197, ActiveColor, ActiveColorSmooth, FONT16);
|
if (region == 1) tftPrint(-1, "ID:", 216, 197, ActiveColor, ActiveColorSmooth, FONT16);
|
||||||
tftPrint(-1, "PS:", 6, 197, ActiveColor, ActiveColorSmooth, FONT16);
|
tftPrint(-1, "PS:", 6, 197, ActiveColor, ActiveColorSmooth, FONT16);
|
||||||
|
tftPrint(-1, "RT:", 6, 222, ActiveColor, ActiveColorSmooth, FONT16);
|
||||||
tftPrint(-1, "PTY:", 6, 170, ActiveColor, ActiveColorSmooth, FONT16);
|
tftPrint(-1, "PTY:", 6, 170, ActiveColor, ActiveColorSmooth, FONT16);
|
||||||
if (!showmodulation) tft.drawLine(20, 150, 204, 150, GreyoutColor); else tft.drawLine(20, 150, 204, 150, TFT_DARKGREY);
|
if (!showmodulation) tft.drawLine(20, 150, 204, 150, GreyoutColor); else tft.drawLine(20, 150, 204, 150, TFT_DARKGREY);
|
||||||
}
|
}
|
||||||
@@ -670,9 +677,10 @@ void loop() {
|
|||||||
if (region == 0) tftPrint(-1, "PI:", 216, 197, GreyoutColor, BackgroundColor, FONT16);
|
if (region == 0) tftPrint(-1, "PI:", 216, 197, GreyoutColor, BackgroundColor, FONT16);
|
||||||
if (region == 1) tftPrint(-1, "ID:", 216, 197, GreyoutColor, BackgroundColor, FONT16);
|
if (region == 1) tftPrint(-1, "ID:", 216, 197, GreyoutColor, BackgroundColor, FONT16);
|
||||||
tftPrint(-1, "PS:", 6, 197, GreyoutColor, BackgroundColor, FONT16);
|
tftPrint(-1, "PS:", 6, 197, GreyoutColor, BackgroundColor, FONT16);
|
||||||
|
tftPrint(-1, "RT:", 6, 222, GreyoutColor, BackgroundColor, FONT16);
|
||||||
tftPrint(-1, "PTY:", 6, 170, GreyoutColor, BackgroundColor, FONT16);
|
tftPrint(-1, "PTY:", 6, 170, GreyoutColor, BackgroundColor, FONT16);
|
||||||
tft.drawLine(20, 150, 204, 150, GreyoutColor);
|
tft.drawLine(20, 150, 204, 150, GreyoutColor);
|
||||||
tft.drawBitmap(110, 5, RDSLogo, 67, 22, GreyoutColor);
|
tft.drawBitmap(139, 5, RDSLogo, 35, 22, GreyoutColor);
|
||||||
}
|
}
|
||||||
LowLevelInit = false;
|
LowLevelInit = false;
|
||||||
}
|
}
|
||||||
@@ -1334,11 +1342,12 @@ void SelectBand() {
|
|||||||
doBW();
|
doBW();
|
||||||
radio.getStatusAM(SStatus, USN, WAM, OStatus, BW, MStatus, SNR);
|
radio.getStatusAM(SStatus, USN, WAM, OStatus, BW, MStatus, SNR);
|
||||||
if (screenmute == false) radio.clearRDS(fullsearchrds); BuildDisplay();
|
if (screenmute == false) radio.clearRDS(fullsearchrds); BuildDisplay();
|
||||||
if (region == 0) tftPrint(-1, "PI:", 216, 197, PrimaryColor, PrimaryColorSmooth, FONT16);
|
if (region == 0) tftPrint(-1, "PI:", 216, 197, GreyoutColor, BackgroundColor, FONT16);
|
||||||
if (region == 1) tftPrint(-1, "ID:", 216, 195, PrimaryColor, PrimaryColorSmooth, FONT16);
|
if (region == 1) tftPrint(-1, "ID:", 216, 195, GreyoutColor, BackgroundColor, FONT16);
|
||||||
tftPrint(-1, "PS:", 6, 197, PrimaryColor, PrimaryColorSmooth, FONT16);
|
tftPrint(-1, "PS:", 6, 197, GreyoutColor, BackgroundColor, FONT16);
|
||||||
tftPrint(-1, "PTY:", 6, 170, PrimaryColor, PrimaryColorSmooth, FONT16);
|
tftPrint(-1, "RT:", 6, 222, GreyoutColor, BackgroundColor, FONT16);
|
||||||
tft.drawBitmap(110, 5, RDSLogo, 67, 22, GreyoutColor);
|
tftPrint(-1, "PTY:", 6, 170, GreyoutColor, BackgroundColor, FONT16);
|
||||||
|
tft.drawBitmap(139, 5, RDSLogo, 35, 22, GreyoutColor);
|
||||||
tft.drawRoundRect(248, 56, 32, 20, 5, GreyoutColor);
|
tft.drawRoundRect(248, 56, 32, 20, 5, GreyoutColor);
|
||||||
tftPrint(0, "iMS", 265, 59, GreyoutColor, BackgroundColor, FONT16);
|
tftPrint(0, "iMS", 265, 59, GreyoutColor, BackgroundColor, FONT16);
|
||||||
tft.drawRoundRect(286, 56, 32, 20, 5, GreyoutColor);
|
tft.drawRoundRect(286, 56, 32, 20, 5, GreyoutColor);
|
||||||
@@ -2783,7 +2792,7 @@ void readRds() {
|
|||||||
if (advancedRDS) tftPrint(-1, PIold, 244, 76, SecondaryColor, SecondaryColorSmooth, FONT28); else tftPrint(-1, PIold, 244, 191, SecondaryColor, SecondaryColorSmooth, FONT28);
|
if (advancedRDS) tftPrint(-1, PIold, 244, 76, SecondaryColor, SecondaryColorSmooth, FONT28); else tftPrint(-1, PIold, 244, 191, SecondaryColor, SecondaryColorSmooth, FONT28);
|
||||||
if (advancedRDS) tftPrint(-1, PSold, 38, 76, SecondaryColor, SecondaryColorSmooth, FONT28); else tftPrint(-1, PSold, 38, 191, SecondaryColor, SecondaryColorSmooth, FONT28);
|
if (advancedRDS) tftPrint(-1, PSold, 38, 76, SecondaryColor, SecondaryColorSmooth, FONT28); else tftPrint(-1, PSold, 38, 191, SecondaryColor, SecondaryColorSmooth, FONT28);
|
||||||
if (advancedRDS) tftPrint(-1, PTYold, 38, 109, SecondaryColor, SecondaryColorSmooth, FONT16); else tftPrint(-1, PTYold, 38, 170, SecondaryColor, SecondaryColorSmooth, FONT16);
|
if (advancedRDS) tftPrint(-1, PTYold, 38, 109, SecondaryColor, SecondaryColorSmooth, FONT16); else tftPrint(-1, PTYold, 38, 170, SecondaryColor, SecondaryColorSmooth, FONT16);
|
||||||
if (advancedRDS) tftPrint(-1, String(ptynold), 255, 109, SecondaryColor, SecondaryColorSmooth, FONT16);
|
if (advancedRDS) tftPrint(-1, String(ptynold), 216, 109, SecondaryColor, SecondaryColorSmooth, FONT16);
|
||||||
if (!advancedRDS) tftPrint(-1, RTold, 1, 229, BackgroundColor, BackgroundColor, FONT16);
|
if (!advancedRDS) tftPrint(-1, RTold, 1, 229, BackgroundColor, BackgroundColor, FONT16);
|
||||||
dropout = true;
|
dropout = true;
|
||||||
aftest = true;
|
aftest = true;
|
||||||
@@ -2793,7 +2802,7 @@ void readRds() {
|
|||||||
if (advancedRDS) tftPrint(-1, PIold, 244, 76, PrimaryColor, PrimaryColorSmooth, FONT28); else tftPrint(-1, PIold, 244, 191, PrimaryColor, PrimaryColorSmooth, FONT28);
|
if (advancedRDS) tftPrint(-1, PIold, 244, 76, PrimaryColor, PrimaryColorSmooth, FONT28); else tftPrint(-1, PIold, 244, 191, PrimaryColor, PrimaryColorSmooth, FONT28);
|
||||||
if (advancedRDS) tftPrint(-1, PSold, 38, 76, PrimaryColor, PrimaryColorSmooth, FONT28); else tftPrint(-1, PSold, 38, 191, PrimaryColor, PrimaryColorSmooth, FONT28);
|
if (advancedRDS) tftPrint(-1, PSold, 38, 76, PrimaryColor, PrimaryColorSmooth, FONT28); else tftPrint(-1, PSold, 38, 191, PrimaryColor, PrimaryColorSmooth, FONT28);
|
||||||
if (advancedRDS) tftPrint(-1, PTYold, 38, 109, PrimaryColor, PrimaryColorSmooth, FONT16); else tftPrint(-1, PTYold, 38, 170, PrimaryColor, PrimaryColorSmooth, FONT16);
|
if (advancedRDS) tftPrint(-1, PTYold, 38, 109, PrimaryColor, PrimaryColorSmooth, FONT16); else tftPrint(-1, PTYold, 38, 170, PrimaryColor, PrimaryColorSmooth, FONT16);
|
||||||
if (advancedRDS) tftPrint(-1, String(ptynold), 255, 109, PrimaryColor, PrimaryColorSmooth, FONT16);
|
if (advancedRDS) tftPrint(-1, String(ptynold), 216, 109, PrimaryColor, PrimaryColorSmooth, FONT16);
|
||||||
dropout = false;
|
dropout = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -2942,18 +2951,28 @@ void ShowAdvancedRDS() {
|
|||||||
if (radio.rds.hasAF) tftPrint(-1, "AF", 50, 51, SecondaryColor, SecondaryColorSmooth, FONT16); else tftPrint(-1, "AF", 50, 51, GreyoutColor, BackgroundColor, FONT16);
|
if (radio.rds.hasAF) tftPrint(-1, "AF", 50, 51, SecondaryColor, SecondaryColorSmooth, FONT16); else tftPrint(-1, "AF", 50, 51, GreyoutColor, BackgroundColor, FONT16);
|
||||||
hasafold = radio.rds.hasAF;
|
hasafold = radio.rds.hasAF;
|
||||||
}
|
}
|
||||||
if (millis() - afticker >= 100) { //500
|
|
||||||
if (xPos2 == 6) {
|
if (afstring.length() < 20) {
|
||||||
|
if (afstringold != afstring) {
|
||||||
|
xPos2 = 0;
|
||||||
|
sprite2.fillSprite(BackgroundColor);
|
||||||
|
sprite2.loadFont(FONT16);
|
||||||
|
sprite2.setTextColor(PrimaryColor, PrimaryColorSmooth, false);
|
||||||
|
sprite2.drawString(afstring, xPos2, 0, 1);
|
||||||
|
sprite2.pushSprite(35, 200);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if (millis() - afticker >= 50) {
|
||||||
|
if (xPos2 == 0) {
|
||||||
if (millis() - aftickerhold >= 2000) {
|
if (millis() - aftickerhold >= 2000) {
|
||||||
xPos2 -= 1;//charWidth;
|
xPos2 --;
|
||||||
aftickerhold = millis();
|
aftickerhold = millis();
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
xPos2 -= 1;//charWidth;
|
xPos2 --;
|
||||||
aftickerhold = millis();
|
aftickerhold = millis();
|
||||||
}
|
}
|
||||||
if (xPos2 < -tft.textWidth(afstring) + (charWidth * 21)) xPos2 = 6;
|
if (xPos2 < -tft.textWidth(afstring) + (charWidth * 16)) xPos2 = 0;
|
||||||
sprite2.setTextDatum(TL_DATUM);
|
|
||||||
sprite2.fillSprite(BackgroundColor);
|
sprite2.fillSprite(BackgroundColor);
|
||||||
sprite2.loadFont(FONT16);
|
sprite2.loadFont(FONT16);
|
||||||
sprite2.setTextColor(PrimaryColor, PrimaryColorSmooth, false);
|
sprite2.setTextColor(PrimaryColor, PrimaryColorSmooth, false);
|
||||||
@@ -2961,6 +2980,8 @@ void ShowAdvancedRDS() {
|
|||||||
sprite2.pushSprite(35, 200);
|
sprite2.pushSprite(35, 200);
|
||||||
afticker = millis();
|
afticker = millis();
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
afstringold = afstring;
|
||||||
|
|
||||||
String eonstring;
|
String eonstring;
|
||||||
if (radio.rds.hasEON) for (byte i = 0; i < radio.eon_counter; i++) eonstring += String(radio.eon[i].picode) + (radio.eon[i].ps.length() > 0 ? String(": " + String(radio.eon[i].ps)) : "") + (radio.eon[i].mappedfreq > 0 ? String(" " + String(radio.eon[i].mappedfreq / 100) + "." + String((radio.eon[i].mappedfreq % 100) / 10)) : "") + (radio.eon[i].mappedfreq2 > 0 ? String(" / " + String(radio.eon[i].mappedfreq2 / 100) + "." + String((radio.eon[i].mappedfreq2 % 100) / 10)) : "") + (radio.eon[i].mappedfreq3 > 0 ? String(" / " + String(radio.eon[i].mappedfreq3 / 100) + "." + String((radio.eon[i].mappedfreq3 % 100) / 10)) : "") + (i == radio.eon_counter - 1 ? " " : " | "); else eonstring = myLanguage[language][88];
|
if (radio.rds.hasEON) for (byte i = 0; i < radio.eon_counter; i++) eonstring += String(radio.eon[i].picode) + (radio.eon[i].ps.length() > 0 ? String(": " + String(radio.eon[i].ps)) : "") + (radio.eon[i].mappedfreq > 0 ? String(" " + String(radio.eon[i].mappedfreq / 100) + "." + String((radio.eon[i].mappedfreq % 100) / 10)) : "") + (radio.eon[i].mappedfreq2 > 0 ? String(" / " + String(radio.eon[i].mappedfreq2 / 100) + "." + String((radio.eon[i].mappedfreq2 % 100) / 10)) : "") + (radio.eon[i].mappedfreq3 > 0 ? String(" / " + String(radio.eon[i].mappedfreq3 / 100) + "." + String((radio.eon[i].mappedfreq3 % 100) / 10)) : "") + (i == radio.eon_counter - 1 ? " " : " | "); else eonstring = myLanguage[language][88];
|
||||||
@@ -2968,18 +2989,27 @@ void ShowAdvancedRDS() {
|
|||||||
if (radio.rds.hasEON) tftPrint(-1, "EON", 153, 51, SecondaryColor, SecondaryColorSmooth, FONT16); else tftPrint(-1, "EON", 153, 51, GreyoutColor, BackgroundColor, FONT16);
|
if (radio.rds.hasEON) tftPrint(-1, "EON", 153, 51, SecondaryColor, SecondaryColorSmooth, FONT16); else tftPrint(-1, "EON", 153, 51, GreyoutColor, BackgroundColor, FONT16);
|
||||||
haseonold = radio.rds.hasEON;
|
haseonold = radio.rds.hasEON;
|
||||||
}
|
}
|
||||||
if (millis() - eonticker >= 100) { //500
|
if (eonstring.length() < 20) {
|
||||||
if (xPos3 == 6) {
|
if (eonstringold != eonstring) {
|
||||||
|
xPos3 = 0;
|
||||||
|
sprite2.fillSprite(BackgroundColor);
|
||||||
|
sprite2.loadFont(FONT16);
|
||||||
|
sprite2.setTextColor(PrimaryColor, PrimaryColorSmooth, false);
|
||||||
|
sprite2.drawString(eonstring, xPos3, 0);
|
||||||
|
sprite2.pushSprite(35, 175);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if (millis() - eonticker >= 50) {
|
||||||
|
if (xPos3 == 0) {
|
||||||
if (millis() - eontickerhold >= 2000) {
|
if (millis() - eontickerhold >= 2000) {
|
||||||
xPos3 -= 1;//charWidth;
|
xPos3 --;
|
||||||
eontickerhold = millis();
|
eontickerhold = millis();
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
xPos3 -= 1;//charWidth;
|
xPos3 --;
|
||||||
eontickerhold = millis();
|
eontickerhold = millis();
|
||||||
}
|
}
|
||||||
if (xPos3 < -tft.textWidth(eonstring) + (charWidth * 21)) xPos3 = 6;
|
if (xPos3 < -tft.textWidth(eonstring) + (charWidth * 16)) xPos3 = 0;
|
||||||
sprite2.setTextDatum(TL_DATUM);
|
|
||||||
sprite2.fillSprite(BackgroundColor);
|
sprite2.fillSprite(BackgroundColor);
|
||||||
sprite2.loadFont(FONT16);
|
sprite2.loadFont(FONT16);
|
||||||
sprite2.setTextColor(PrimaryColor, PrimaryColorSmooth, false);
|
sprite2.setTextColor(PrimaryColor, PrimaryColorSmooth, false);
|
||||||
@@ -2987,6 +3017,8 @@ void ShowAdvancedRDS() {
|
|||||||
sprite2.pushSprite(35, 175);
|
sprite2.pushSprite(35, 175);
|
||||||
eonticker = millis();
|
eonticker = millis();
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
eonstringold = eonstring;
|
||||||
|
|
||||||
String rtplusstring;
|
String rtplusstring;
|
||||||
if (radio.rds.hasRDSplus) rtplusstring = "1) " + String(radio.rds.RTContent1) + " - 2) " + String(radio.rds.RTContent2) + " "; else rtplusstring = myLanguage[language][89];
|
if (radio.rds.hasRDSplus) rtplusstring = "1) " + String(radio.rds.RTContent1) + " - 2) " + String(radio.rds.RTContent2) + " "; else rtplusstring = myLanguage[language][89];
|
||||||
@@ -2994,18 +3026,27 @@ void ShowAdvancedRDS() {
|
|||||||
if (radio.rds.hasRDSplus) tftPrint(-1, "RT+", 124, 51, SecondaryColor, SecondaryColorSmooth, FONT16); else tftPrint(-1, "RT+", 124, 51, GreyoutColor, BackgroundColor, FONT16);
|
if (radio.rds.hasRDSplus) tftPrint(-1, "RT+", 124, 51, SecondaryColor, SecondaryColorSmooth, FONT16); else tftPrint(-1, "RT+", 124, 51, GreyoutColor, BackgroundColor, FONT16);
|
||||||
hasrtplusold = radio.rds.hasRDSplus;
|
hasrtplusold = radio.rds.hasRDSplus;
|
||||||
}
|
}
|
||||||
if (millis() - rtplusticker >= 100) { //350
|
if (eonstring.length() < 20) {
|
||||||
if (xPos3 == 6) {
|
if (rtplusstringold != rtplusstring) {
|
||||||
|
xPos4 = 0;
|
||||||
|
sprite2.fillSprite(BackgroundColor);
|
||||||
|
sprite2.loadFont(FONT16);
|
||||||
|
sprite2.setTextColor(PrimaryColor, PrimaryColorSmooth, false);
|
||||||
|
sprite2.drawString(rtplusstring, xPos4, 0);
|
||||||
|
sprite2.pushSprite(35, 150);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if (millis() - rtplusticker >= 50)
|
||||||
|
if (xPos4 == 0) {
|
||||||
if (millis() - rtplustickerhold >= 2000) {
|
if (millis() - rtplustickerhold >= 2000) {
|
||||||
xPos4 -= 1;//charWidth;
|
xPos4 --;
|
||||||
rtplustickerhold = millis();
|
rtplustickerhold = millis();
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
xPos4 -= 1;//charWidth;
|
xPos4 --;
|
||||||
rtplustickerhold = millis();
|
rtplustickerhold = millis();
|
||||||
}
|
}
|
||||||
if (xPos4 < -tft.textWidth(rtplusstring) + (charWidth * 21)) xPos4 = 6;
|
if (xPos4 < -tft.textWidth(rtplusstring) + (charWidth * 16)) xPos4 = 0;
|
||||||
sprite2.setTextDatum(TL_DATUM);
|
|
||||||
sprite2.fillSprite(BackgroundColor);
|
sprite2.fillSprite(BackgroundColor);
|
||||||
sprite2.loadFont(FONT16);
|
sprite2.loadFont(FONT16);
|
||||||
sprite2.setTextColor(PrimaryColor, PrimaryColorSmooth, false);
|
sprite2.setTextColor(PrimaryColor, PrimaryColorSmooth, false);
|
||||||
@@ -3013,6 +3054,7 @@ void ShowAdvancedRDS() {
|
|||||||
sprite2.pushSprite(35, 150);
|
sprite2.pushSprite(35, 150);
|
||||||
rtplusticker = millis();
|
rtplusticker = millis();
|
||||||
}
|
}
|
||||||
|
rtplusstringold = rtplusstring;
|
||||||
|
|
||||||
if (TPold != radio.rds.hasTP) {
|
if (TPold != radio.rds.hasTP) {
|
||||||
if (radio.rds.hasTP == true) tftPrint(-1, "TP", 6, 51, SecondaryColor, SecondaryColorSmooth, FONT16); else tftPrint(-1, "TP", 6, 51, GreyoutColor, BackgroundColor, FONT16);
|
if (radio.rds.hasTP == true) tftPrint(-1, "TP", 6, 51, SecondaryColor, SecondaryColorSmooth, FONT16); else tftPrint(-1, "TP", 6, 51, GreyoutColor, BackgroundColor, FONT16);
|
||||||
@@ -3067,9 +3109,9 @@ void ShowAdvancedRDS() {
|
|||||||
if (radio.rds.hasTMC == true) tftPrint(-1, "TMC", 90, 51, SecondaryColor, SecondaryColorSmooth, FONT16); else tftPrint(-1, "TMC", 90, 51, GreyoutColor, BackgroundColor, FONT16);
|
if (radio.rds.hasTMC == true) tftPrint(-1, "TMC", 90, 51, SecondaryColor, SecondaryColorSmooth, FONT16); else tftPrint(-1, "TMC", 90, 51, GreyoutColor, BackgroundColor, FONT16);
|
||||||
hastmcold = radio.rds.hasTMC;
|
hastmcold = radio.rds.hasTMC;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void doAF() {
|
void doAF() {
|
||||||
if (radio.af_counter != af_counterold && radio.rds.hasAF == true) {
|
if (radio.af_counter != af_counterold && radio.rds.hasAF == true) {
|
||||||
if (wifi) {
|
if (wifi) {
|
||||||
Udp.beginPacket(remoteip, 9030);
|
Udp.beginPacket(remoteip, 9030);
|
||||||
@@ -3089,9 +3131,9 @@ void doAF() {
|
|||||||
Udp.endPacket();
|
Udp.endPacket();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void showECC() {
|
void showECC() {
|
||||||
if (ECCold != radio.rds.ECC) {
|
if (ECCold != radio.rds.ECC) {
|
||||||
String ECC;
|
String ECC;
|
||||||
if (radio.rds.picode[0] == '1') {
|
if (radio.rds.picode[0] == '1') {
|
||||||
@@ -3188,9 +3230,9 @@ void showECC() {
|
|||||||
}
|
}
|
||||||
ECCold = radio.rds.ECC;
|
ECCold = radio.rds.ECC;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void showPI() {
|
void showPI() {
|
||||||
if (strcmp(radio.rds.picode, radioIdPrevious)) {
|
if (strcmp(radio.rds.picode, radioIdPrevious)) {
|
||||||
if (advancedRDS) {
|
if (advancedRDS) {
|
||||||
tftReplace(-1, PIold, radio.rds.picode, 244, 76, PrimaryColor, PrimaryColorSmooth, FONT28);
|
tftReplace(-1, PIold, radio.rds.picode, 244, 76, PrimaryColor, PrimaryColorSmooth, FONT28);
|
||||||
@@ -3207,9 +3249,9 @@ void showPI() {
|
|||||||
}
|
}
|
||||||
strcpy(radioIdPrevious, radio.rds.picode);
|
strcpy(radioIdPrevious, radio.rds.picode);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void showPTY() {
|
void showPTY() {
|
||||||
if (strcmp(radio.rds.stationType, programTypePrevious)) {
|
if (strcmp(radio.rds.stationType, programTypePrevious)) {
|
||||||
if (advancedRDS) tftReplace(-1, PTYold, radio.rds.stationType, 38, 109, PrimaryColor, PrimaryColorSmooth, FONT16); else tftReplace(-1, PTYold, radio.rds.stationType, 38, 170, PrimaryColor, PrimaryColorSmooth, FONT16);
|
if (advancedRDS) tftReplace(-1, PTYold, radio.rds.stationType, 38, 109, PrimaryColor, PrimaryColorSmooth, FONT16); else tftReplace(-1, PTYold, radio.rds.stationType, 38, 170, PrimaryColor, PrimaryColorSmooth, FONT16);
|
||||||
PTYold = radio.rds.stationType;
|
PTYold = radio.rds.stationType;
|
||||||
@@ -3221,9 +3263,9 @@ void showPTY() {
|
|||||||
}
|
}
|
||||||
strcpy(programTypePrevious, radio.rds.stationType);
|
strcpy(programTypePrevious, radio.rds.stationType);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void showPS() {
|
void showPS() {
|
||||||
if (radio.rds.stationName != programServicePrevious) {
|
if (radio.rds.stationName != programServicePrevious) {
|
||||||
if (advancedRDS) {
|
if (advancedRDS) {
|
||||||
tftReplace(-1, PSold, radio.rds.stationName, 38, 76, PrimaryColor, PrimaryColorSmooth, FONT28);
|
tftReplace(-1, PSold, radio.rds.stationName, 38, 76, PrimaryColor, PrimaryColorSmooth, FONT28);
|
||||||
@@ -3250,48 +3292,60 @@ void showPS() {
|
|||||||
}
|
}
|
||||||
programServicePrevious = radio.rds.stationName;
|
programServicePrevious = radio.rds.stationName;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void showRadioText() {
|
void showRadioText() {
|
||||||
if (radio.rds.hasRT && RDSstatus) {
|
if (radio.rds.hasRT && RDSstatus) {
|
||||||
if (millis() - rtticker >= 100) { // 350
|
if (advancedRDS && radio.rds.stationText.length() < 20) {
|
||||||
if (xPos == 6) {
|
xPos = 0;
|
||||||
if (millis() - rttickerhold >= 2000) {
|
|
||||||
xPos -= 1;//= charWidth;
|
|
||||||
rttickerhold = millis();
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
xPos -= 1;//= charWidth;
|
|
||||||
rttickerhold = millis();
|
|
||||||
}
|
|
||||||
|
|
||||||
if (advancedRDS) {
|
|
||||||
if (xPos < -tft.textWidth(radio.rds.stationText + " " + radio.rds.stationText32) + (charWidth * 21)) xPos = 6;
|
|
||||||
sprite2.fillSprite(BackgroundColor);
|
sprite2.fillSprite(BackgroundColor);
|
||||||
sprite2.setTextDatum(TL_DATUM);
|
|
||||||
sprite2.loadFont(FONT16);
|
sprite2.loadFont(FONT16);
|
||||||
sprite2.setTextColor(PrimaryColor, PrimaryColorSmooth, false);
|
sprite2.setTextColor(PrimaryColor, PrimaryColorSmooth, false);
|
||||||
sprite2.fillSprite(BackgroundColor);
|
|
||||||
sprite2.drawString(radio.rds.stationText + " " + radio.rds.stationText32, xPos, 0, 1);
|
sprite2.drawString(radio.rds.stationText + " " + radio.rds.stationText32, xPos, 0, 1);
|
||||||
sprite2.pushSprite(35, 222);
|
sprite2.pushSprite(35, 222);
|
||||||
} else {
|
} else if (!advancedRDS && radio.rds.stationText.length() < 29) {
|
||||||
if (xPos < -tft.textWidth(radio.rds.stationText + " " + radio.rds.stationText32) + (charWidth * 24)) xPos = 6;
|
if (RTold != radio.rds.stationText + " " + radio.rds.stationText32) {
|
||||||
sprite.fillSprite(BackgroundColor);
|
xPos = 0;
|
||||||
sprite.setTextDatum(TL_DATUM);
|
|
||||||
sprite.fillSprite(BackgroundColor);
|
sprite.fillSprite(BackgroundColor);
|
||||||
sprite.loadFont(FONT16);
|
sprite.loadFont(FONT16);
|
||||||
sprite.setTextColor(PrimaryColor, PrimaryColorSmooth, false);
|
sprite.setTextColor(PrimaryColor, PrimaryColorSmooth, false);
|
||||||
sprite.drawString(radio.rds.stationText + " " + radio.rds.stationText32, xPos, 0, 1);
|
sprite.drawString(radio.rds.stationText + " " + radio.rds.stationText32, xPos, 0, 1);
|
||||||
sprite.pushSprite(1, 222);
|
sprite.pushSprite(38, 222);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if (millis() - rtticker >= 50) {
|
||||||
|
if (xPos == 0) {
|
||||||
|
if (millis() - rttickerhold >= 2000) {
|
||||||
|
xPos --;
|
||||||
|
rttickerhold = millis();
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
xPos --;
|
||||||
|
rttickerhold = millis();
|
||||||
|
}
|
||||||
|
if (advancedRDS) {
|
||||||
|
if (xPos < -tft.textWidth(radio.rds.stationText + " " + radio.rds.stationText32) + (charWidth * 16)) xPos = 0;
|
||||||
|
sprite2.fillSprite(BackgroundColor);
|
||||||
|
sprite2.loadFont(FONT16);
|
||||||
|
sprite2.setTextColor(PrimaryColor, PrimaryColorSmooth, false);
|
||||||
|
sprite2.drawString(radio.rds.stationText + " " + radio.rds.stationText32, xPos, 0, 1);
|
||||||
|
sprite2.pushSprite(35, 222);
|
||||||
|
} else {
|
||||||
|
if (xPos < -tft.textWidth(radio.rds.stationText + " " + radio.rds.stationText32) + (charWidth * 26)) xPos = 0;
|
||||||
|
sprite.fillSprite(BackgroundColor);
|
||||||
|
sprite.loadFont(FONT16);
|
||||||
|
sprite.setTextColor(PrimaryColor, PrimaryColorSmooth, false);
|
||||||
|
sprite.drawString(radio.rds.stationText + " " + radio.rds.stationText32, xPos, 0, 1);
|
||||||
|
sprite.pushSprite(38, 222);
|
||||||
}
|
}
|
||||||
rtticker = millis();
|
rtticker = millis();
|
||||||
RTold = radio.rds.stationText + " " + radio.rds.stationText32;
|
|
||||||
cleanup = true;
|
cleanup = true;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
} else if (cleanup == true) {
|
} else if (cleanup == true) {
|
||||||
sprite.fillSprite(BackgroundColor);
|
sprite.fillSprite(BackgroundColor);
|
||||||
sprite2.fillSprite(BackgroundColor);
|
sprite2.fillSprite(BackgroundColor);
|
||||||
if (advancedRDS) sprite2.pushSprite(35, 222); else sprite.pushSprite(1, 222);
|
if (advancedRDS) sprite2.pushSprite(35, 222); else sprite.pushSprite(38, 222);
|
||||||
cleanup = false;
|
cleanup = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -3309,9 +3363,10 @@ void showRadioText() {
|
|||||||
Udp.endPacket();
|
Udp.endPacket();
|
||||||
}
|
}
|
||||||
tft.drawLine(0, 239, 320, 239, FrameColor);
|
tft.drawLine(0, 239, 320, 239, FrameColor);
|
||||||
}
|
RTold = radio.rds.stationText + " " + radio.rds.stationText32;
|
||||||
|
}
|
||||||
|
|
||||||
void BuildMenu() {
|
void BuildMenu() {
|
||||||
advancedRDS = false;
|
advancedRDS = false;
|
||||||
tft.fillScreen(BackgroundColor);
|
tft.fillScreen(BackgroundColor);
|
||||||
tft.drawRect(0, 0, 320, 240, FrameColor);
|
tft.drawRect(0, 0, 320, 240, FrameColor);
|
||||||
@@ -3362,7 +3417,7 @@ void BuildMenu() {
|
|||||||
tftPrint(-1, myLanguage[language][45], 14, 116, ActiveColor, ActiveColorSmooth, FONT16);
|
tftPrint(-1, myLanguage[language][45], 14, 116, ActiveColor, ActiveColorSmooth, FONT16);
|
||||||
tftPrint(-1, myLanguage[language][46], 14, 136, ActiveColor, ActiveColorSmooth, FONT16);
|
tftPrint(-1, myLanguage[language][46], 14, 136, ActiveColor, ActiveColorSmooth, FONT16);
|
||||||
tftPrint(-1, myLanguage[language][49], 14, 156, ActiveColor, ActiveColorSmooth, FONT16);
|
tftPrint(-1, myLanguage[language][49], 14, 156, ActiveColor, ActiveColorSmooth, FONT16);
|
||||||
tftPrint(-1, myLanguage[language][49], 14, 176, ActiveColor, ActiveColorSmooth, FONT16);
|
tftPrint(-1, myLanguage[language][50], 14, 176, ActiveColor, ActiveColorSmooth, FONT16);
|
||||||
if (wifi) tftPrint(-1, String(myLanguage[language][51]) + " IP: " + String(WiFi.localIP().toString()), 14, 196, ActiveColor, ActiveColorSmooth, FONT16); else tftPrint(-1, myLanguage[language][51], 14, 196, ActiveColor, ActiveColorSmooth, FONT16);
|
if (wifi) tftPrint(-1, String(myLanguage[language][51]) + " IP: " + String(WiFi.localIP().toString()), 14, 196, ActiveColor, ActiveColorSmooth, FONT16); else tftPrint(-1, myLanguage[language][51], 14, 196, ActiveColor, ActiveColorSmooth, FONT16);
|
||||||
tftPrint(-1, myLanguage[language][52], 14, 216, ActiveColor, ActiveColorSmooth, FONT16);
|
tftPrint(-1, myLanguage[language][52], 14, 216, ActiveColor, ActiveColorSmooth, FONT16);
|
||||||
|
|
||||||
@@ -3376,7 +3431,7 @@ void BuildMenu() {
|
|||||||
if (radio.rds.underscore) tftPrint(1, myLanguage[language][42], 305, 156, PrimaryColor, PrimaryColorSmooth, FONT16); else tftPrint(1, myLanguage[language][30], 305, 156, PrimaryColor, PrimaryColorSmooth, FONT16);
|
if (radio.rds.underscore) tftPrint(1, myLanguage[language][42], 305, 156, PrimaryColor, PrimaryColorSmooth, FONT16); else tftPrint(1, myLanguage[language][30], 305, 156, PrimaryColor, PrimaryColorSmooth, FONT16);
|
||||||
if (USBmode) tftPrint(1, "RDS Spy", 305, 176, PrimaryColor, PrimaryColorSmooth, FONT16); else tftPrint(1, "XDRGTK", 305, 176, PrimaryColor, PrimaryColorSmooth, FONT16);
|
if (USBmode) tftPrint(1, "RDS Spy", 305, 176, PrimaryColor, PrimaryColorSmooth, FONT16); else tftPrint(1, "XDRGTK", 305, 176, PrimaryColor, PrimaryColorSmooth, FONT16);
|
||||||
if (wifi) tftPrint(1, myLanguage[language][42], 305, 196, PrimaryColor, PrimaryColorSmooth, FONT16); else tftPrint(1, myLanguage[language][30], 305, 196, PrimaryColor, PrimaryColorSmooth, FONT16);
|
if (wifi) tftPrint(1, myLanguage[language][42], 305, 196, PrimaryColor, PrimaryColorSmooth, FONT16); else tftPrint(1, myLanguage[language][30], 305, 196, PrimaryColor, PrimaryColorSmooth, FONT16);
|
||||||
tftPrint(1, "->", 305, 196, PrimaryColor, PrimaryColorSmooth, FONT16);
|
tftPrint(1, ">", 305, 216, PrimaryColor, PrimaryColorSmooth, FONT16);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 3:
|
case 3:
|
||||||
@@ -3436,9 +3491,9 @@ void BuildMenu() {
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
analogWrite(SMETERPIN, 0);
|
analogWrite(SMETERPIN, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
void MuteScreen(bool setting) {
|
void MuteScreen(bool setting) {
|
||||||
if (!setting && screenmute) {
|
if (!setting && screenmute) {
|
||||||
screenmute = false;
|
screenmute = false;
|
||||||
setupmode = true;
|
setupmode = true;
|
||||||
@@ -3452,9 +3507,9 @@ void MuteScreen(bool setting) {
|
|||||||
analogWrite(CONTRASTPIN, 0);
|
analogWrite(CONTRASTPIN, 0);
|
||||||
tft.writecommand(0x10);
|
tft.writecommand(0x10);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void ShowAFEON() {
|
void ShowAFEON() {
|
||||||
if (radio.rds.hasAF) {
|
if (radio.rds.hasAF) {
|
||||||
if (hasafold == false) {
|
if (hasafold == false) {
|
||||||
tftPrint(-1, myLanguage[language][87], 6, 54, BackgroundColor, BackgroundColor, FONT16);
|
tftPrint(-1, myLanguage[language][87], 6, 54, BackgroundColor, BackgroundColor, FONT16);
|
||||||
@@ -3504,7 +3559,7 @@ void ShowAFEON() {
|
|||||||
tftPrint(-1, String(eonpsold[i]), 218, 54 + (15 * i), BackgroundColor, BackgroundColor, FONT16);
|
tftPrint(-1, String(eonpsold[i]), 218, 54 + (15 * i), BackgroundColor, BackgroundColor, FONT16);
|
||||||
eonpsold[i] = radio.eon[i].ps;
|
eonpsold[i] = radio.eon[i].ps;
|
||||||
}
|
}
|
||||||
tftPrint(-1, String(radio.eon[i].ps), 218, 54 + (15 * i), PrimaryColor, PrimaryColorSmooth, FONT16);
|
tftPrint(-1, String(radio.eon[i].ps), 218, 54 + (15 * i), SecondaryColor, SecondaryColorSmooth, FONT16);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (radio.eon[i].mappedfreq > 0) {
|
if (radio.eon[i].mappedfreq > 0) {
|
||||||
@@ -3518,9 +3573,9 @@ void ShowAFEON() {
|
|||||||
if (i == 10) i = 254;
|
if (i == 10) i = 254;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void BuildAFScreen() {
|
void BuildAFScreen() {
|
||||||
if (!afscreen && RDSstatus) {
|
if (!afscreen && RDSstatus) {
|
||||||
tft.drawRoundRect(20, 30, 274, 170, 5, ActiveColor);
|
tft.drawRoundRect(20, 30, 274, 170, 5, ActiveColor);
|
||||||
tft.fillRoundRect(22, 32, 270, 166, 5, BackgroundColor);
|
tft.fillRoundRect(22, 32, 270, 166, 5, BackgroundColor);
|
||||||
@@ -3558,9 +3613,9 @@ void BuildAFScreen() {
|
|||||||
programServicePrevious = "0";
|
programServicePrevious = "0";
|
||||||
for (byte i = 0; i < 11; i++) eonpsold[i] = "";
|
for (byte i = 0; i < 11; i++) eonpsold[i] = "";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void BuildAdvancedRDS() {
|
void BuildAdvancedRDS() {
|
||||||
afscreen = false;
|
afscreen = false;
|
||||||
afpage = false;
|
afpage = false;
|
||||||
afpagenr = 0;
|
afpagenr = 0;
|
||||||
@@ -3626,7 +3681,7 @@ void BuildAdvancedRDS() {
|
|||||||
tft.drawCircle(81, 15, 9, GreyoutColor);
|
tft.drawCircle(81, 15, 9, GreyoutColor);
|
||||||
tft.drawCircle(91, 15, 10, GreyoutColor);
|
tft.drawCircle(91, 15, 10, GreyoutColor);
|
||||||
tft.drawCircle(91, 15, 9, GreyoutColor);
|
tft.drawCircle(91, 15, 9, GreyoutColor);
|
||||||
tft.drawBitmap(110, 5, RDSLogo, 67, 22, GreyoutColor);
|
tft.drawBitmap(139, 5, RDSLogo, 35, 22, GreyoutColor);
|
||||||
|
|
||||||
if (StereoToggle == false) {
|
if (StereoToggle == false) {
|
||||||
tft.drawCircle(86, 15, 10, SecondaryColor);
|
tft.drawCircle(86, 15, 10, SecondaryColor);
|
||||||
@@ -3678,9 +3733,9 @@ void BuildAdvancedRDS() {
|
|||||||
BWreset = true;
|
BWreset = true;
|
||||||
pinstringold = "";
|
pinstringold = "";
|
||||||
ShowMemoryPos();
|
ShowMemoryPos();
|
||||||
}
|
}
|
||||||
|
|
||||||
void BuildDisplay() {
|
void BuildDisplay() {
|
||||||
afscreen = false;
|
afscreen = false;
|
||||||
advancedRDS = false;
|
advancedRDS = false;
|
||||||
if (theme == 0) {
|
if (theme == 0) {
|
||||||
@@ -3696,6 +3751,7 @@ void BuildDisplay() {
|
|||||||
tft.drawLine(0, 187, 320, 187, FrameColor);
|
tft.drawLine(0, 187, 320, 187, FrameColor);
|
||||||
tft.drawLine(0, 218, 320, 218, FrameColor);
|
tft.drawLine(0, 218, 320, 218, FrameColor);
|
||||||
tft.drawLine(108, 30, 108, 0, FrameColor);
|
tft.drawLine(108, 30, 108, 0, FrameColor);
|
||||||
|
tft.drawLine(137, 30, 137, 0, FrameColor);
|
||||||
tft.drawLine(174, 30, 174, 0, FrameColor);
|
tft.drawLine(174, 30, 174, 0, FrameColor);
|
||||||
tft.drawLine(20, 120, 204, 120, TFT_DARKGREY);
|
tft.drawLine(20, 120, 204, 120, TFT_DARKGREY);
|
||||||
if (!showmodulation) tft.drawLine(20, 150, 204, 150, GreyoutColor); else tft.drawLine(20, 150, 204, 150, TFT_DARKGREY);
|
if (!showmodulation) tft.drawLine(20, 150, 204, 150, GreyoutColor); else tft.drawLine(20, 150, 204, 150, TFT_DARKGREY);
|
||||||
@@ -3718,6 +3774,7 @@ void BuildDisplay() {
|
|||||||
if (region == 0) tftPrint(-1, "PI:", 216, 197, ActiveColor, ActiveColorSmooth, FONT16);
|
if (region == 0) tftPrint(-1, "PI:", 216, 197, ActiveColor, ActiveColorSmooth, FONT16);
|
||||||
if (region == 1) tftPrint(-1, "ID:", 216, 197, ActiveColor, ActiveColorSmooth, FONT16);
|
if (region == 1) tftPrint(-1, "ID:", 216, 197, ActiveColor, ActiveColorSmooth, FONT16);
|
||||||
tftPrint(-1, "PS:", 6, 197, ActiveColor, ActiveColorSmooth, FONT16);
|
tftPrint(-1, "PS:", 6, 197, ActiveColor, ActiveColorSmooth, FONT16);
|
||||||
|
tftPrint(-1, "RT:", 6, 222, ActiveColor, ActiveColorSmooth, FONT16);
|
||||||
tftPrint(-1, "PTY:", 6, 170, ActiveColor, ActiveColorSmooth, FONT16);
|
tftPrint(-1, "PTY:", 6, 170, ActiveColor, ActiveColorSmooth, FONT16);
|
||||||
|
|
||||||
tftPrint(0, "S", 7, 107, ActiveColor, ActiveColorSmooth, FONT16);
|
tftPrint(0, "S", 7, 107, ActiveColor, ActiveColorSmooth, FONT16);
|
||||||
@@ -3756,7 +3813,7 @@ void BuildDisplay() {
|
|||||||
tft.drawCircle(81, 15, 9, GreyoutColor);
|
tft.drawCircle(81, 15, 9, GreyoutColor);
|
||||||
tft.drawCircle(91, 15, 10, GreyoutColor);
|
tft.drawCircle(91, 15, 10, GreyoutColor);
|
||||||
tft.drawCircle(91, 15, 9, GreyoutColor);
|
tft.drawCircle(91, 15, 9, GreyoutColor);
|
||||||
tft.drawBitmap(110, 5, RDSLogo, 67, 22, GreyoutColor);
|
tft.drawBitmap(139, 5, RDSLogo, 35, 22, GreyoutColor);
|
||||||
if (StereoToggle == false) {
|
if (StereoToggle == false) {
|
||||||
tft.drawCircle(86, 15, 10, SecondaryColor);
|
tft.drawCircle(86, 15, 10, SecondaryColor);
|
||||||
tft.drawCircle(86, 15, 9, SecondaryColor);
|
tft.drawCircle(86, 15, 9, SecondaryColor);
|
||||||
@@ -3789,9 +3846,9 @@ void BuildDisplay() {
|
|||||||
strcpy(radioIdPrevious, "0");
|
strcpy(radioIdPrevious, "0");
|
||||||
programServicePrevious = "0";
|
programServicePrevious = "0";
|
||||||
BWreset = true;
|
BWreset = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
void ShowFreq(int mode) {
|
void ShowFreq(int mode) {
|
||||||
if (screenmute == false) {
|
if (screenmute == false) {
|
||||||
if (setupmode == false) {
|
if (setupmode == false) {
|
||||||
if (band == 1) { // Fix Me :take care of 9K/10K Step
|
if (band == 1) { // Fix Me :take care of 9K/10K Step
|
||||||
@@ -3884,9 +3941,9 @@ void ShowFreq(int mode) {
|
|||||||
Udp.endPacket();
|
Udp.endPacket();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void ShowSignalLevel() {
|
void ShowSignalLevel() {
|
||||||
if (screenmute == false) {
|
if (screenmute == false) {
|
||||||
if (millis() >= snrupdatetimer + TIMER_SNR_TIMER) {
|
if (millis() >= snrupdatetimer + TIMER_SNR_TIMER) {
|
||||||
snrupdatetimer = millis();
|
snrupdatetimer = millis();
|
||||||
@@ -3953,18 +4010,18 @@ void ShowSignalLevel() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void ShowRDSLogo(bool RDSstatus) {
|
void ShowRDSLogo(bool RDSstatus) {
|
||||||
if (screenmute == false) {
|
if (screenmute == false) {
|
||||||
if (RDSstatus != RDSstatusold) {
|
if (RDSstatus != RDSstatusold) {
|
||||||
if (RDSstatus) tft.drawBitmap(110, 5, RDSLogo, 67, 22, SecondaryColor); else tft.drawBitmap(110, 5, RDSLogo, 67, 22, GreyoutColor);
|
if (RDSstatus) tft.drawBitmap(139, 5, RDSLogo, 35, 22, InsignificantColor); else tft.drawBitmap(139, 5, RDSLogo, 35, 22, GreyoutColor);
|
||||||
RDSstatusold = RDSstatus;
|
RDSstatusold = RDSstatus;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void ShowStereoStatus() {
|
void ShowStereoStatus() {
|
||||||
if (StereoToggle == true) {
|
if (StereoToggle == true) {
|
||||||
if (band == BAND_FM) Stereostatus = radio.getStereoStatus(); else Stereostatus = 0;
|
if (band == BAND_FM) Stereostatus = radio.getStereoStatus(); else Stereostatus = 0;
|
||||||
if (Stereostatus != Stereostatusold) {
|
if (Stereostatus != Stereostatusold) {
|
||||||
@@ -3984,9 +4041,9 @@ void ShowStereoStatus() {
|
|||||||
Stereostatusold = Stereostatus;
|
Stereostatusold = Stereostatus;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void ShowOffset() {
|
void ShowOffset() {
|
||||||
if (OStatus != OStatusold) {
|
if (OStatus != OStatusold) {
|
||||||
if (millis() >= offsetupdatetimer + TIMER_OFFSET_TIMER) {
|
if (millis() >= offsetupdatetimer + TIMER_OFFSET_TIMER) {
|
||||||
offsetupdatetimer = millis();
|
offsetupdatetimer = millis();
|
||||||
@@ -4085,9 +4142,9 @@ void ShowOffset() {
|
|||||||
}
|
}
|
||||||
OStatusold = OStatus;
|
OStatusold = OStatus;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void ShowBW() {
|
void ShowBW() {
|
||||||
if (millis() >= bwupdatetimer + TIMER_BW_TIMER) {
|
if (millis() >= bwupdatetimer + TIMER_BW_TIMER) {
|
||||||
bwupdatetimer = millis();
|
bwupdatetimer = millis();
|
||||||
} else {
|
} else {
|
||||||
@@ -4105,9 +4162,9 @@ void ShowBW() {
|
|||||||
Udp.endPacket();
|
Udp.endPacket();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void ShowModLevel() {
|
void ShowModLevel() {
|
||||||
if (showmodulation) {
|
if (showmodulation) {
|
||||||
int segments;
|
int segments;
|
||||||
|
|
||||||
@@ -4135,9 +4192,9 @@ void ShowModLevel() {
|
|||||||
peakholdmillis = millis();
|
peakholdmillis = millis();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void doSquelch() {
|
void doSquelch() {
|
||||||
if (XDRGTKUSB == false && XDRGTKTCP == false) {
|
if (XDRGTKUSB == false && XDRGTKTCP == false) {
|
||||||
Squelch = analogRead(PIN_POT) / 4 - 100;
|
Squelch = analogRead(PIN_POT) / 4 - 100;
|
||||||
if (Squelch > 920) Squelch = 920;
|
if (Squelch > 920) Squelch = 920;
|
||||||
@@ -4166,17 +4223,21 @@ void doSquelch() {
|
|||||||
if (Squelch != -1) {
|
if (Squelch != -1) {
|
||||||
if (Squelch < SStatus || Squelch == -100 || Squelch == 0) {
|
if (Squelch < SStatus || Squelch == -100 || Squelch == 0) {
|
||||||
radio.setUnMute();
|
radio.setUnMute();
|
||||||
|
if (screenmute == false) tft.drawBitmap(110, 5, Speaker, 26, 22, GreyoutColor);
|
||||||
SQ = false;
|
SQ = false;
|
||||||
} else {
|
} else {
|
||||||
radio.setMute();
|
radio.setMute();
|
||||||
|
if (screenmute == false) tft.drawBitmap(110, 5, Speaker, 26, 22, PrimaryColor);
|
||||||
SQ = true;
|
SQ = true;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (Stereostatus == true) {
|
if (Stereostatus == true) {
|
||||||
radio.setUnMute();
|
radio.setUnMute();
|
||||||
|
if (screenmute == false) tft.drawBitmap(110, 5, Speaker, 26, 22, GreyoutColor);
|
||||||
SQ = false;
|
SQ = false;
|
||||||
} else {
|
} else {
|
||||||
radio.setMute();
|
radio.setMute();
|
||||||
|
if (screenmute == false) tft.drawBitmap(110, 5, Speaker, 26, 22, PrimaryColor);
|
||||||
SQ = true;
|
SQ = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -4204,24 +4265,28 @@ void doSquelch() {
|
|||||||
if (seek == false && Squelch != 920) {
|
if (seek == false && Squelch != 920) {
|
||||||
if (Squelch < SStatus || Squelch == -100 || Squelch == 0) {
|
if (Squelch < SStatus || Squelch == -100 || Squelch == 0) {
|
||||||
radio.setUnMute();
|
radio.setUnMute();
|
||||||
|
if (screenmute == false) tft.drawBitmap(110, 5, Speaker, 26, 22, GreyoutColor);
|
||||||
SQ = false;
|
SQ = false;
|
||||||
} else {
|
} else {
|
||||||
radio.setMute();
|
radio.setMute();
|
||||||
|
if (screenmute == false) tft.drawBitmap(110, 5, Speaker, 26, 22, PrimaryColor);
|
||||||
SQ = true;
|
SQ = true;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (seek == false && Stereostatus == true) {
|
if (seek == false && Stereostatus == true) {
|
||||||
radio.setUnMute();
|
radio.setUnMute();
|
||||||
|
if (screenmute == false) tft.drawBitmap(110, 5, Speaker, 26, 22, GreyoutColor);
|
||||||
SQ = false;
|
SQ = false;
|
||||||
} else {
|
} else {
|
||||||
radio.setMute();
|
radio.setMute();
|
||||||
|
if (screenmute == false) tft.drawBitmap(110, 5, Speaker, 26, 22, PrimaryColor);
|
||||||
SQ = true;
|
SQ = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void updateBW() {
|
void updateBW() {
|
||||||
if (BWset == 0) {
|
if (BWset == 0) {
|
||||||
if (screenmute == false && advancedRDS == false && afscreen == false) {
|
if (screenmute == false && advancedRDS == false && afscreen == false) {
|
||||||
tft.drawRoundRect(248, 35, 70, 20, 5, ActiveColor);
|
tft.drawRoundRect(248, 35, 70, 20, 5, ActiveColor);
|
||||||
@@ -4234,9 +4299,9 @@ void updateBW() {
|
|||||||
tftPrint(0, "AUTO BW", 282, 38, GreyoutColor, BackgroundColor, FONT16);
|
tftPrint(0, "AUTO BW", 282, 38, GreyoutColor, BackgroundColor, FONT16);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void updateiMS() {
|
void updateiMS() {
|
||||||
if (band == BAND_FM) {
|
if (band == BAND_FM) {
|
||||||
if (iMSset == 0) {
|
if (iMSset == 0) {
|
||||||
if (screenmute == false) {
|
if (screenmute == false) {
|
||||||
@@ -4252,9 +4317,9 @@ void updateiMS() {
|
|||||||
radio.setiMS(0);
|
radio.setiMS(0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void updateEQ() {
|
void updateEQ() {
|
||||||
if (band == BAND_FM) {
|
if (band == BAND_FM) {
|
||||||
if (EQset == 0) {
|
if (EQset == 0) {
|
||||||
if (screenmute == false) {
|
if (screenmute == false) {
|
||||||
@@ -4270,9 +4335,9 @@ void updateEQ() {
|
|||||||
radio.setEQ(0);
|
radio.setEQ(0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void updateSWMIBand() {
|
void updateSWMIBand() {
|
||||||
switch (SWMIBandPos) {
|
switch (SWMIBandPos) {
|
||||||
case SW_MI_BAND_11M:
|
case SW_MI_BAND_11M:
|
||||||
case SW_MI_BAND_13M:
|
case SW_MI_BAND_13M:
|
||||||
@@ -4296,9 +4361,9 @@ void updateSWMIBand() {
|
|||||||
tftPrint(-1, SWMIBandstringold, 50, 51, BackgroundColor, BackgroundColor, FONT16);
|
tftPrint(-1, SWMIBandstringold, 50, 51, BackgroundColor, BackgroundColor, FONT16);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void doBW() {
|
void doBW() {
|
||||||
if (band == BAND_FM) {
|
if (band == BAND_FM) {
|
||||||
if (BWset > 16) BWset = 0;
|
if (BWset > 16) BWset = 0;
|
||||||
|
|
||||||
@@ -4390,9 +4455,9 @@ void doBW() {
|
|||||||
}
|
}
|
||||||
updateBW();
|
updateBW();
|
||||||
BWreset = true;
|
BWreset = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
void doTuneMode() {
|
void doTuneMode() {
|
||||||
switch (tunemode) {
|
switch (tunemode) {
|
||||||
case TUNE_MAN:
|
case TUNE_MAN:
|
||||||
if (band == BAND_FM) {
|
if (band == BAND_FM) {
|
||||||
@@ -4422,9 +4487,9 @@ void doTuneMode() {
|
|||||||
ShowFreq(0);
|
ShowFreq(0);
|
||||||
EEPROM.writeByte(EE_BYTE_TUNEMODE, tunemode);
|
EEPROM.writeByte(EE_BYTE_TUNEMODE, tunemode);
|
||||||
EEPROM.commit();
|
EEPROM.commit();
|
||||||
}
|
}
|
||||||
|
|
||||||
void ShowTuneMode() {
|
void ShowTuneMode() {
|
||||||
switch (tunemode) {
|
switch (tunemode) {
|
||||||
case TUNE_MAN:
|
case TUNE_MAN:
|
||||||
if (band == BAND_SW) {
|
if (band == BAND_SW) {
|
||||||
@@ -4486,9 +4551,9 @@ void ShowTuneMode() {
|
|||||||
tftPrint(0, "MEM", 22, 82, GreyoutColor, BackgroundColor, FONT16);
|
tftPrint(0, "MEM", 22, 82, GreyoutColor, BackgroundColor, FONT16);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void ShowRSSI() {
|
void ShowRSSI() {
|
||||||
if (wifi) rssi = WiFi.RSSI(); else rssi = 0;
|
if (wifi) rssi = WiFi.RSSI(); else rssi = 0;
|
||||||
if (rssiold != rssi) {
|
if (rssiold != rssi) {
|
||||||
rssiold = rssi;
|
rssiold = rssi;
|
||||||
@@ -4507,9 +4572,9 @@ void ShowRSSI() {
|
|||||||
tft.drawBitmap(272, 4, WiFi1, 25, 25, PrimaryColor);
|
tft.drawBitmap(272, 4, WiFi1, 25, 25, PrimaryColor);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void ShowBattery() {
|
void ShowBattery() {
|
||||||
if (millis() >= batupdatetimer + TIMER_BAT_TIMER) {
|
if (millis() >= batupdatetimer + TIMER_BAT_TIMER) {
|
||||||
batupdatetimer = millis();
|
batupdatetimer = millis();
|
||||||
} else {
|
} else {
|
||||||
@@ -4537,9 +4602,9 @@ void ShowBattery() {
|
|||||||
}
|
}
|
||||||
batteryold = battery;
|
batteryold = battery;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void Communication() {
|
void Communication() {
|
||||||
if (menu == false) {
|
if (menu == false) {
|
||||||
if (wifi) {
|
if (wifi) {
|
||||||
int packetSize = Udp.parsePacket();
|
int packetSize = Udp.parsePacket();
|
||||||
@@ -4689,15 +4754,15 @@ void Communication() {
|
|||||||
}
|
}
|
||||||
if (XDRGTKUSB || XDRGTKTCP) XDRGTKRoutine();
|
if (XDRGTKUSB || XDRGTKTCP) XDRGTKRoutine();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void DataPrint(String string) {
|
void DataPrint(String string) {
|
||||||
if (XDRGTKUSB) Serial.print(string);
|
if (XDRGTKUSB) Serial.print(string);
|
||||||
if (XDRGTKTCP) RemoteClient.print(string);
|
if (XDRGTKTCP) RemoteClient.print(string);
|
||||||
}
|
}
|
||||||
|
|
||||||
void XDRGTKRoutine() {
|
void XDRGTKRoutine() {
|
||||||
if (XDRGTKUSB) {
|
if (XDRGTKUSB) {
|
||||||
if (Serial.available())
|
if (Serial.available())
|
||||||
{
|
{
|
||||||
@@ -4992,10 +5057,12 @@ void XDRGTKRoutine() {
|
|||||||
VolSet = atoi(buff + 1);
|
VolSet = atoi(buff + 1);
|
||||||
if (VolSet == 0) {
|
if (VolSet == 0) {
|
||||||
radio.setMute();
|
radio.setMute();
|
||||||
|
if (screenmute == false) tft.drawBitmap(110, 5, Speaker, 26, 22, PrimaryColor);
|
||||||
XDRMute = true;
|
XDRMute = true;
|
||||||
SQ = true;
|
SQ = true;
|
||||||
} else {
|
} else {
|
||||||
radio.setUnMute();
|
radio.setUnMute();
|
||||||
|
if (screenmute == false) tft.drawBitmap(110, 5, Speaker, 26, 22, GreyoutColor);
|
||||||
radio.setVolume((VolSet - 40) / 10);
|
radio.setVolume((VolSet - 40) / 10);
|
||||||
XDRMute = false;
|
XDRMute = false;
|
||||||
}
|
}
|
||||||
@@ -5013,6 +5080,7 @@ void XDRGTKRoutine() {
|
|||||||
store = true;
|
store = true;
|
||||||
XDRMute = false;
|
XDRMute = false;
|
||||||
radio.setUnMute();
|
radio.setUnMute();
|
||||||
|
if (screenmute == false) tft.drawBitmap(110, 5, Speaker, 26, 22, GreyoutColor);
|
||||||
VolSet = EEPROM.readInt(EE_BYTE_VOLSET);
|
VolSet = EEPROM.readInt(EE_BYTE_VOLSET);
|
||||||
LowLevelSet = EEPROM.readInt(EE_BYTE_LOWLEVELSET);
|
LowLevelSet = EEPROM.readInt(EE_BYTE_LOWLEVELSET);
|
||||||
softmuteam = EEPROM.readByte(EE_BYTE_SOFTMUTEAM);
|
softmuteam = EEPROM.readByte(EE_BYTE_SOFTMUTEAM);
|
||||||
@@ -5071,9 +5139,9 @@ void XDRGTKRoutine() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
DataPrint(String(((SStatus * 100) + 10875) / 1000) + "." + String(((SStatus * 100) + 10875) / 100 % 10) + ", " + String(WAM / 10) + ", " + String(SNR) + "\n");
|
DataPrint(String(((SStatus * 100) + 10875) / 1000) + "." + String(((SStatus * 100) + 10875) / 100 % 10) + ", " + String(WAM / 10) + ", " + String(SNR) + "\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
void TuneUp() {
|
void TuneUp() {
|
||||||
aftest = true;
|
aftest = true;
|
||||||
aftimer = millis();
|
aftimer = millis();
|
||||||
unsigned int temp = 0;
|
unsigned int temp = 0;
|
||||||
@@ -5152,9 +5220,9 @@ void TuneUp() {
|
|||||||
radio.clearRDS(fullsearchrds);
|
radio.clearRDS(fullsearchrds);
|
||||||
if (RDSSPYUSB == true) Serial.print("G:\r\nRESET-------\r\n\r\n");
|
if (RDSSPYUSB == true) Serial.print("G:\r\nRESET-------\r\n\r\n");
|
||||||
if (RDSSPYTCP == true) RemoteClient.print("G:\r\nRESET-------\r\n\r\n");
|
if (RDSSPYTCP == true) RemoteClient.print("G:\r\nRESET-------\r\n\r\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
void TuneDown() {
|
void TuneDown() {
|
||||||
aftest = true;
|
aftest = true;
|
||||||
aftimer = millis();
|
aftimer = millis();
|
||||||
unsigned int temp = 0;
|
unsigned int temp = 0;
|
||||||
@@ -5233,17 +5301,24 @@ void TuneDown() {
|
|||||||
radio.clearRDS(fullsearchrds);
|
radio.clearRDS(fullsearchrds);
|
||||||
if (RDSSPYUSB == true) Serial.print("G:\r\nRESET-------\r\n\r\n");
|
if (RDSSPYUSB == true) Serial.print("G:\r\nRESET-------\r\n\r\n");
|
||||||
if (RDSSPYTCP == true) RemoteClient.print("G:\r\nRESET-------\r\n\r\n");
|
if (RDSSPYTCP == true) RemoteClient.print("G:\r\nRESET-------\r\n\r\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
void EdgeBeeper() {
|
void EdgeBeeper() {
|
||||||
bool x = radio.mute;
|
bool x = radio.mute;
|
||||||
radio.tone(50, -5, 2000);
|
radio.tone(50, -5, 2000);
|
||||||
if (x) radio.setMute(); else radio.setUnMute();
|
if (x) {
|
||||||
}
|
radio.setMute();
|
||||||
|
if (screenmute == false) tft.drawBitmap(110, 5, Speaker, 26, 22, PrimaryColor);
|
||||||
|
} else {
|
||||||
|
radio.setUnMute();
|
||||||
|
if (screenmute == false) tft.drawBitmap(110, 5, Speaker, 26, 22, GreyoutColor);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void Seek(bool mode) {
|
void Seek(bool mode) {
|
||||||
if (band == BAND_FM) {
|
if (band == BAND_FM) {
|
||||||
radio.setMute();
|
radio.setMute();
|
||||||
|
if (screenmute == false) tft.drawBitmap(110, 5, Speaker, 26, 22, PrimaryColor);
|
||||||
if (mode == false) TuneDown(); else TuneUp();
|
if (mode == false) TuneDown(); else TuneUp();
|
||||||
delay(50);
|
delay(50);
|
||||||
ShowFreq(0);
|
ShowFreq(0);
|
||||||
@@ -5255,6 +5330,7 @@ void Seek(bool mode) {
|
|||||||
if ((USN < 200) && (WAM < 230) && (OStatus < 80 && OStatus > -80) && (Squelch < SStatus || Squelch == 920)) {
|
if ((USN < 200) && (WAM < 230) && (OStatus < 80 && OStatus > -80) && (Squelch < SStatus || Squelch == 920)) {
|
||||||
seek = false;
|
seek = false;
|
||||||
radio.setUnMute();
|
radio.setUnMute();
|
||||||
|
if (screenmute == false) tft.drawBitmap(110, 5, Speaker, 26, 22, GreyoutColor);
|
||||||
store = true;
|
store = true;
|
||||||
} else {
|
} else {
|
||||||
seek = true;
|
seek = true;
|
||||||
@@ -5262,9 +5338,9 @@ void Seek(bool mode) {
|
|||||||
if (RDSSPYTCP == true) RemoteClient.print("G:\r\nRESET-------\r\n\r\n");
|
if (RDSSPYTCP == true) RemoteClient.print("G:\r\nRESET-------\r\n\r\n");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void SetTunerPatch() {
|
void SetTunerPatch() {
|
||||||
if (TEF != 101 && TEF != 102 && TEF != 205) {
|
if (TEF != 101 && TEF != 102 && TEF != 205) {
|
||||||
radio.init(102);
|
radio.init(102);
|
||||||
uint16_t device;
|
uint16_t device;
|
||||||
@@ -5275,16 +5351,16 @@ void SetTunerPatch() {
|
|||||||
tft.fillScreen(BackgroundColor);
|
tft.fillScreen(BackgroundColor);
|
||||||
analogWrite(CONTRASTPIN, ContrastSet * 2 + 27);
|
analogWrite(CONTRASTPIN, ContrastSet * 2 + 27);
|
||||||
|
|
||||||
if (TEF == 0) tftPrint(0, myLanguage[language][35], 150, 78, ActiveColor, ActiveColorSmooth, FONT28); else tftPrint(0, myLanguage[language][36], 150, 78, ActiveColor, ActiveColorSmooth, FONT28);
|
if (TEF == 0) tftPrint(0, myLanguage[language][35], 150, 78, ActiveColor, ActiveColorSmooth, FONT28); else tftPrint(0, myLanguage[language][36] + String(TEF), 150, 78, ActiveColor, ActiveColorSmooth, FONT28);
|
||||||
tftPrint(0, myLanguage[language][37], 150, 108, ActiveColor, ActiveColorSmooth, FONT28);
|
tftPrint(0, myLanguage[language][37], 150, 108, ActiveColor, ActiveColorSmooth, FONT28);
|
||||||
EEPROM.writeByte(EE_BYTE_TEF, TEF);
|
EEPROM.writeByte(EE_BYTE_TEF, TEF);
|
||||||
EEPROM.commit();
|
EEPROM.commit();
|
||||||
while (true);
|
while (true);
|
||||||
for (;;);
|
for (;;);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
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 = 0xFFE0;
|
PrimaryColor = 0xFFE0;
|
||||||
@@ -5296,7 +5372,7 @@ void doTheme() { // Use this to put your own colors in: http://www.barth-dev.de
|
|||||||
GreyoutColor = 0x38E7;
|
GreyoutColor = 0x38E7;
|
||||||
BackgroundColor = TFT_BLACK;
|
BackgroundColor = TFT_BLACK;
|
||||||
ActiveColor = 0xFFFF;
|
ActiveColor = 0xFFFF;
|
||||||
ActiveColorSmooth = 0x4208;
|
ActiveColorSmooth = 0x39E7;
|
||||||
SignificantColor = 0xF800;
|
SignificantColor = 0xF800;
|
||||||
SignificantColorSmooth = 0x7C00;
|
SignificantColorSmooth = 0x7C00;
|
||||||
InsignificantColor = 0x07E0;
|
InsignificantColor = 0x07E0;
|
||||||
@@ -5423,9 +5499,9 @@ void doTheme() { // Use this to put your own colors in: http://www.barth-dev.de
|
|||||||
CurrentThemeString = myLanguage[language][85];
|
CurrentThemeString = myLanguage[language][85];
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void read_encoder() {
|
void read_encoder() {
|
||||||
static uint8_t old_AB = 3;
|
static uint8_t old_AB = 3;
|
||||||
static int8_t encval = 0;
|
static int8_t encval = 0;
|
||||||
static const int8_t enc_states[] = {0, -1, 1, 0, 1, 0, 0, -1, -1, 0, 0, 1, 0, 1, -1, 0};
|
static const int8_t enc_states[] = {0, -1, 1, 0, 1, 0, 0, -1, -1, 0, 0, 1, 0, 1, -1, 0};
|
||||||
@@ -5453,9 +5529,9 @@ void read_encoder() {
|
|||||||
encval = 0;
|
encval = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void tryWiFi() {
|
void tryWiFi() {
|
||||||
if (!setupmode) {
|
if (!setupmode) {
|
||||||
tft.drawRoundRect(1, 60, 319, 140, 5, ActiveColor);
|
tft.drawRoundRect(1, 60, 319, 140, 5, ActiveColor);
|
||||||
tft.fillRoundRect(3, 62, 315, 136, 5, BackgroundColor);
|
tft.fillRoundRect(3, 62, 315, 136, 5, BackgroundColor);
|
||||||
@@ -5468,16 +5544,14 @@ void tryWiFi() {
|
|||||||
if (!setupmode) tftPrint(0, myLanguage[language][57], 155, 128, InsignificantColor, InsignificantColorSmooth, FONT28);
|
if (!setupmode) tftPrint(0, myLanguage[language][57], 155, 128, InsignificantColor, InsignificantColorSmooth, FONT28);
|
||||||
wifi = true;
|
wifi = true;
|
||||||
} else {
|
} else {
|
||||||
Server.end();
|
|
||||||
Udp.stop();
|
|
||||||
if (!setupmode) tftPrint(0, myLanguage[language][56], 155, 128, SignificantColor, SignificantColorSmooth, FONT28);
|
if (!setupmode) tftPrint(0, myLanguage[language][56], 155, 128, SignificantColor, SignificantColorSmooth, FONT28);
|
||||||
wifi = false;
|
wifi = false;
|
||||||
XDRGTKTCP = false;
|
XDRGTKTCP = false;
|
||||||
RDSSPYTCP = false;
|
RDSSPYTCP = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void passwordcrypt() {
|
void passwordcrypt() {
|
||||||
int generated = 0;
|
int generated = 0;
|
||||||
while (generated < 16)
|
while (generated < 16)
|
||||||
{
|
{
|
||||||
@@ -5489,9 +5563,9 @@ void passwordcrypt() {
|
|||||||
}
|
}
|
||||||
salt = saltkey + XDRGTK_key;
|
salt = saltkey + XDRGTK_key;
|
||||||
cryptedpassword = String(sha1(salt));
|
cryptedpassword = String(sha1(salt));
|
||||||
}
|
}
|
||||||
|
|
||||||
void DefaultSettings() {
|
void DefaultSettings() {
|
||||||
EEPROM.writeByte(EE_BYTE_CHECKBYTE, EE_CHECKBYTE_VALUE);
|
EEPROM.writeByte(EE_BYTE_CHECKBYTE, EE_CHECKBYTE_VALUE);
|
||||||
EEPROM.writeUInt(EE_UINT16_FREQUENCY_FM, 10000);
|
EEPROM.writeUInt(EE_UINT16_FREQUENCY_FM, 10000);
|
||||||
EEPROM.writeInt(EE_BYTE_VOLSET, 0);
|
EEPROM.writeInt(EE_BYTE_VOLSET, 0);
|
||||||
@@ -5552,9 +5626,9 @@ void DefaultSettings() {
|
|||||||
EEPROM.writeByte(EE_BYTE_AF, 0);
|
EEPROM.writeByte(EE_BYTE_AF, 0);
|
||||||
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) {
|
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.loadFont(font);
|
||||||
tft.setTextColor(color, smoothcolor, false);
|
tft.setTextColor(color, smoothcolor, false);
|
||||||
switch (offset) {
|
switch (offset) {
|
||||||
@@ -5564,9 +5638,9 @@ void tftPrint(int8_t offset, const String & text, int16_t x, int16_t y, int colo
|
|||||||
}
|
}
|
||||||
tft.drawString(text, x, y, 1);
|
tft.drawString(text, x, y, 1);
|
||||||
tft.unloadFont();
|
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) {
|
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);
|
tft.setTextColor(BackgroundColor, BackgroundColor, false);
|
||||||
switch (offset) {
|
switch (offset) {
|
||||||
@@ -5583,4 +5657,4 @@ void tftReplace(int8_t offset, const String & textold, const String & text, int1
|
|||||||
}
|
}
|
||||||
tft.drawString(text, x, y);
|
tft.drawString(text, x, y);
|
||||||
tft.unloadFont();
|
tft.unloadFont();
|
||||||
}
|
}
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
+5755
-6030
File diff suppressed because it is too large
Load Diff
+14094
-14704
File diff suppressed because it is too large
Load Diff
@@ -618,7 +618,6 @@ void TEF6686::readRDS(bool showrdserrors)
|
|||||||
RDScharConverter(rt_buffer, RTtext, sizeof(RTtext) / sizeof(wchar_t), true); // Convert 8 bit ASCII to 16 bit ASCII
|
RDScharConverter(rt_buffer, RTtext, sizeof(RTtext) / sizeof(wchar_t), true); // Convert 8 bit ASCII to 16 bit ASCII
|
||||||
rds.stationText = convertToUTF8(RTtext); // Convert RDS characterset to ASCII
|
rds.stationText = convertToUTF8(RTtext); // Convert RDS characterset to ASCII
|
||||||
rds.stationText = extractUTF8Substring(rds.stationText, 0, 64, true); // Make sure RT does not exceed 64 characters
|
rds.stationText = extractUTF8Substring(rds.stationText, 0, 64, true); // Make sure RT does not exceed 64 characters
|
||||||
rds.stationText += " "; // Add extra spaces
|
|
||||||
|
|
||||||
for (int i = 0; i < 64; i++) rt_buffer2[i] = rt_buffer[i];
|
for (int i = 0; i < 64; i++) rt_buffer2[i] = rt_buffer[i];
|
||||||
}
|
}
|
||||||
@@ -646,7 +645,6 @@ void TEF6686::readRDS(bool showrdserrors)
|
|||||||
RDScharConverter(rt_buffer32, RTtext, sizeof(RTtext) / sizeof(wchar_t), true); // Convert 8 bit ASCII to 16 bit ASCII
|
RDScharConverter(rt_buffer32, RTtext, sizeof(RTtext) / sizeof(wchar_t), true); // Convert 8 bit ASCII to 16 bit ASCII
|
||||||
rds.stationText32 = convertToUTF8(RTtext); // Convert RDS characterset to ASCII
|
rds.stationText32 = convertToUTF8(RTtext); // Convert RDS characterset to ASCII
|
||||||
rds.stationText32 = extractUTF8Substring(rds.stationText32, 0, 32, true); // Make sure RT does not exceed 32 characters
|
rds.stationText32 = extractUTF8Substring(rds.stationText32, 0, 32, true); // Make sure RT does not exceed 32 characters
|
||||||
rds.stationText32 += " "; // Add extra spaces
|
|
||||||
}
|
}
|
||||||
} break;
|
} break;
|
||||||
|
|
||||||
|
|||||||
+147
-122
@@ -179,138 +179,163 @@ static const uint8_t TEFLogo[] PROGMEM = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
static const uint8_t RDSLogo[] PROGMEM = {
|
static const uint8_t RDSLogo[] PROGMEM = {
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa0, 0x00,
|
0x01, 0xfe, 0x0f, 0xf0, 0x00,
|
||||||
0x07, 0xfc, 0x00, 0x1f, 0xe8, 0x00, 0x03, 0xf8, 0x00,
|
0x07, 0x03, 0xb8, 0x1c, 0x00,
|
||||||
0x07, 0xff, 0x00, 0x1f, 0xfc, 0x00, 0x0f, 0xfe, 0x00,
|
0x0c, 0xfc, 0xe7, 0xe6, 0x00,
|
||||||
0x0f, 0xff, 0x80, 0x3f, 0xff, 0x00, 0x1f, 0xfc, 0x00,
|
0x1b, 0x86, 0xdc, 0x3b, 0x00,
|
||||||
0x0f, 0xff, 0xc0, 0x1f, 0xff, 0x00, 0x3f, 0xf8, 0x00,
|
0x36, 0x79, 0xb3, 0xcd, 0x80,
|
||||||
0x0f, 0x8f, 0xc0, 0x3e, 0x3f, 0x80, 0x3e, 0x10, 0x00,
|
0x6d, 0xff, 0x6f, 0xf6, 0xc0,
|
||||||
0x0f, 0x0f, 0x80, 0x3e, 0x0f, 0xc0, 0x3e, 0x00, 0x00,
|
0x5b, 0xfe, 0xdf, 0xfb, 0x40,
|
||||||
0x1f, 0x0f, 0x80, 0x3c, 0x0f, 0x80, 0x7e, 0x00, 0x00,
|
0x57, 0xfe, 0xbf, 0xfd, 0x60,
|
||||||
0x1f, 0x0f, 0x9c, 0x7e, 0x0f, 0xce, 0x7f, 0x80, 0x00,
|
0xd7, 0xfd, 0xbf, 0xfd, 0x60,
|
||||||
0x1f, 0xbf, 0x1e, 0x7c, 0x07, 0xce, 0x3f, 0xf0, 0x00,
|
0xb7, 0xcd, 0x7e, 0x7d, 0xa0,
|
||||||
0x1f, 0xfe, 0x1c, 0x7c, 0x0f, 0x9e, 0x3f, 0xf8, 0x00,
|
0xff, 0x85, 0x7c, 0x3f, 0xe0,
|
||||||
0x1f, 0xfc, 0x1c, 0x7c, 0x0f, 0x9c, 0x1f, 0xf8, 0x00,
|
0xff, 0x85, 0x7c, 0x3f, 0xe0,
|
||||||
0x3f, 0xf0, 0x3c, 0x78, 0x0f, 0x9c, 0x03, 0xf8, 0x00,
|
0xfa, 0x4d, 0x7e, 0x4b, 0xe0,
|
||||||
0x3e, 0xf8, 0x10, 0xf8, 0x1f, 0x14, 0x00, 0xf8, 0x00,
|
0xf9, 0x3b, 0x7f, 0xd3, 0xe0,
|
||||||
0x3e, 0xf8, 0x00, 0xf8, 0x3f, 0x00, 0x00, 0xf8, 0x00,
|
0x7d, 0x86, 0xfc, 0x37, 0xc0,
|
||||||
0x3e, 0x7c, 0x00, 0xf8, 0xfe, 0x00, 0xe1, 0xf8, 0x00,
|
0x7e, 0x7d, 0xfb, 0xcf, 0xc0,
|
||||||
0x3c, 0x7e, 0x00, 0xff, 0xfc, 0x00, 0xf7, 0xf0, 0x00,
|
0x7f, 0x03, 0xf8, 0x1f, 0xc0,
|
||||||
0x7c, 0x7e, 0x01, 0xff, 0xf8, 0x01, 0xff, 0xe0, 0x00,
|
0x3f, 0xff, 0xff, 0xff, 0x80,
|
||||||
0x7c, 0x3f, 0x01, 0xff, 0xe0, 0x03, 0xff, 0xe0, 0x00,
|
0x1f, 0xff, 0xff, 0xff, 0x00,
|
||||||
0x7c, 0x3f, 0x01, 0xff, 0x80, 0x00, 0xff, 0x80, 0x00,
|
0x0f, 0xff, 0xff, 0xfe, 0x00,
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00,
|
0x07, 0xff, 0xbf, 0xfc, 0x00,
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
0x01, 0xfe, 0x0f, 0xf0, 0x00
|
||||||
|
};
|
||||||
|
|
||||||
|
static const uint8_t Speaker[] PROGMEM = {
|
||||||
|
0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x18, 0x00, 0x00,
|
||||||
|
0x00, 0x38, 0x00, 0x00,
|
||||||
|
0x00, 0xf8, 0x00, 0x00,
|
||||||
|
0x01, 0xf8, 0x00, 0x00,
|
||||||
|
0xff, 0xf8, 0x00, 0x00,
|
||||||
|
0xff, 0xf8, 0x40, 0x80,
|
||||||
|
0xff, 0xf8, 0xe1, 0xc0,
|
||||||
|
0xff, 0xf8, 0x73, 0x80,
|
||||||
|
0xff, 0xf8, 0x3f, 0x00,
|
||||||
|
0xff, 0xf8, 0x1e, 0x00,
|
||||||
|
0xff, 0xf8, 0x1e, 0x00,
|
||||||
|
0xff, 0xf8, 0x3f, 0x00,
|
||||||
|
0xff, 0xf8, 0x73, 0x80,
|
||||||
|
0xff, 0xf8, 0xe1, 0xc0,
|
||||||
|
0xff, 0xf8, 0x40, 0x80,
|
||||||
|
0xff, 0xf8, 0x00, 0x00,
|
||||||
|
0x01, 0xf8, 0x00, 0x00,
|
||||||
|
0x00, 0xf8, 0x00, 0x00,
|
||||||
|
0x00, 0x38, 0x00, 0x00,
|
||||||
|
0x00, 0x18, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00
|
||||||
};
|
};
|
||||||
|
|
||||||
static const uint8_t WiFi1[] PROGMEM = {
|
static const uint8_t WiFi1[] PROGMEM = {
|
||||||
0x00, 0x00, 0x00, 0x00,
|
0x00, 0x00, 0x00, 0x00,
|
||||||
0x00, 0x00, 0x00, 0x00,
|
0x00, 0x00, 0x00, 0x00,
|
||||||
0x00, 0x00, 0x00, 0x00,
|
0x00, 0x00, 0x00, 0x00,
|
||||||
0x00, 0x00, 0x00, 0x00,
|
0x00, 0x00, 0x00, 0x00,
|
||||||
0x00, 0x00, 0x00, 0x00,
|
0x00, 0x00, 0x00, 0x00,
|
||||||
0x00, 0x00, 0x00, 0x00,
|
0x00, 0x00, 0x00, 0x00,
|
||||||
0x00, 0x00, 0x00, 0x00,
|
0x00, 0x00, 0x00, 0x00,
|
||||||
0x00, 0x00, 0x00, 0x00,
|
0x00, 0x00, 0x00, 0x00,
|
||||||
0x00, 0x00, 0x00, 0x00,
|
0x00, 0x00, 0x00, 0x00,
|
||||||
0x00, 0x00, 0x00, 0x00,
|
0x00, 0x00, 0x00, 0x00,
|
||||||
0x00, 0x00, 0x00, 0x00,
|
0x00, 0x00, 0x00, 0x00,
|
||||||
0x00, 0x00, 0x00, 0x00,
|
0x00, 0x00, 0x00, 0x00,
|
||||||
0x00, 0x00, 0x00, 0x00,
|
0x00, 0x00, 0x00, 0x00,
|
||||||
0x00, 0x00, 0x00, 0x00,
|
0x00, 0x00, 0x00, 0x00,
|
||||||
0x00, 0x00, 0x00, 0x00,
|
0x00, 0x00, 0x00, 0x00,
|
||||||
0x00, 0x00, 0x00, 0x00,
|
0x00, 0x00, 0x00, 0x00,
|
||||||
0x00, 0x00, 0x00, 0x00,
|
0x00, 0x00, 0x00, 0x00,
|
||||||
0x00, 0x00, 0x00, 0x00,
|
0x00, 0x00, 0x00, 0x00,
|
||||||
0x00, 0x00, 0x00, 0x00,
|
0x00, 0x00, 0x00, 0x00,
|
||||||
0x00, 0x00, 0x00, 0x00,
|
0x00, 0x00, 0x00, 0x00,
|
||||||
0x00, 0x00, 0x00, 0x00,
|
0x00, 0x00, 0x00, 0x00,
|
||||||
0x00, 0x08, 0x00, 0x00,
|
0x00, 0x08, 0x00, 0x00,
|
||||||
0x00, 0x3c, 0x00, 0x00,
|
0x00, 0x3c, 0x00, 0x00,
|
||||||
0x00, 0x1c, 0x00, 0x00,
|
0x00, 0x1c, 0x00, 0x00,
|
||||||
0x00, 0x18, 0x00, 0x00
|
0x00, 0x18, 0x00, 0x00
|
||||||
};
|
};
|
||||||
|
|
||||||
static const uint8_t WiFi2[] PROGMEM = {
|
static const uint8_t WiFi2[] PROGMEM = {
|
||||||
0x00, 0x00, 0x00, 0x00,
|
0x00, 0x00, 0x00, 0x00,
|
||||||
0x00, 0x00, 0x00, 0x00,
|
0x00, 0x00, 0x00, 0x00,
|
||||||
0x00, 0x00, 0x00, 0x00,
|
0x00, 0x00, 0x00, 0x00,
|
||||||
0x00, 0x00, 0x00, 0x00,
|
0x00, 0x00, 0x00, 0x00,
|
||||||
0x00, 0x00, 0x00, 0x00,
|
0x00, 0x00, 0x00, 0x00,
|
||||||
0x00, 0x00, 0x00, 0x00,
|
0x00, 0x00, 0x00, 0x00,
|
||||||
0x00, 0x00, 0x00, 0x00,
|
0x00, 0x00, 0x00, 0x00,
|
||||||
0x00, 0x00, 0x00, 0x00,
|
0x00, 0x00, 0x00, 0x00,
|
||||||
0x00, 0x00, 0x00, 0x00,
|
0x00, 0x00, 0x00, 0x00,
|
||||||
0x00, 0x00, 0x00, 0x00,
|
0x00, 0x00, 0x00, 0x00,
|
||||||
0x00, 0x00, 0x00, 0x00,
|
0x00, 0x00, 0x00, 0x00,
|
||||||
0x00, 0x00, 0x00, 0x00,
|
0x00, 0x00, 0x00, 0x00,
|
||||||
0x00, 0x00, 0x00, 0x00,
|
0x00, 0x00, 0x00, 0x00,
|
||||||
0x00, 0x00, 0x00, 0x00,
|
0x00, 0x00, 0x00, 0x00,
|
||||||
0x00, 0x38, 0x00, 0x00,
|
0x00, 0x38, 0x00, 0x00,
|
||||||
0x00, 0xff, 0x00, 0x00,
|
0x00, 0xff, 0x00, 0x00,
|
||||||
0x01, 0xff, 0x80, 0x00,
|
0x01, 0xff, 0x80, 0x00,
|
||||||
0x03, 0xff, 0x80, 0x00,
|
0x03, 0xff, 0x80, 0x00,
|
||||||
0x03, 0xe7, 0x80, 0x00,
|
0x03, 0xe7, 0x80, 0x00,
|
||||||
0x01, 0x83, 0x80, 0x00,
|
0x01, 0x83, 0x80, 0x00,
|
||||||
0x00, 0x00, 0x00, 0x00,
|
0x00, 0x00, 0x00, 0x00,
|
||||||
0x00, 0x18, 0x00, 0x00,
|
0x00, 0x18, 0x00, 0x00,
|
||||||
0x00, 0x3c, 0x00, 0x00,
|
0x00, 0x3c, 0x00, 0x00,
|
||||||
0x00, 0x3c, 0x00, 0x00,
|
0x00, 0x3c, 0x00, 0x00,
|
||||||
0x00, 0x18, 0x00, 0x00
|
0x00, 0x18, 0x00, 0x00
|
||||||
};
|
};
|
||||||
|
|
||||||
static const uint8_t WiFi3[] PROGMEM = {
|
static const uint8_t WiFi3[] PROGMEM = {
|
||||||
0x00, 0x00, 0x00, 0x00,
|
0x00, 0x00, 0x00, 0x00,
|
||||||
0x00, 0x00, 0x00, 0x00,
|
0x00, 0x00, 0x00, 0x00,
|
||||||
0x00, 0x00, 0x00, 0x00,
|
0x00, 0x00, 0x00, 0x00,
|
||||||
0x00, 0x00, 0x00, 0x00,
|
0x00, 0x00, 0x00, 0x00,
|
||||||
0x00, 0x00, 0x00, 0x00,
|
0x00, 0x00, 0x00, 0x00,
|
||||||
0x00, 0x00, 0x00, 0x00,
|
0x00, 0x00, 0x00, 0x00,
|
||||||
0x00, 0x00, 0x00, 0x00,
|
0x00, 0x00, 0x00, 0x00,
|
||||||
0x00, 0x7f, 0x00, 0x00,
|
0x00, 0x7f, 0x00, 0x00,
|
||||||
0x01, 0x80, 0xc0, 0x00,
|
0x01, 0x80, 0xc0, 0x00,
|
||||||
0x02, 0x00, 0x20, 0x00,
|
0x02, 0x00, 0x20, 0x00,
|
||||||
0x04, 0x7e, 0x10, 0x00,
|
0x04, 0x7e, 0x10, 0x00,
|
||||||
0x09, 0x80, 0x88, 0x00,
|
0x09, 0x80, 0x88, 0x00,
|
||||||
0x03, 0x00, 0x48, 0x00,
|
0x03, 0x00, 0x48, 0x00,
|
||||||
0x0c, 0x00, 0x20, 0x00,
|
0x0c, 0x00, 0x20, 0x00,
|
||||||
0x04, 0x3e, 0x10, 0x00,
|
0x04, 0x3e, 0x10, 0x00,
|
||||||
0x00, 0xc1, 0x00, 0x00,
|
0x00, 0xc1, 0x00, 0x00,
|
||||||
0x01, 0x00, 0xc0, 0x00,
|
0x01, 0x00, 0xc0, 0x00,
|
||||||
0x01, 0x36, 0x40, 0x00,
|
0x01, 0x36, 0x40, 0x00,
|
||||||
0x01, 0x43, 0x80, 0x00,
|
0x01, 0x43, 0x80, 0x00,
|
||||||
0x00, 0x80, 0x80, 0x00,
|
0x00, 0x80, 0x80, 0x00,
|
||||||
0x00, 0x00, 0x00, 0x00,
|
0x00, 0x00, 0x00, 0x00,
|
||||||
0x00, 0x1c, 0x00, 0x00,
|
0x00, 0x1c, 0x00, 0x00,
|
||||||
0x00, 0x04, 0x00, 0x00,
|
0x00, 0x04, 0x00, 0x00,
|
||||||
0x00, 0x10, 0x00, 0x00,
|
0x00, 0x10, 0x00, 0x00,
|
||||||
0x00, 0x08, 0x00, 0x00
|
0x00, 0x08, 0x00, 0x00
|
||||||
};
|
};
|
||||||
|
|
||||||
static const uint8_t WiFi4[] PROGMEM = {
|
static const uint8_t WiFi4[] PROGMEM = {
|
||||||
0x00, 0xff, 0x80, 0x00,
|
0x00, 0xff, 0x80, 0x00,
|
||||||
0x03, 0xff, 0xe0, 0x00,
|
0x03, 0xff, 0xe0, 0x00,
|
||||||
0x0f, 0xff, 0xf8, 0x00,
|
0x0f, 0xff, 0xf8, 0x00,
|
||||||
0x1f, 0xff, 0xfc, 0x00,
|
0x1f, 0xff, 0xfc, 0x00,
|
||||||
0x3f, 0xc1, 0xfe, 0x00,
|
0x3f, 0xc1, 0xfe, 0x00,
|
||||||
0x7e, 0x00, 0x3f, 0x80,
|
0x7e, 0x00, 0x3f, 0x80,
|
||||||
0xfc, 0x00, 0x0f, 0x80,
|
0xfc, 0x00, 0x0f, 0x80,
|
||||||
0xf0, 0x7f, 0x07, 0x80,
|
0xf0, 0x7f, 0x07, 0x80,
|
||||||
0x61, 0xff, 0xc3, 0x80,
|
0x61, 0xff, 0xc3, 0x80,
|
||||||
0x63, 0xff, 0xe1, 0x00,
|
0x63, 0xff, 0xe1, 0x00,
|
||||||
0x07, 0xff, 0xf0, 0x00,
|
0x07, 0xff, 0xf0, 0x00,
|
||||||
0x0f, 0xc0, 0xf8, 0x00,
|
0x0f, 0xc0, 0xf8, 0x00,
|
||||||
0x0f, 0x00, 0x7c, 0x00,
|
0x0f, 0x00, 0x7c, 0x00,
|
||||||
0x0e, 0x00, 0x38, 0x00,
|
0x0e, 0x00, 0x38, 0x00,
|
||||||
0x04, 0x3e, 0x08, 0x00,
|
0x04, 0x3e, 0x08, 0x00,
|
||||||
0x00, 0x7f, 0x80, 0x00,
|
0x00, 0x7f, 0x80, 0x00,
|
||||||
0x01, 0xff, 0xc0, 0x00,
|
0x01, 0xff, 0xc0, 0x00,
|
||||||
0x01, 0xff, 0xc0, 0x00,
|
0x01, 0xff, 0xc0, 0x00,
|
||||||
0x00, 0xe1, 0xc0, 0x00,
|
0x00, 0xe1, 0xc0, 0x00,
|
||||||
0x00, 0x80, 0x80, 0x00,
|
0x00, 0x80, 0x80, 0x00,
|
||||||
0x00, 0x00, 0x00, 0x00,
|
0x00, 0x00, 0x00, 0x00,
|
||||||
0x00, 0x1c, 0x00, 0x00,
|
0x00, 0x1c, 0x00, 0x00,
|
||||||
0x00, 0x1e, 0x00, 0x00,
|
0x00, 0x1e, 0x00, 0x00,
|
||||||
0x00, 0x1c, 0x00, 0x00,
|
0x00, 0x1c, 0x00, 0x00,
|
||||||
0x00, 0x08, 0x00, 0x00
|
0x00, 0x08, 0x00, 0x00
|
||||||
};
|
};
|
||||||
Reference in New Issue
Block a user