From b4a4c1a83bb50253c67209b4ae49366b375b2b8e Mon Sep 17 00:00:00 2001 From: Sjef Verhoeven PE5PVB Date: Tue, 20 Jun 2023 12:11:53 +0200 Subject: [PATCH] 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. --- TEF6686_ESP32.ino | 293 +++++++++++++++++++++++++++++++++++----------- src/TEF6686.cpp | 6 +- src/TEF6686.h | 4 +- src/language.h | 58 +++++++-- 4 files changed, 277 insertions(+), 84 deletions(-) diff --git a/TEF6686_ESP32.ino b/TEF6686_ESP32.ino index 4723ba4..01d0fd5 100644 --- a/TEF6686_ESP32.ino +++ b/TEF6686_ESP32.ino @@ -54,6 +54,9 @@ bool RDSSPYTCP; bool BWreset; bool change2; bool cleanup; +bool showsquelch; +byte amnb; +byte fmnb; bool direction; bool dropout; bool EONold; @@ -155,6 +158,7 @@ int Squelch; int Squelchold; int SStatusold; byte StereoLevel; +byte showmodulation; int Stereostatus; int VolSet; int volume; @@ -223,9 +227,9 @@ WiFiUDP Udp; void setup() { setupmode = true; - EEPROM.begin(244); - if (EEPROM.readByte(43) != 26) { - EEPROM.writeByte(43, 26); + EEPROM.begin(248); + if (EEPROM.readByte(43) != 27) { + EEPROM.writeByte(43, 27); EEPROM.writeUInt(0, 10000); EEPROM.writeInt(4, 0); EEPROM.writeUInt(8, 0); @@ -267,7 +271,10 @@ void setup() { EEPROM.writeUInt(225, 540); EEPROM.writeUInt(229, 1800); EEPROM.writeString(233, "password"); - + EEPROM.writeByte(244, 1); + EEPROM.writeByte(245, 1); + EEPROM.writeByte(246, 0); + EEPROM.writeByte(247, 0); EEPROM.commit(); } @@ -310,6 +317,10 @@ void setup() { frequency_MW = EEPROM.readUInt(225); frequency_SW = EEPROM.readUInt(229); 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 LWHighEdgeSet = FREQ_LW_HIGH_EDGE_MAX; // later will read from flash @@ -484,6 +495,8 @@ void setup() { radio.setMute(); radio.setSoftmuteFM(softmutefm); radio.setSoftmuteAM(softmuteam); + radio.setAMNoiseBlanker(amnb); + radio.setFMNoiseBlanker(fmnb); if (region == 1) radio.setDeemphasis(2); radio.rds.region = region; LowLevelInit = true; @@ -523,14 +536,16 @@ void loop() { if (screenmute == false) { tft.setFreeFont(FONT7); tft.setTextColor(TFT_WHITE); - tft.drawString("20", 20, 146, GFXFF); - tft.drawString("40", 50, 146, GFXFF); - tft.drawString("60", 80, 146, GFXFF); - tft.drawString("80", 110, 146, GFXFF); - tft.drawString("100", 134, 146, GFXFF); - tft.drawString("120", 164, 146, GFXFF); - tft.drawString("%", 196, 146, GFXFF); - tft.drawString("M", 6, 132, GFXFF); + if (showmodulation) { + tft.drawString("20", 20, 146, GFXFF); + tft.drawString("40", 50, 146, GFXFF); + tft.drawString("60", 80, 146, GFXFF); + tft.drawString("80", 110, 146, GFXFF); + tft.drawString("100", 134, 146, GFXFF); + tft.drawString("120", 164, 146, GFXFF); + tft.drawString("%", 196, 146, GFXFF); + tft.drawString("M", 6, 132, GFXFF); + } if (region == 0) tft.drawString("PI:", 216, 191, GFXFF); if (region == 1) tft.drawString("ID:", 216, 191, GFXFF); tft.drawString("PS:", 6, 191, GFXFF); @@ -558,14 +573,16 @@ void loop() { tft.fillRect(174, 139, 12, 8, TFT_GREYOUT); tft.fillRect(188, 139, 12, 8, TFT_GREYOUT); tft.setTextColor(TFT_GREYOUT); - tft.drawString("20", 20, 146, GFXFF); - tft.drawString("40", 50, 146, GFXFF); - tft.drawString("60", 80, 146, GFXFF); - tft.drawString("80", 110, 146, GFXFF); - tft.drawString("100", 134, 146, GFXFF); - tft.drawString("120", 164, 146, GFXFF); - tft.drawString("%", 196, 146, GFXFF); - tft.drawString("M", 6, 132, GFXFF); + if (showmodulation) { + tft.drawString("20", 20, 146, GFXFF); + tft.drawString("40", 50, 146, GFXFF); + tft.drawString("60", 80, 146, GFXFF); + tft.drawString("80", 110, 146, GFXFF); + tft.drawString("100", 134, 146, GFXFF); + tft.drawString("120", 164, 146, GFXFF); + tft.drawString("%", 196, 146, GFXFF); + tft.drawString("M", 6, 132, GFXFF); + } if (region == 0) tft.drawString("PI:", 216, 191, GFXFF); if (region == 1) tft.drawString("ID:", 216, 191, GFXFF); tft.drawString("PS:", 6, 191, GFXFF); @@ -1227,6 +1244,10 @@ void ModeButtonPress() { EEPROM.writeByte(57, showSWMIBand); EEPROM.writeByte(58, radio.rds.filter); EEPROM.writeByte(59, radio.rds.dynamicpi); + EEPROM.writeByte(244, showsquelch); + EEPROM.writeByte(245, showmodulation); + EEPROM.writeByte(246, amnb); + EEPROM.writeByte(247, fmnb); EEPROM.commit(); Serial.end(); if (wifi) remoteip = IPAddress (WiFi.localIP()[0], WiFi.localIP()[1], WiFi.localIP()[2], subnetclient); @@ -1567,6 +1588,36 @@ void ButtonPress() { 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); 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 { @@ -1867,6 +1918,50 @@ void KeyUp() { 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); 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); if (radio.rds.dynamicpi) tft.drawCentreString(myLanguage[language][42], 155, 110, GFXFF); else tft.drawCentreString(myLanguage[language][30], 155, 110, GFXFF); 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; if (wifi) { 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(); } strcpy(radioIdPrevious, radio.rds.picode); @@ -2550,11 +2689,21 @@ void BuildMenu() { tft.drawString(myLanguage[language][59], 14, 50, GFXFF); tft.drawString(myLanguage[language][60], 14, 70, 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.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 (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 (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); } @@ -2605,16 +2754,14 @@ void BuildDisplay() { } tft.setTextColor(TFT_WHITE); 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("dB", 300, 164, GFXFF); tft.drawString("S", 6, 100, GFXFF); - tft.drawString("M", 6, 132, GFXFF); if (region == 0) tft.drawString("PI:", 216, 191, GFXFF); if (region == 1) tft.drawString("ID:", 216, 191, GFXFF); tft.drawString("PS:", 6, 191, GFXFF); tft.drawString("PTY:", 6, 164, GFXFF); - tft.drawString("%", 196, 146, GFXFF); tft.drawString("1", 24, 116, GFXFF); tft.drawString("3", 48, 116, GFXFF); tft.drawString("5", 72, 116, GFXFF); @@ -2622,12 +2769,15 @@ void BuildDisplay() { tft.drawString("9", 120, 116, GFXFF); tft.drawString("+10", 134, 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("40", 50, 146, GFXFF); tft.drawString("60", 80, 146, GFXFF); tft.drawString("80", 110, 146, GFXFF); tft.drawString("100", 134, 146, GFXFF); tft.drawString("120", 164, 146, GFXFF); + tft.drawString("%", 196, 146, GFXFF); tft.setTextColor(TFT_WHITE); tft.setFreeFont(FONT14); tft.drawString("kHz", 225, -5, GFXFF); @@ -3075,8 +3225,12 @@ void ShowOffset() { } void ShowBW() { - if (millis() >= bwupdatetimer + TIMER_BW_TIMER) { bwupdatetimer = millis(); } - else { return; } + if (millis() >= bwupdatetimer + TIMER_BW_TIMER) { + bwupdatetimer = millis(); + } + else { + return; + } if (BW != BWOld || BWreset == true) { tft.setFreeFont(FONT14); @@ -3096,36 +3250,38 @@ void ShowBW() { } void ShowModLevel() { - int segments; - int color; - int hold = 0; + if (showmodulation) { + int segments; + int color; + int hold = 0; - if (SQ != false) { - MStatus = 0; - MStatusold = 1; - } + if (SQ != false) { + MStatus = 0; + MStatusold = 1; + } - if (MStatus != MStatusold || MStatus < 10) { - for (segments = 0; segments < 13; segments++) { - color = TFT_GREEN; - if (segments > 8) color = TFT_ORANGE; - if (segments > 9) color = TFT_RED; - if (MStatus > (segments + 1) * 10) { - hold = segments; - tft.fillRect(20 + segments * 14, 139, 12, 8, color); - } else { - if (segments != peakholdold) tft.fillRect(20 + segments * 14, 139, 12, 8, TFT_GREYOUT); + if (MStatus != MStatusold || MStatus < 10) { + for (segments = 0; segments < 13; segments++) { + color = TFT_GREEN; + if (segments > 8) color = TFT_ORANGE; + if (segments > 9) color = TFT_RED; + if (MStatus > (segments + 1) * 10) { + hold = segments; + tft.fillRect(20 + segments * 14, 139, 12, 8, color); + } else { + 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) { - peakholdtimer += 3000; - peakholdold = hold; + if (peakholdmillis > peakholdtimer + 3000) { + peakholdtimer += 3000; + peakholdold = hold; + } + peakholdmillis = millis(); + MStatusold = MStatus; } - peakholdmillis = millis(); - MStatusold = MStatus; } } @@ -3134,23 +3290,24 @@ void doSquelch() { if (XDRGTKUSB == false && XDRGTKTCP == false) { Squelch = analogRead(PIN_POT) / 4 - 100; if (Squelch > 920) Squelch = 920; - - if (seek == false && menu == false && Squelch != Squelchold) { - tft.setTextColor(TFT_BLACK); - if (Squelchold == -100) { - tft.drawCentreString(myLanguage[language][33], 224, 164, GFXFF); - } else if (Squelchold == 920) { - tft.drawCentreString("ST", 224, 164, GFXFF); - } else { - tft.drawCentreString(String(Squelchold / 10), 224, 164, GFXFF); - } - tft.setTextColor(TFT_WHITE); - if (Squelch == -100) { - tft.drawCentreString(myLanguage[language][33], 224, 164, GFXFF); - } else if (Squelch == 920) { - tft.drawCentreString("ST", 224, 164, GFXFF); - } else { - tft.drawCentreString(String(Squelch / 10), 224, 164, GFXFF); + if (showsquelch) { + if (seek == false && menu == false && Squelch != Squelchold) { + tft.setTextColor(TFT_BLACK); + if (Squelchold == -100) { + tft.drawCentreString(myLanguage[language][33], 224, 164, GFXFF); + } else if (Squelchold == 920) { + tft.drawCentreString("ST", 224, 164, GFXFF); + } else { + tft.drawCentreString(String(Squelchold / 10), 224, 164, GFXFF); + } + tft.setTextColor(TFT_WHITE); + if (Squelch == -100) { + tft.drawCentreString(myLanguage[language][33], 224, 164, GFXFF); + } else if (Squelch == 920) { + tft.drawCentreString("ST", 224, 164, GFXFF); + } else { + tft.drawCentreString(String(Squelch / 10), 224, 164, GFXFF); + } } Squelchold = Squelch; } @@ -3174,7 +3331,7 @@ void doSquelch() { SQ = true; } } - if (screenmute == false) { + if (screenmute == false && showsquelch == true) { if (Squelch != Squelchold) { tft.setTextColor(TFT_BLACK); if (Squelchold == -1) tft.drawCentreString("ST", 224, 164, GFXFF); else tft.drawCentreString(String(Squelchold / 10), 224, 164, GFXFF); diff --git a/src/TEF6686.cpp b/src/TEF6686.cpp index 480e9ca..870ca4d 100644 --- a/src/TEF6686.cpp +++ b/src/TEF6686.cpp @@ -62,7 +62,7 @@ void TEF6686::setSoftmuteFM(uint8_t mode) { } 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) { @@ -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) { - if (start == 0) devTEF_Radio_Set_NoisBlanker(0, 1000); else devTEF_Radio_Set_NoisBlanker(1, (start * 10) + 500); +void TEF6686::setFMNoiseBlanker(uint16_t start) { + if (start == 0) devTEF_Radio_Set_NoisBlanker(0, 1000); else devTEF_Radio_Set_NoisBlanker(1, start * 10); } void TEF6686::setStereoLevel(uint8_t start) { diff --git a/src/TEF6686.h b/src/TEF6686.h index 060dc38..0f86229 100644 --- a/src/TEF6686.h +++ b/src/TEF6686.h @@ -32,7 +32,7 @@ enum RADIO_TUNE_MODE { #define FREQ_MW_STEP_10K 10 #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_MW_LOW_EDGE_MIN_9K 522 #define FREQ_MW_LOW_EDGE_MIN_10K 520 @@ -234,7 +234,7 @@ class TEF6686 { void setHighCutOffset(uint8_t start); void setStHiBlendLevel(uint16_t limit); void setStHiBlendOffset(uint8_t start); - void setNoiseBlanker(uint16_t start); + void setFMNoiseBlanker(uint16_t start); void setAMCoChannel(uint16_t start); void setAMNoiseBlanker(uint16_t start); void setAMAttenuation(uint16_t start); diff --git a/src/language.h b/src/language.h index 153901d..d571e5b 100644 --- a/src/language.h +++ b/src/language.h @@ -1,6 +1,6 @@ // [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 "Rotary direction changed", "Please release button", @@ -62,7 +62,11 @@ static const char myLanguage[9][62][78] = { "Stationlist client IP", "Show SW wavelength", "RDS filter", - "Dynamic PI" + "Dynamic PI", + "Show squelch", + "Modulation meter", + "AM Noise blanker", + "FM Noise blanker" }, { "Nederlands", // Dutch @@ -121,12 +125,16 @@ static const char myLanguage[9][62][78] = { "Verbind met: ", "om Wi-Fi in te stellen", "Verbinden met Wi-Fi...", - "MISLUKT.. WiFi uitgeschakeld", + "MISLUKT! WiFi uitgeschakeld", "VERBONDEN!", "Stationlist client IP", "Toon SW golflengte", "RDS filter", - "Dynamische PI" + "Dynamische PI", + "Toon squelch", + "Modulatie meter", + "AM ruis filter", + "FM ruis filter" }, { "Polski", // Polish @@ -190,7 +198,11 @@ static const char myLanguage[9][62][78] = { "IP klienta Stationlist", "Pokaz dlugosci fal SW", "RDS filter", - "Dynamic PI" + "Dynamic PI", + "Show squelch", + "Modulation meter", + "AM Noise blanker", + "FM Noise blanker" }, { "Hrvatski", // Croatian @@ -254,7 +266,11 @@ static const char myLanguage[9][62][78] = { "IP klijenta StationList", "Prikaži valnu duljinu KV-a", "RDS filter", - "Dynamic PI" + "Dynamic PI", + "Show squelch", + "Modulation meter", + "AM Noise blanker", + "FM Noise blanker" }, { "Ελληνικά", // Greek @@ -318,7 +334,11 @@ static const char myLanguage[9][62][78] = { "Stationlist client IP", "Show SW wavelength", "RDS filter", - "Dynamic PI" + "Dynamic PI", + "Show squelch", + "Modulation meter", + "AM Noise blanker", + "FM Noise blanker" }, { "Romana", // Romanian @@ -382,7 +402,11 @@ static const char myLanguage[9][62][78] = { "Stationlist client IP", "Show SW wavelength", "RDS filter", - "Dynamic PI" + "Dynamic PI", + "Show squelch", + "Modulation meter", + "AM Noise blanker", + "FM Noise blanker" }, { "Deutsch", // German @@ -446,7 +470,11 @@ static const char myLanguage[9][62][78] = { "Stationlist client IP", "Show SW wavelength", "RDS filter", - "Dynamic PI" + "Dynamic PI", + "Show squelch", + "Modulation meter", + "AM Noise blanker", + "FM Noise blanker" }, { "Czech", // Czech "Směr enkóderu byl změněn", @@ -509,7 +537,11 @@ static const char myLanguage[9][62][78] = { "Stationlist client IP", "Show SW wavelength", "RDS filter", - "Dynamic PI" + "Dynamic PI", + "Show squelch", + "Modulation meter", + "AM Noise blanker", + "FM Noise blanker" }, { "Slovak", // Slovak "Smer enkóderu bol zmenený", @@ -572,6 +604,10 @@ static const char myLanguage[9][62][78] = { "Stationlist client IP", "Show SW wavelength", "RDS filter", - "Dynamic PI" + "Dynamic PI", + "Show squelch", + "Modulation meter", + "AM Noise blanker", + "FM Noise blanker" }, };