You've already forked TEF6686_ESP32
Added MPX output
Select MPX (MPX + Mono) or stereo output in the menu. Updated the I2C busspeed to 400kHz.
This commit is contained in:
@@ -51,6 +51,7 @@ bool edgebeep;
|
||||
byte ECCold;
|
||||
bool RDSSPYUSB;
|
||||
bool RDSSPYTCP;
|
||||
byte audiomode;
|
||||
bool BWreset;
|
||||
bool change2;
|
||||
bool cleanup;
|
||||
@@ -227,7 +228,7 @@ WiFiUDP Udp;
|
||||
|
||||
void setup() {
|
||||
setupmode = true;
|
||||
EEPROM.begin(248);
|
||||
EEPROM.begin(249);
|
||||
if (EEPROM.readByte(43) != 27) DefaultSettings();
|
||||
|
||||
frequency = EEPROM.readUInt(0);
|
||||
@@ -273,6 +274,7 @@ void setup() {
|
||||
showmodulation = EEPROM.readByte(245);
|
||||
amnb = EEPROM.readByte(246);
|
||||
fmnb = EEPROM.readByte(247);
|
||||
audiomode = EEPROM.readByte(248);
|
||||
|
||||
LWLowEdgeSet = FREQ_LW_LOW_EDGE_MIN; // later will read from flash
|
||||
LWHighEdgeSet = FREQ_LW_HIGH_EDGE_MAX; // later will read from flash
|
||||
@@ -460,6 +462,7 @@ void setup() {
|
||||
radio.setSoftmuteAM(softmuteam);
|
||||
radio.setAMNoiseBlanker(amnb);
|
||||
radio.setFMNoiseBlanker(fmnb);
|
||||
radio.setAudio(audiomode);
|
||||
if (region == 1) radio.setDeemphasis(2);
|
||||
radio.rds.region = region;
|
||||
LowLevelInit = true;
|
||||
@@ -513,7 +516,7 @@ void loop() {
|
||||
if (region == 1) tft.drawString("ID:", 216, 191, GFXFF);
|
||||
tft.drawString("PS:", 6, 191, GFXFF);
|
||||
tft.drawString("PTY:", 6, 164, GFXFF);
|
||||
tft.drawLine(20, 150, 200, 150, TFT_DARKGREY);
|
||||
if (!showmodulation) tft.drawLine(20, 150, 200, 150, TFT_GREYOUT); else tft.drawLine(20, 150, 200, 150, TFT_DARKGREY);
|
||||
}
|
||||
LowLevelInit = true;
|
||||
}
|
||||
@@ -1211,6 +1214,7 @@ void ModeButtonPress() {
|
||||
EEPROM.writeByte(245, showmodulation);
|
||||
EEPROM.writeByte(246, amnb);
|
||||
EEPROM.writeByte(247, fmnb);
|
||||
EEPROM.writeByte(248, audiomode);
|
||||
EEPROM.commit();
|
||||
Serial.end();
|
||||
if (wifi) remoteip = IPAddress (WiFi.localIP()[0], WiFi.localIP()[1], WiFi.localIP()[2], subnetclient);
|
||||
@@ -1581,6 +1585,13 @@ void ButtonPress() {
|
||||
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;
|
||||
|
||||
case 190:
|
||||
tft.setTextColor(TFT_WHITE);
|
||||
tft.drawCentreString(myLanguage[language][67], 155, 70, GFXFF);
|
||||
tft.setTextColor(TFT_YELLOW);
|
||||
if (audiomode) tft.drawCentreString("MPX", 155, 110, GFXFF); else tft.drawCentreString("Stereo", 155, 110, GFXFF);
|
||||
break;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
@@ -1925,6 +1936,15 @@ void KeyUp() {
|
||||
if (fmnb != 0) tft.drawRightString(String(fmnb, DEC), 155, 110, GFXFF); else tft.drawRightString(myLanguage[language][30], 155, 110, GFXFF);
|
||||
radio.setFMNoiseBlanker(fmnb);
|
||||
break;
|
||||
|
||||
case 190:
|
||||
tft.setTextColor(TFT_BLACK);
|
||||
if (audiomode) tft.drawCentreString("MPX", 155, 110, GFXFF); else tft.drawCentreString("Stereo", 155, 110, GFXFF);
|
||||
if (audiomode) audiomode = false; else audiomode = true;
|
||||
tft.setTextColor(TFT_YELLOW);
|
||||
if (audiomode) tft.drawCentreString("MPX", 155, 110, GFXFF); else tft.drawCentreString("Stereo", 155, 110, GFXFF);
|
||||
radio.setAudio(audiomode);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -2262,6 +2282,15 @@ void KeyDown() {
|
||||
if (fmnb != 0) tft.drawRightString(String(fmnb, DEC), 155, 110, GFXFF); else tft.drawRightString(myLanguage[language][30], 155, 110, GFXFF);
|
||||
radio.setFMNoiseBlanker(fmnb);
|
||||
break;
|
||||
|
||||
case 190:
|
||||
tft.setTextColor(TFT_BLACK);
|
||||
if (audiomode) tft.drawCentreString("MPX", 155, 110, GFXFF); else tft.drawCentreString("Stereo", 155, 110, GFXFF);
|
||||
if (audiomode) audiomode = false; else audiomode = true;
|
||||
tft.setTextColor(TFT_YELLOW);
|
||||
if (audiomode) tft.drawCentreString("MPX", 155, 110, GFXFF); else tft.drawCentreString("Stereo", 155, 110, GFXFF);
|
||||
radio.setAudio(audiomode);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -2656,6 +2685,7 @@ void BuildMenu() {
|
||||
tft.drawString(myLanguage[language][63], 14, 130, GFXFF);
|
||||
tft.drawString(myLanguage[language][64], 14, 150, GFXFF);
|
||||
tft.drawString(myLanguage[language][65], 14, 170, GFXFF);
|
||||
tft.drawString(myLanguage[language][67], 14, 190, 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);
|
||||
@@ -2667,6 +2697,7 @@ void BuildMenu() {
|
||||
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);
|
||||
if (audiomode) tft.drawRightString("MPX", 305, 190, GFXFF); else tft.drawRightString("Stereo", 305, 190, GFXFF);
|
||||
}
|
||||
analogWrite(SMETERPIN, 0);
|
||||
}
|
||||
@@ -2705,7 +2736,7 @@ void BuildDisplay() {
|
||||
tft.drawLine(108, 30, 108, 0, TFT_BLUE);
|
||||
tft.drawLine(174, 30, 174, 0, TFT_BLUE);
|
||||
tft.drawLine(20, 120, 200, 120, TFT_DARKGREY);
|
||||
tft.drawLine(20, 150, 200, 150, TFT_DARKGREY);
|
||||
if (!showmodulation) tft.drawLine(20, 150, 200, 150, TFT_GREYOUT); else tft.drawLine(20, 150, 200, 150, TFT_DARKGREY);
|
||||
for (uint16_t segments = 0; segments < 94; segments++) {
|
||||
if (segments > 54) {
|
||||
if (((segments - 53) % 10) == 0)
|
||||
@@ -4488,5 +4519,6 @@ void DefaultSettings() {
|
||||
EEPROM.writeByte(245, 1);
|
||||
EEPROM.writeByte(246, 0);
|
||||
EEPROM.writeByte(247, 0);
|
||||
EEPROM.writeByte(248, 0);
|
||||
EEPROM.commit();
|
||||
}
|
||||
|
||||
@@ -120,8 +120,7 @@ void TEF6686::setDeemphasis(uint8_t timeconstant) {
|
||||
}
|
||||
|
||||
void TEF6686::setAudio(uint8_t audio) {
|
||||
if (audio == 1) devTEF_Radio_Specials(0);
|
||||
if (audio == 2) devTEF_Radio_Specials(1);
|
||||
devTEF_Radio_Specials(audio);
|
||||
}
|
||||
|
||||
void TEF6686::setFMSI(uint8_t mode) {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
// [number of languages][number of texts][max. length of text]
|
||||
|
||||
static const char myLanguage[9][67][78] = {
|
||||
static const char myLanguage[9][68][78] = {
|
||||
{ "English", // English
|
||||
"Rotary direction changed",
|
||||
"Please release button",
|
||||
@@ -67,7 +67,8 @@ static const char myLanguage[9][67][78] = {
|
||||
"Modulation meter",
|
||||
"AM Noise blanker",
|
||||
"FM Noise blanker",
|
||||
"Defaults loaded"
|
||||
"Defaults loaded",
|
||||
"Audio output"
|
||||
},
|
||||
|
||||
{ "Nederlands", // Dutch
|
||||
@@ -136,7 +137,8 @@ static const char myLanguage[9][67][78] = {
|
||||
"Modulatie meter",
|
||||
"AM ruis filter",
|
||||
"FM ruis filter",
|
||||
"Opnieuw geconfigureerd"
|
||||
"Opnieuw geconfigureerd",
|
||||
"Audio uitgang"
|
||||
},
|
||||
|
||||
{ "Polski", // Polish
|
||||
@@ -205,7 +207,8 @@ static const char myLanguage[9][67][78] = {
|
||||
"Modulation meter",
|
||||
"AM Noise blanker",
|
||||
"FM Noise blanker",
|
||||
"Defaults loaded"
|
||||
"Defaults loaded",
|
||||
"Audio output"
|
||||
},
|
||||
|
||||
{ "Hrvatski", // Croatian
|
||||
@@ -274,7 +277,8 @@ static const char myLanguage[9][67][78] = {
|
||||
"Mjerač modulacije",
|
||||
"AM prigušivač šuma",
|
||||
"FM prigušivač šuma",
|
||||
"Defaults loaded"
|
||||
"Defaults loaded",
|
||||
"Audio output"
|
||||
},
|
||||
|
||||
{ "Ελληνικά", // Greek
|
||||
@@ -339,11 +343,12 @@ static const char myLanguage[9][67][78] = {
|
||||
"Εμφάνιση μήκους κύματος SW",
|
||||
"Φίλτρο RDS",
|
||||
"Δυναμικό PI",
|
||||
"Εμφάνιση squelch",
|
||||
"Μετρητής διαμόρφωσης",
|
||||
"Απαλοιφή θορύβου AM",
|
||||
"Απαλοιφή θορύβου FM"
|
||||
"Defaults loaded"
|
||||
"Εμφάνιση squelch",
|
||||
"Μετρητής διαμόρφωσης",
|
||||
"Απαλοιφή θορύβου AM",
|
||||
"Απαλοιφή θορύβου FM"
|
||||
"Defaults loaded",
|
||||
"Audio output"
|
||||
},
|
||||
|
||||
{ "Romana", // Romanian
|
||||
@@ -412,7 +417,8 @@ static const char myLanguage[9][67][78] = {
|
||||
"Modulation meter",
|
||||
"AM Noise blanker",
|
||||
"FM Noise blanker",
|
||||
"Defaults loaded"
|
||||
"Defaults loaded",
|
||||
"Audio output"
|
||||
},
|
||||
|
||||
{ "Deutsch", // German
|
||||
@@ -481,7 +487,8 @@ static const char myLanguage[9][67][78] = {
|
||||
"Modulation meter",
|
||||
"AM Noise blanker",
|
||||
"FM Noise blanker",
|
||||
"Defaults loaded"
|
||||
"Defaults loaded",
|
||||
"Audio output"
|
||||
},
|
||||
{ "Czech", // Czech
|
||||
"Směr enkóderu byl změněn",
|
||||
@@ -549,7 +556,9 @@ static const char myLanguage[9][67][78] = {
|
||||
"Modulation meter",
|
||||
"AM Noise blanker",
|
||||
"FM Noise blanker",
|
||||
"Defaults loaded"
|
||||
"Defaults loaded",
|
||||
"Audio output"
|
||||
|
||||
},
|
||||
{ "Slovak", // Slovak
|
||||
"Smer enkóderu bol zmenený",
|
||||
@@ -617,6 +626,7 @@ static const char myLanguage[9][67][78] = {
|
||||
"Modulation meter",
|
||||
"AM Noise blanker",
|
||||
"FM Noise blanker",
|
||||
"Defaults loaded"
|
||||
"Defaults loaded",
|
||||
"Audio output"
|
||||
},
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user