You've already forked TEF6686_ESP32
Added some new features
- You can now disable the squelch indicator in the menu - You can now disable the modulation meter. This can help stop disturbtion on weak signals - Added FM and AM noiseblanker - Fix for LW, lowest frequency set to 144kHz.
This commit is contained in:
@@ -54,6 +54,9 @@ bool RDSSPYTCP;
|
|||||||
bool BWreset;
|
bool BWreset;
|
||||||
bool change2;
|
bool change2;
|
||||||
bool cleanup;
|
bool cleanup;
|
||||||
|
bool showsquelch;
|
||||||
|
byte amnb;
|
||||||
|
byte fmnb;
|
||||||
bool direction;
|
bool direction;
|
||||||
bool dropout;
|
bool dropout;
|
||||||
bool EONold;
|
bool EONold;
|
||||||
@@ -155,6 +158,7 @@ int Squelch;
|
|||||||
int Squelchold;
|
int Squelchold;
|
||||||
int SStatusold;
|
int SStatusold;
|
||||||
byte StereoLevel;
|
byte StereoLevel;
|
||||||
|
byte showmodulation;
|
||||||
int Stereostatus;
|
int Stereostatus;
|
||||||
int VolSet;
|
int VolSet;
|
||||||
int volume;
|
int volume;
|
||||||
@@ -223,9 +227,9 @@ WiFiUDP Udp;
|
|||||||
|
|
||||||
void setup() {
|
void setup() {
|
||||||
setupmode = true;
|
setupmode = true;
|
||||||
EEPROM.begin(244);
|
EEPROM.begin(248);
|
||||||
if (EEPROM.readByte(43) != 26) {
|
if (EEPROM.readByte(43) != 27) {
|
||||||
EEPROM.writeByte(43, 26);
|
EEPROM.writeByte(43, 27);
|
||||||
EEPROM.writeUInt(0, 10000);
|
EEPROM.writeUInt(0, 10000);
|
||||||
EEPROM.writeInt(4, 0);
|
EEPROM.writeInt(4, 0);
|
||||||
EEPROM.writeUInt(8, 0);
|
EEPROM.writeUInt(8, 0);
|
||||||
@@ -267,7 +271,10 @@ void setup() {
|
|||||||
EEPROM.writeUInt(225, 540);
|
EEPROM.writeUInt(225, 540);
|
||||||
EEPROM.writeUInt(229, 1800);
|
EEPROM.writeUInt(229, 1800);
|
||||||
EEPROM.writeString(233, "password");
|
EEPROM.writeString(233, "password");
|
||||||
|
EEPROM.writeByte(244, 1);
|
||||||
|
EEPROM.writeByte(245, 1);
|
||||||
|
EEPROM.writeByte(246, 0);
|
||||||
|
EEPROM.writeByte(247, 0);
|
||||||
EEPROM.commit();
|
EEPROM.commit();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -310,6 +317,10 @@ void setup() {
|
|||||||
frequency_MW = EEPROM.readUInt(225);
|
frequency_MW = EEPROM.readUInt(225);
|
||||||
frequency_SW = EEPROM.readUInt(229);
|
frequency_SW = EEPROM.readUInt(229);
|
||||||
XDRGTK_key = EEPROM.readString(233);
|
XDRGTK_key = EEPROM.readString(233);
|
||||||
|
showsquelch = EEPROM.readByte(244);
|
||||||
|
showmodulation = EEPROM.readByte(245);
|
||||||
|
amnb = EEPROM.readByte(246);
|
||||||
|
fmnb = EEPROM.readByte(247);
|
||||||
|
|
||||||
LWLowEdgeSet = FREQ_LW_LOW_EDGE_MIN; // later will read from flash
|
LWLowEdgeSet = FREQ_LW_LOW_EDGE_MIN; // later will read from flash
|
||||||
LWHighEdgeSet = FREQ_LW_HIGH_EDGE_MAX; // later will read from flash
|
LWHighEdgeSet = FREQ_LW_HIGH_EDGE_MAX; // later will read from flash
|
||||||
@@ -484,6 +495,8 @@ void setup() {
|
|||||||
radio.setMute();
|
radio.setMute();
|
||||||
radio.setSoftmuteFM(softmutefm);
|
radio.setSoftmuteFM(softmutefm);
|
||||||
radio.setSoftmuteAM(softmuteam);
|
radio.setSoftmuteAM(softmuteam);
|
||||||
|
radio.setAMNoiseBlanker(amnb);
|
||||||
|
radio.setFMNoiseBlanker(fmnb);
|
||||||
if (region == 1) radio.setDeemphasis(2);
|
if (region == 1) radio.setDeemphasis(2);
|
||||||
radio.rds.region = region;
|
radio.rds.region = region;
|
||||||
LowLevelInit = true;
|
LowLevelInit = true;
|
||||||
@@ -523,14 +536,16 @@ void loop() {
|
|||||||
if (screenmute == false) {
|
if (screenmute == false) {
|
||||||
tft.setFreeFont(FONT7);
|
tft.setFreeFont(FONT7);
|
||||||
tft.setTextColor(TFT_WHITE);
|
tft.setTextColor(TFT_WHITE);
|
||||||
tft.drawString("20", 20, 146, GFXFF);
|
if (showmodulation) {
|
||||||
tft.drawString("40", 50, 146, GFXFF);
|
tft.drawString("20", 20, 146, GFXFF);
|
||||||
tft.drawString("60", 80, 146, GFXFF);
|
tft.drawString("40", 50, 146, GFXFF);
|
||||||
tft.drawString("80", 110, 146, GFXFF);
|
tft.drawString("60", 80, 146, GFXFF);
|
||||||
tft.drawString("100", 134, 146, GFXFF);
|
tft.drawString("80", 110, 146, GFXFF);
|
||||||
tft.drawString("120", 164, 146, GFXFF);
|
tft.drawString("100", 134, 146, GFXFF);
|
||||||
tft.drawString("%", 196, 146, GFXFF);
|
tft.drawString("120", 164, 146, GFXFF);
|
||||||
tft.drawString("M", 6, 132, GFXFF);
|
tft.drawString("%", 196, 146, GFXFF);
|
||||||
|
tft.drawString("M", 6, 132, GFXFF);
|
||||||
|
}
|
||||||
if (region == 0) tft.drawString("PI:", 216, 191, GFXFF);
|
if (region == 0) tft.drawString("PI:", 216, 191, GFXFF);
|
||||||
if (region == 1) tft.drawString("ID:", 216, 191, GFXFF);
|
if (region == 1) tft.drawString("ID:", 216, 191, GFXFF);
|
||||||
tft.drawString("PS:", 6, 191, GFXFF);
|
tft.drawString("PS:", 6, 191, GFXFF);
|
||||||
@@ -558,14 +573,16 @@ void loop() {
|
|||||||
tft.fillRect(174, 139, 12, 8, TFT_GREYOUT);
|
tft.fillRect(174, 139, 12, 8, TFT_GREYOUT);
|
||||||
tft.fillRect(188, 139, 12, 8, TFT_GREYOUT);
|
tft.fillRect(188, 139, 12, 8, TFT_GREYOUT);
|
||||||
tft.setTextColor(TFT_GREYOUT);
|
tft.setTextColor(TFT_GREYOUT);
|
||||||
tft.drawString("20", 20, 146, GFXFF);
|
if (showmodulation) {
|
||||||
tft.drawString("40", 50, 146, GFXFF);
|
tft.drawString("20", 20, 146, GFXFF);
|
||||||
tft.drawString("60", 80, 146, GFXFF);
|
tft.drawString("40", 50, 146, GFXFF);
|
||||||
tft.drawString("80", 110, 146, GFXFF);
|
tft.drawString("60", 80, 146, GFXFF);
|
||||||
tft.drawString("100", 134, 146, GFXFF);
|
tft.drawString("80", 110, 146, GFXFF);
|
||||||
tft.drawString("120", 164, 146, GFXFF);
|
tft.drawString("100", 134, 146, GFXFF);
|
||||||
tft.drawString("%", 196, 146, GFXFF);
|
tft.drawString("120", 164, 146, GFXFF);
|
||||||
tft.drawString("M", 6, 132, GFXFF);
|
tft.drawString("%", 196, 146, GFXFF);
|
||||||
|
tft.drawString("M", 6, 132, GFXFF);
|
||||||
|
}
|
||||||
if (region == 0) tft.drawString("PI:", 216, 191, GFXFF);
|
if (region == 0) tft.drawString("PI:", 216, 191, GFXFF);
|
||||||
if (region == 1) tft.drawString("ID:", 216, 191, GFXFF);
|
if (region == 1) tft.drawString("ID:", 216, 191, GFXFF);
|
||||||
tft.drawString("PS:", 6, 191, GFXFF);
|
tft.drawString("PS:", 6, 191, GFXFF);
|
||||||
@@ -1227,6 +1244,10 @@ void ModeButtonPress() {
|
|||||||
EEPROM.writeByte(57, showSWMIBand);
|
EEPROM.writeByte(57, showSWMIBand);
|
||||||
EEPROM.writeByte(58, radio.rds.filter);
|
EEPROM.writeByte(58, radio.rds.filter);
|
||||||
EEPROM.writeByte(59, radio.rds.dynamicpi);
|
EEPROM.writeByte(59, radio.rds.dynamicpi);
|
||||||
|
EEPROM.writeByte(244, showsquelch);
|
||||||
|
EEPROM.writeByte(245, showmodulation);
|
||||||
|
EEPROM.writeByte(246, amnb);
|
||||||
|
EEPROM.writeByte(247, fmnb);
|
||||||
EEPROM.commit();
|
EEPROM.commit();
|
||||||
Serial.end();
|
Serial.end();
|
||||||
if (wifi) remoteip = IPAddress (WiFi.localIP()[0], WiFi.localIP()[1], WiFi.localIP()[2], subnetclient);
|
if (wifi) remoteip = IPAddress (WiFi.localIP()[0], WiFi.localIP()[1], WiFi.localIP()[2], subnetclient);
|
||||||
@@ -1567,6 +1588,36 @@ void ButtonPress() {
|
|||||||
tft.setTextColor(TFT_YELLOW);
|
tft.setTextColor(TFT_YELLOW);
|
||||||
if (radio.rds.dynamicpi) tft.drawCentreString(myLanguage[language][42], 155, 110, GFXFF); else tft.drawCentreString(myLanguage[language][30], 155, 110, GFXFF);
|
if (radio.rds.dynamicpi) tft.drawCentreString(myLanguage[language][42], 155, 110, GFXFF); else tft.drawCentreString(myLanguage[language][30], 155, 110, GFXFF);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case 110:
|
||||||
|
tft.setTextColor(TFT_WHITE);
|
||||||
|
tft.drawCentreString(myLanguage[language][62], 155, 70, GFXFF);
|
||||||
|
tft.setTextColor(TFT_YELLOW);
|
||||||
|
if (showsquelch) tft.drawCentreString(myLanguage[language][42], 155, 110, GFXFF); else tft.drawCentreString(myLanguage[language][30], 155, 110, GFXFF);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 130:
|
||||||
|
tft.setTextColor(TFT_WHITE);
|
||||||
|
tft.drawCentreString(myLanguage[language][63], 155, 70, GFXFF);
|
||||||
|
tft.setTextColor(TFT_YELLOW);
|
||||||
|
if (showmodulation) tft.drawCentreString(myLanguage[language][42], 155, 110, GFXFF); else tft.drawCentreString(myLanguage[language][30], 155, 110, GFXFF);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 150:
|
||||||
|
tft.setTextColor(TFT_WHITE);
|
||||||
|
tft.drawCentreString(myLanguage[language][64], 155, 70, GFXFF);
|
||||||
|
if (amnb != 0) tft.drawString("%", 170, 110, GFXFF);
|
||||||
|
tft.setTextColor(TFT_YELLOW);
|
||||||
|
if (amnb != 0) tft.drawRightString(String(amnb, DEC), 155, 110, GFXFF); else tft.drawRightString(myLanguage[language][30], 155, 110, GFXFF);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 170:
|
||||||
|
tft.setTextColor(TFT_WHITE);
|
||||||
|
tft.drawCentreString(myLanguage[language][65], 155, 70, GFXFF);
|
||||||
|
if (fmnb != 0) tft.drawString("%", 170, 110, GFXFF);
|
||||||
|
tft.setTextColor(TFT_YELLOW);
|
||||||
|
if (fmnb != 0) tft.drawRightString(String(fmnb, DEC), 155, 110, GFXFF); else tft.drawRightString(myLanguage[language][30], 155, 110, GFXFF);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
@@ -1867,6 +1918,50 @@ void KeyUp() {
|
|||||||
tft.setTextColor(TFT_YELLOW);
|
tft.setTextColor(TFT_YELLOW);
|
||||||
if (radio.rds.dynamicpi) tft.drawCentreString(myLanguage[language][42], 155, 110, GFXFF); else tft.drawCentreString(myLanguage[language][30], 155, 110, GFXFF);
|
if (radio.rds.dynamicpi) tft.drawCentreString(myLanguage[language][42], 155, 110, GFXFF); else tft.drawCentreString(myLanguage[language][30], 155, 110, GFXFF);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case 110:
|
||||||
|
tft.setTextColor(TFT_BLACK);
|
||||||
|
if (showsquelch) tft.drawCentreString(myLanguage[language][42], 155, 110, GFXFF); else tft.drawCentreString(myLanguage[language][30], 155, 110, GFXFF);
|
||||||
|
if (showsquelch) showsquelch = false; else showsquelch = true;
|
||||||
|
tft.setTextColor(TFT_YELLOW);
|
||||||
|
if (showsquelch) tft.drawCentreString(myLanguage[language][42], 155, 110, GFXFF); else tft.drawCentreString(myLanguage[language][30], 155, 110, GFXFF);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 130:
|
||||||
|
tft.setTextColor(TFT_BLACK);
|
||||||
|
if (showmodulation) tft.drawCentreString(myLanguage[language][42], 155, 110, GFXFF); else tft.drawCentreString(myLanguage[language][30], 155, 110, GFXFF);
|
||||||
|
if (showmodulation) showmodulation = false; else showmodulation = true;
|
||||||
|
tft.setTextColor(TFT_YELLOW);
|
||||||
|
if (showmodulation) tft.drawCentreString(myLanguage[language][42], 155, 110, GFXFF); else tft.drawCentreString(myLanguage[language][30], 155, 110, GFXFF);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 150:
|
||||||
|
tft.setTextColor(TFT_BLACK);
|
||||||
|
tft.drawRightString(String(amnb, DEC), 155, 110, GFXFF);
|
||||||
|
amnb ++;
|
||||||
|
if (amnb > 150 || amnb <= 50) if (amnb == 1) amnb = 50; else amnb = 0;
|
||||||
|
tft.drawRightString(myLanguage[language][30], 155, 110, GFXFF);
|
||||||
|
tft.drawString("%", 170, 110, GFXFF);
|
||||||
|
tft.setTextColor(TFT_WHITE);
|
||||||
|
if (amnb != 0) tft.drawString("%", 170, 110, GFXFF);
|
||||||
|
tft.setTextColor(TFT_YELLOW);
|
||||||
|
if (amnb != 0) tft.drawRightString(String(amnb, DEC), 155, 110, GFXFF); else tft.drawRightString(myLanguage[language][30], 155, 110, GFXFF);
|
||||||
|
radio.setAMNoiseBlanker(amnb);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 170:
|
||||||
|
tft.setTextColor(TFT_BLACK);
|
||||||
|
tft.drawRightString(String(fmnb, DEC), 155, 110, GFXFF);
|
||||||
|
fmnb ++;
|
||||||
|
if (fmnb > 150 || fmnb <= 50) if (fmnb == 1) fmnb = 50; else fmnb = 0;
|
||||||
|
tft.drawRightString(myLanguage[language][30], 155, 110, GFXFF);
|
||||||
|
tft.drawString("%", 170, 110, GFXFF);
|
||||||
|
tft.setTextColor(TFT_WHITE);
|
||||||
|
if (fmnb != 0) tft.drawString("%", 170, 110, GFXFF);
|
||||||
|
tft.setTextColor(TFT_YELLOW);
|
||||||
|
if (fmnb != 0) tft.drawRightString(String(fmnb, DEC), 155, 110, GFXFF); else tft.drawRightString(myLanguage[language][30], 155, 110, GFXFF);
|
||||||
|
radio.setFMNoiseBlanker(fmnb);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -2160,6 +2255,50 @@ void KeyDown() {
|
|||||||
tft.setTextColor(TFT_YELLOW);
|
tft.setTextColor(TFT_YELLOW);
|
||||||
if (radio.rds.dynamicpi) tft.drawCentreString(myLanguage[language][42], 155, 110, GFXFF); else tft.drawCentreString(myLanguage[language][30], 155, 110, GFXFF);
|
if (radio.rds.dynamicpi) tft.drawCentreString(myLanguage[language][42], 155, 110, GFXFF); else tft.drawCentreString(myLanguage[language][30], 155, 110, GFXFF);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case 110:
|
||||||
|
tft.setTextColor(TFT_BLACK);
|
||||||
|
if (showsquelch) tft.drawCentreString(myLanguage[language][42], 155, 110, GFXFF); else tft.drawCentreString(myLanguage[language][30], 155, 110, GFXFF);
|
||||||
|
if (showsquelch) showsquelch = false; else showsquelch = true;
|
||||||
|
tft.setTextColor(TFT_YELLOW);
|
||||||
|
if (showsquelch) tft.drawCentreString(myLanguage[language][42], 155, 110, GFXFF); else tft.drawCentreString(myLanguage[language][30], 155, 110, GFXFF);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 130:
|
||||||
|
tft.setTextColor(TFT_BLACK);
|
||||||
|
if (showmodulation) tft.drawCentreString(myLanguage[language][42], 155, 110, GFXFF); else tft.drawCentreString(myLanguage[language][30], 155, 110, GFXFF);
|
||||||
|
if (showmodulation) showmodulation = false; else showmodulation = true;
|
||||||
|
tft.setTextColor(TFT_YELLOW);
|
||||||
|
if (showmodulation) tft.drawCentreString(myLanguage[language][42], 155, 110, GFXFF); else tft.drawCentreString(myLanguage[language][30], 155, 110, GFXFF);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 150:
|
||||||
|
tft.setTextColor(TFT_BLACK);
|
||||||
|
tft.drawRightString(String(amnb, DEC), 155, 110, GFXFF);
|
||||||
|
amnb --;
|
||||||
|
if (amnb > 150 || amnb <= 50) if (amnb > 150) amnb = 150; else amnb = 0;
|
||||||
|
tft.drawRightString(myLanguage[language][30], 155, 110, GFXFF);
|
||||||
|
tft.drawString("%", 170, 110, GFXFF);
|
||||||
|
tft.setTextColor(TFT_WHITE);
|
||||||
|
if (amnb != 0) tft.drawString("%", 170, 110, GFXFF);
|
||||||
|
tft.setTextColor(TFT_YELLOW);
|
||||||
|
if (amnb != 0) tft.drawRightString(String(amnb, DEC), 155, 110, GFXFF); else tft.drawRightString(myLanguage[language][30], 155, 110, GFXFF);
|
||||||
|
radio.setAMNoiseBlanker(amnb);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 170:
|
||||||
|
tft.setTextColor(TFT_BLACK);
|
||||||
|
tft.drawRightString(String(fmnb, DEC), 155, 110, GFXFF);
|
||||||
|
fmnb --;
|
||||||
|
if (fmnb > 150 || fmnb <= 50) if (fmnb > 150) fmnb = 150; else fmnb = 0;
|
||||||
|
tft.drawRightString(myLanguage[language][30], 155, 110, GFXFF);
|
||||||
|
tft.drawString("%", 170, 110, GFXFF);
|
||||||
|
tft.setTextColor(TFT_WHITE);
|
||||||
|
if (fmnb != 0) tft.drawString("%", 170, 110, GFXFF);
|
||||||
|
tft.setTextColor(TFT_YELLOW);
|
||||||
|
if (fmnb != 0) tft.drawRightString(String(fmnb, DEC), 155, 110, GFXFF); else tft.drawRightString(myLanguage[language][30], 155, 110, GFXFF);
|
||||||
|
radio.setFMNoiseBlanker(fmnb);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -2308,7 +2447,7 @@ void showPI() {
|
|||||||
PIold = radio.rds.picode;
|
PIold = radio.rds.picode;
|
||||||
if (wifi) {
|
if (wifi) {
|
||||||
Udp.beginPacket(remoteip, 9030);
|
Udp.beginPacket(remoteip, 9030);
|
||||||
Udp.print("from=TEF tuner;PI=" + String(radio.rds.picode,4));
|
Udp.print("from=TEF tuner;PI=" + String(radio.rds.picode, 4));
|
||||||
Udp.endPacket();
|
Udp.endPacket();
|
||||||
}
|
}
|
||||||
strcpy(radioIdPrevious, radio.rds.picode);
|
strcpy(radioIdPrevious, radio.rds.picode);
|
||||||
@@ -2550,11 +2689,21 @@ void BuildMenu() {
|
|||||||
tft.drawString(myLanguage[language][59], 14, 50, GFXFF);
|
tft.drawString(myLanguage[language][59], 14, 50, GFXFF);
|
||||||
tft.drawString(myLanguage[language][60], 14, 70, GFXFF);
|
tft.drawString(myLanguage[language][60], 14, 70, GFXFF);
|
||||||
tft.drawString(myLanguage[language][61], 14, 90, GFXFF);
|
tft.drawString(myLanguage[language][61], 14, 90, GFXFF);
|
||||||
|
tft.drawString(myLanguage[language][62], 14, 110, GFXFF);
|
||||||
|
tft.drawString(myLanguage[language][63], 14, 130, GFXFF);
|
||||||
|
tft.drawString(myLanguage[language][64], 14, 150, GFXFF);
|
||||||
|
tft.drawString(myLanguage[language][65], 14, 170, GFXFF);
|
||||||
|
if (amnb != 0) tft.drawRightString("%", 305, 150, GFXFF); else tft.drawRightString(myLanguage[language][30], 265, 150, GFXFF);
|
||||||
|
if (fmnb != 0) tft.drawRightString("%", 305, 170, GFXFF); else tft.drawRightString(myLanguage[language][30], 265, 170, GFXFF);
|
||||||
tft.setTextColor(TFT_YELLOW);
|
tft.setTextColor(TFT_YELLOW);
|
||||||
tft.drawRightString(String(WiFi.localIP()[0]) + "." + String(WiFi.localIP()[1]) + "." + String(WiFi.localIP()[2]) + "." + String(subnetclient, DEC), 305, 30, GFXFF);
|
tft.drawRightString(String(WiFi.localIP()[0]) + "." + String(WiFi.localIP()[1]) + "." + String(WiFi.localIP()[2]) + "." + String(subnetclient, DEC), 305, 30, GFXFF);
|
||||||
if (showSWMIBand) tft.drawRightString(myLanguage[language][42], 305, 50, GFXFF); else tft.drawRightString(myLanguage[language][30], 305, 50, GFXFF);
|
if (showSWMIBand) tft.drawRightString(myLanguage[language][42], 305, 50, GFXFF); else tft.drawRightString(myLanguage[language][30], 305, 50, GFXFF);
|
||||||
if (radio.rds.filter) tft.drawRightString(myLanguage[language][42], 305, 70, GFXFF); else tft.drawRightString(myLanguage[language][30], 305, 70, GFXFF);
|
if (radio.rds.filter) tft.drawRightString(myLanguage[language][42], 305, 70, GFXFF); else tft.drawRightString(myLanguage[language][30], 305, 70, GFXFF);
|
||||||
if (radio.rds.dynamicpi) tft.drawRightString(myLanguage[language][42], 305, 90, GFXFF); else tft.drawRightString(myLanguage[language][30], 305, 90, GFXFF);
|
if (radio.rds.dynamicpi) tft.drawRightString(myLanguage[language][42], 305, 90, GFXFF); else tft.drawRightString(myLanguage[language][30], 305, 90, GFXFF);
|
||||||
|
if (showsquelch) tft.drawRightString(myLanguage[language][42], 305, 110, GFXFF); else tft.drawRightString(myLanguage[language][30], 305, 110, GFXFF);
|
||||||
|
if (showmodulation) tft.drawRightString(myLanguage[language][42], 305, 130, GFXFF); else tft.drawRightString(myLanguage[language][30], 305, 130, GFXFF);
|
||||||
|
if (amnb != 0) tft.drawRightString(String(amnb, DEC), 265, 150, GFXFF); else tft.drawRightString(myLanguage[language][30], 265, 150, GFXFF);
|
||||||
|
if (fmnb != 0) tft.drawRightString(String(fmnb, DEC), 265, 170, GFXFF); else tft.drawRightString(myLanguage[language][30], 265, 170, GFXFF);
|
||||||
}
|
}
|
||||||
analogWrite(SMETERPIN, 0);
|
analogWrite(SMETERPIN, 0);
|
||||||
}
|
}
|
||||||
@@ -2605,16 +2754,14 @@ void BuildDisplay() {
|
|||||||
}
|
}
|
||||||
tft.setTextColor(TFT_WHITE);
|
tft.setTextColor(TFT_WHITE);
|
||||||
tft.setFreeFont(FONT7);
|
tft.setFreeFont(FONT7);
|
||||||
tft.drawString("SQ:", 216, 150, GFXFF);
|
if (showsquelch) tft.drawString("SQ:", 216, 150, GFXFF);
|
||||||
tft.drawString("S/N", 250, 164, GFXFF);
|
tft.drawString("S/N", 250, 164, GFXFF);
|
||||||
tft.drawString("dB", 300, 164, GFXFF);
|
tft.drawString("dB", 300, 164, GFXFF);
|
||||||
tft.drawString("S", 6, 100, GFXFF);
|
tft.drawString("S", 6, 100, GFXFF);
|
||||||
tft.drawString("M", 6, 132, GFXFF);
|
|
||||||
if (region == 0) tft.drawString("PI:", 216, 191, GFXFF);
|
if (region == 0) tft.drawString("PI:", 216, 191, GFXFF);
|
||||||
if (region == 1) tft.drawString("ID:", 216, 191, GFXFF);
|
if (region == 1) tft.drawString("ID:", 216, 191, GFXFF);
|
||||||
tft.drawString("PS:", 6, 191, GFXFF);
|
tft.drawString("PS:", 6, 191, GFXFF);
|
||||||
tft.drawString("PTY:", 6, 164, GFXFF);
|
tft.drawString("PTY:", 6, 164, GFXFF);
|
||||||
tft.drawString("%", 196, 146, GFXFF);
|
|
||||||
tft.drawString("1", 24, 116, GFXFF);
|
tft.drawString("1", 24, 116, GFXFF);
|
||||||
tft.drawString("3", 48, 116, GFXFF);
|
tft.drawString("3", 48, 116, GFXFF);
|
||||||
tft.drawString("5", 72, 116, GFXFF);
|
tft.drawString("5", 72, 116, GFXFF);
|
||||||
@@ -2622,12 +2769,15 @@ void BuildDisplay() {
|
|||||||
tft.drawString("9", 120, 116, GFXFF);
|
tft.drawString("9", 120, 116, GFXFF);
|
||||||
tft.drawString("+10", 134, 116, GFXFF);
|
tft.drawString("+10", 134, 116, GFXFF);
|
||||||
tft.drawString("+30", 174, 116, GFXFF);
|
tft.drawString("+30", 174, 116, GFXFF);
|
||||||
|
if (!showmodulation) tft.setTextColor(TFT_GREYOUT);
|
||||||
|
tft.drawString("M", 6, 132, GFXFF);
|
||||||
tft.drawString("20", 20, 146, GFXFF);
|
tft.drawString("20", 20, 146, GFXFF);
|
||||||
tft.drawString("40", 50, 146, GFXFF);
|
tft.drawString("40", 50, 146, GFXFF);
|
||||||
tft.drawString("60", 80, 146, GFXFF);
|
tft.drawString("60", 80, 146, GFXFF);
|
||||||
tft.drawString("80", 110, 146, GFXFF);
|
tft.drawString("80", 110, 146, GFXFF);
|
||||||
tft.drawString("100", 134, 146, GFXFF);
|
tft.drawString("100", 134, 146, GFXFF);
|
||||||
tft.drawString("120", 164, 146, GFXFF);
|
tft.drawString("120", 164, 146, GFXFF);
|
||||||
|
tft.drawString("%", 196, 146, GFXFF);
|
||||||
tft.setTextColor(TFT_WHITE);
|
tft.setTextColor(TFT_WHITE);
|
||||||
tft.setFreeFont(FONT14);
|
tft.setFreeFont(FONT14);
|
||||||
tft.drawString("kHz", 225, -5, GFXFF);
|
tft.drawString("kHz", 225, -5, GFXFF);
|
||||||
@@ -3075,8 +3225,12 @@ void ShowOffset() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void ShowBW() {
|
void ShowBW() {
|
||||||
if (millis() >= bwupdatetimer + TIMER_BW_TIMER) { bwupdatetimer = millis(); }
|
if (millis() >= bwupdatetimer + TIMER_BW_TIMER) {
|
||||||
else { return; }
|
bwupdatetimer = millis();
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if (BW != BWOld || BWreset == true) {
|
if (BW != BWOld || BWreset == true) {
|
||||||
tft.setFreeFont(FONT14);
|
tft.setFreeFont(FONT14);
|
||||||
@@ -3096,36 +3250,38 @@ void ShowBW() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void ShowModLevel() {
|
void ShowModLevel() {
|
||||||
int segments;
|
if (showmodulation) {
|
||||||
int color;
|
int segments;
|
||||||
int hold = 0;
|
int color;
|
||||||
|
int hold = 0;
|
||||||
|
|
||||||
if (SQ != false) {
|
if (SQ != false) {
|
||||||
MStatus = 0;
|
MStatus = 0;
|
||||||
MStatusold = 1;
|
MStatusold = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (MStatus != MStatusold || MStatus < 10) {
|
if (MStatus != MStatusold || MStatus < 10) {
|
||||||
for (segments = 0; segments < 13; segments++) {
|
for (segments = 0; segments < 13; segments++) {
|
||||||
color = TFT_GREEN;
|
color = TFT_GREEN;
|
||||||
if (segments > 8) color = TFT_ORANGE;
|
if (segments > 8) color = TFT_ORANGE;
|
||||||
if (segments > 9) color = TFT_RED;
|
if (segments > 9) color = TFT_RED;
|
||||||
if (MStatus > (segments + 1) * 10) {
|
if (MStatus > (segments + 1) * 10) {
|
||||||
hold = segments;
|
hold = segments;
|
||||||
tft.fillRect(20 + segments * 14, 139, 12, 8, color);
|
tft.fillRect(20 + segments * 14, 139, 12, 8, color);
|
||||||
} else {
|
} else {
|
||||||
if (segments != peakholdold) tft.fillRect(20 + segments * 14, 139, 12, 8, TFT_GREYOUT);
|
if (segments != peakholdold) tft.fillRect(20 + segments * 14, 139, 12, 8, TFT_GREYOUT);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
if (peakholdold < hold) peakholdold = hold;
|
if (peakholdold < hold) peakholdold = hold;
|
||||||
|
|
||||||
if (peakholdmillis > peakholdtimer + 3000) {
|
if (peakholdmillis > peakholdtimer + 3000) {
|
||||||
peakholdtimer += 3000;
|
peakholdtimer += 3000;
|
||||||
peakholdold = hold;
|
peakholdold = hold;
|
||||||
|
}
|
||||||
|
peakholdmillis = millis();
|
||||||
|
MStatusold = MStatus;
|
||||||
}
|
}
|
||||||
peakholdmillis = millis();
|
|
||||||
MStatusold = MStatus;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -3134,23 +3290,24 @@ 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;
|
||||||
|
if (showsquelch) {
|
||||||
if (seek == false && menu == false && Squelch != Squelchold) {
|
if (seek == false && menu == false && Squelch != Squelchold) {
|
||||||
tft.setTextColor(TFT_BLACK);
|
tft.setTextColor(TFT_BLACK);
|
||||||
if (Squelchold == -100) {
|
if (Squelchold == -100) {
|
||||||
tft.drawCentreString(myLanguage[language][33], 224, 164, GFXFF);
|
tft.drawCentreString(myLanguage[language][33], 224, 164, GFXFF);
|
||||||
} else if (Squelchold == 920) {
|
} else if (Squelchold == 920) {
|
||||||
tft.drawCentreString("ST", 224, 164, GFXFF);
|
tft.drawCentreString("ST", 224, 164, GFXFF);
|
||||||
} else {
|
} else {
|
||||||
tft.drawCentreString(String(Squelchold / 10), 224, 164, GFXFF);
|
tft.drawCentreString(String(Squelchold / 10), 224, 164, GFXFF);
|
||||||
}
|
}
|
||||||
tft.setTextColor(TFT_WHITE);
|
tft.setTextColor(TFT_WHITE);
|
||||||
if (Squelch == -100) {
|
if (Squelch == -100) {
|
||||||
tft.drawCentreString(myLanguage[language][33], 224, 164, GFXFF);
|
tft.drawCentreString(myLanguage[language][33], 224, 164, GFXFF);
|
||||||
} else if (Squelch == 920) {
|
} else if (Squelch == 920) {
|
||||||
tft.drawCentreString("ST", 224, 164, GFXFF);
|
tft.drawCentreString("ST", 224, 164, GFXFF);
|
||||||
} else {
|
} else {
|
||||||
tft.drawCentreString(String(Squelch / 10), 224, 164, GFXFF);
|
tft.drawCentreString(String(Squelch / 10), 224, 164, GFXFF);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
Squelchold = Squelch;
|
Squelchold = Squelch;
|
||||||
}
|
}
|
||||||
@@ -3174,7 +3331,7 @@ void doSquelch() {
|
|||||||
SQ = true;
|
SQ = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (screenmute == false) {
|
if (screenmute == false && showsquelch == true) {
|
||||||
if (Squelch != Squelchold) {
|
if (Squelch != Squelchold) {
|
||||||
tft.setTextColor(TFT_BLACK);
|
tft.setTextColor(TFT_BLACK);
|
||||||
if (Squelchold == -1) tft.drawCentreString("ST", 224, 164, GFXFF); else tft.drawCentreString(String(Squelchold / 10), 224, 164, GFXFF);
|
if (Squelchold == -1) tft.drawCentreString("ST", 224, 164, GFXFF); else tft.drawCentreString(String(Squelchold / 10), 224, 164, GFXFF);
|
||||||
|
|||||||
@@ -62,7 +62,7 @@ void TEF6686::setSoftmuteFM(uint8_t mode) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void TEF6686::setAMNoiseBlanker(uint16_t start) {
|
void TEF6686::setAMNoiseBlanker(uint16_t start) {
|
||||||
if (start == 0) devTEF_Radio_Set_Noiseblanker_AM(0, 1000); else devTEF_Radio_Set_Noiseblanker_AM(1, (start * 10) + 500);
|
if (start == 0) devTEF_Radio_Set_Noiseblanker_AM(0, 1000); else devTEF_Radio_Set_Noiseblanker_AM(1, start * 10);
|
||||||
}
|
}
|
||||||
|
|
||||||
void TEF6686::setAMAttenuation(uint16_t start) {
|
void TEF6686::setAMAttenuation(uint16_t start) {
|
||||||
@@ -142,8 +142,8 @@ void TEF6686::setFMSI_Bias(int16_t band1, int16_t band2, int16_t band3, int16_t
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void TEF6686::setNoiseBlanker(uint16_t start) {
|
void TEF6686::setFMNoiseBlanker(uint16_t start) {
|
||||||
if (start == 0) devTEF_Radio_Set_NoisBlanker(0, 1000); else devTEF_Radio_Set_NoisBlanker(1, (start * 10) + 500);
|
if (start == 0) devTEF_Radio_Set_NoisBlanker(0, 1000); else devTEF_Radio_Set_NoisBlanker(1, start * 10);
|
||||||
}
|
}
|
||||||
|
|
||||||
void TEF6686::setStereoLevel(uint8_t start) {
|
void TEF6686::setStereoLevel(uint8_t start) {
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ enum RADIO_TUNE_MODE {
|
|||||||
#define FREQ_MW_STEP_10K 10
|
#define FREQ_MW_STEP_10K 10
|
||||||
#define FREQ_SW_STEP_5K 5
|
#define FREQ_SW_STEP_5K 5
|
||||||
|
|
||||||
#define FREQ_LW_LOW_EDGE_MIN 100
|
#define FREQ_LW_LOW_EDGE_MIN 144
|
||||||
#define FREQ_LW_HIGH_EDGE_MAX 519
|
#define FREQ_LW_HIGH_EDGE_MAX 519
|
||||||
#define FREQ_MW_LOW_EDGE_MIN_9K 522
|
#define FREQ_MW_LOW_EDGE_MIN_9K 522
|
||||||
#define FREQ_MW_LOW_EDGE_MIN_10K 520
|
#define FREQ_MW_LOW_EDGE_MIN_10K 520
|
||||||
@@ -234,7 +234,7 @@ class TEF6686 {
|
|||||||
void setHighCutOffset(uint8_t start);
|
void setHighCutOffset(uint8_t start);
|
||||||
void setStHiBlendLevel(uint16_t limit);
|
void setStHiBlendLevel(uint16_t limit);
|
||||||
void setStHiBlendOffset(uint8_t start);
|
void setStHiBlendOffset(uint8_t start);
|
||||||
void setNoiseBlanker(uint16_t start);
|
void setFMNoiseBlanker(uint16_t start);
|
||||||
void setAMCoChannel(uint16_t start);
|
void setAMCoChannel(uint16_t start);
|
||||||
void setAMNoiseBlanker(uint16_t start);
|
void setAMNoiseBlanker(uint16_t start);
|
||||||
void setAMAttenuation(uint16_t start);
|
void setAMAttenuation(uint16_t start);
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
// [number of languages][number of texts][max. length of text]
|
// [number of languages][number of texts][max. length of text]
|
||||||
|
|
||||||
static const char myLanguage[9][62][78] = {
|
static const char myLanguage[9][66][78] = {
|
||||||
{ "English", // English
|
{ "English", // English
|
||||||
"Rotary direction changed",
|
"Rotary direction changed",
|
||||||
"Please release button",
|
"Please release button",
|
||||||
@@ -62,7 +62,11 @@ static const char myLanguage[9][62][78] = {
|
|||||||
"Stationlist client IP",
|
"Stationlist client IP",
|
||||||
"Show SW wavelength",
|
"Show SW wavelength",
|
||||||
"RDS filter",
|
"RDS filter",
|
||||||
"Dynamic PI"
|
"Dynamic PI",
|
||||||
|
"Show squelch",
|
||||||
|
"Modulation meter",
|
||||||
|
"AM Noise blanker",
|
||||||
|
"FM Noise blanker"
|
||||||
},
|
},
|
||||||
|
|
||||||
{ "Nederlands", // Dutch
|
{ "Nederlands", // Dutch
|
||||||
@@ -121,12 +125,16 @@ static const char myLanguage[9][62][78] = {
|
|||||||
"Verbind met: ",
|
"Verbind met: ",
|
||||||
"om Wi-Fi in te stellen",
|
"om Wi-Fi in te stellen",
|
||||||
"Verbinden met Wi-Fi...",
|
"Verbinden met Wi-Fi...",
|
||||||
"MISLUKT.. WiFi uitgeschakeld",
|
"MISLUKT! WiFi uitgeschakeld",
|
||||||
"VERBONDEN!",
|
"VERBONDEN!",
|
||||||
"Stationlist client IP",
|
"Stationlist client IP",
|
||||||
"Toon SW golflengte",
|
"Toon SW golflengte",
|
||||||
"RDS filter",
|
"RDS filter",
|
||||||
"Dynamische PI"
|
"Dynamische PI",
|
||||||
|
"Toon squelch",
|
||||||
|
"Modulatie meter",
|
||||||
|
"AM ruis filter",
|
||||||
|
"FM ruis filter"
|
||||||
},
|
},
|
||||||
|
|
||||||
{ "Polski", // Polish
|
{ "Polski", // Polish
|
||||||
@@ -190,7 +198,11 @@ static const char myLanguage[9][62][78] = {
|
|||||||
"IP klienta Stationlist",
|
"IP klienta Stationlist",
|
||||||
"Pokaz dlugosci fal SW",
|
"Pokaz dlugosci fal SW",
|
||||||
"RDS filter",
|
"RDS filter",
|
||||||
"Dynamic PI"
|
"Dynamic PI",
|
||||||
|
"Show squelch",
|
||||||
|
"Modulation meter",
|
||||||
|
"AM Noise blanker",
|
||||||
|
"FM Noise blanker"
|
||||||
},
|
},
|
||||||
|
|
||||||
{ "Hrvatski", // Croatian
|
{ "Hrvatski", // Croatian
|
||||||
@@ -254,7 +266,11 @@ static const char myLanguage[9][62][78] = {
|
|||||||
"IP klijenta StationList",
|
"IP klijenta StationList",
|
||||||
"Prikaži valnu duljinu KV-a",
|
"Prikaži valnu duljinu KV-a",
|
||||||
"RDS filter",
|
"RDS filter",
|
||||||
"Dynamic PI"
|
"Dynamic PI",
|
||||||
|
"Show squelch",
|
||||||
|
"Modulation meter",
|
||||||
|
"AM Noise blanker",
|
||||||
|
"FM Noise blanker"
|
||||||
},
|
},
|
||||||
|
|
||||||
{ "Ελληνικά", // Greek
|
{ "Ελληνικά", // Greek
|
||||||
@@ -318,7 +334,11 @@ static const char myLanguage[9][62][78] = {
|
|||||||
"Stationlist client IP",
|
"Stationlist client IP",
|
||||||
"Show SW wavelength",
|
"Show SW wavelength",
|
||||||
"RDS filter",
|
"RDS filter",
|
||||||
"Dynamic PI"
|
"Dynamic PI",
|
||||||
|
"Show squelch",
|
||||||
|
"Modulation meter",
|
||||||
|
"AM Noise blanker",
|
||||||
|
"FM Noise blanker"
|
||||||
},
|
},
|
||||||
|
|
||||||
{ "Romana", // Romanian
|
{ "Romana", // Romanian
|
||||||
@@ -382,7 +402,11 @@ static const char myLanguage[9][62][78] = {
|
|||||||
"Stationlist client IP",
|
"Stationlist client IP",
|
||||||
"Show SW wavelength",
|
"Show SW wavelength",
|
||||||
"RDS filter",
|
"RDS filter",
|
||||||
"Dynamic PI"
|
"Dynamic PI",
|
||||||
|
"Show squelch",
|
||||||
|
"Modulation meter",
|
||||||
|
"AM Noise blanker",
|
||||||
|
"FM Noise blanker"
|
||||||
},
|
},
|
||||||
|
|
||||||
{ "Deutsch", // German
|
{ "Deutsch", // German
|
||||||
@@ -446,7 +470,11 @@ static const char myLanguage[9][62][78] = {
|
|||||||
"Stationlist client IP",
|
"Stationlist client IP",
|
||||||
"Show SW wavelength",
|
"Show SW wavelength",
|
||||||
"RDS filter",
|
"RDS filter",
|
||||||
"Dynamic PI"
|
"Dynamic PI",
|
||||||
|
"Show squelch",
|
||||||
|
"Modulation meter",
|
||||||
|
"AM Noise blanker",
|
||||||
|
"FM Noise blanker"
|
||||||
},
|
},
|
||||||
{ "Czech", // Czech
|
{ "Czech", // Czech
|
||||||
"Směr enkóderu byl změněn",
|
"Směr enkóderu byl změněn",
|
||||||
@@ -509,7 +537,11 @@ static const char myLanguage[9][62][78] = {
|
|||||||
"Stationlist client IP",
|
"Stationlist client IP",
|
||||||
"Show SW wavelength",
|
"Show SW wavelength",
|
||||||
"RDS filter",
|
"RDS filter",
|
||||||
"Dynamic PI"
|
"Dynamic PI",
|
||||||
|
"Show squelch",
|
||||||
|
"Modulation meter",
|
||||||
|
"AM Noise blanker",
|
||||||
|
"FM Noise blanker"
|
||||||
},
|
},
|
||||||
{ "Slovak", // Slovak
|
{ "Slovak", // Slovak
|
||||||
"Smer enkóderu bol zmenený",
|
"Smer enkóderu bol zmenený",
|
||||||
@@ -572,6 +604,10 @@ static const char myLanguage[9][62][78] = {
|
|||||||
"Stationlist client IP",
|
"Stationlist client IP",
|
||||||
"Show SW wavelength",
|
"Show SW wavelength",
|
||||||
"RDS filter",
|
"RDS filter",
|
||||||
"Dynamic PI"
|
"Dynamic PI",
|
||||||
|
"Show squelch",
|
||||||
|
"Modulation meter",
|
||||||
|
"AM Noise blanker",
|
||||||
|
"FM Noise blanker"
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user