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:
Sjef Verhoeven PE5PVB
2023-06-20 12:11:53 +02:00
parent 17fd87490a
commit b4a4c1a83b
4 changed files with 277 additions and 84 deletions

View File

@@ -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,6 +536,7 @@ void loop() {
if (screenmute == false) { if (screenmute == false) {
tft.setFreeFont(FONT7); tft.setFreeFont(FONT7);
tft.setTextColor(TFT_WHITE); tft.setTextColor(TFT_WHITE);
if (showmodulation) {
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);
@@ -531,6 +545,7 @@ void loop() {
tft.drawString("120", 164, 146, GFXFF); tft.drawString("120", 164, 146, GFXFF);
tft.drawString("%", 196, 146, GFXFF); tft.drawString("%", 196, 146, GFXFF);
tft.drawString("M", 6, 132, 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,6 +573,7 @@ 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);
if (showmodulation) {
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);
@@ -566,6 +582,7 @@ void loop() {
tft.drawString("120", 164, 146, GFXFF); tft.drawString("120", 164, 146, GFXFF);
tft.drawString("%", 196, 146, GFXFF); tft.drawString("%", 196, 146, GFXFF);
tft.drawString("M", 6, 132, 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;
} }
} }
} }
@@ -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,6 +3250,7 @@ void ShowBW() {
} }
void ShowModLevel() { void ShowModLevel() {
if (showmodulation) {
int segments; int segments;
int color; int color;
int hold = 0; int hold = 0;
@@ -3128,13 +3283,14 @@ void ShowModLevel() {
MStatusold = MStatus; MStatusold = MStatus;
} }
} }
}
void doSquelch() { void doSquelch() {
tft.setFreeFont(FONT7); tft.setFreeFont(FONT7);
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) {
@@ -3152,6 +3308,7 @@ void doSquelch() {
} 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);

View File

@@ -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) {

View File

@@ -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);

View File

@@ -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"
}, },
}; };