Changes for XDRGTK

- Changed bandscanner
- Enabled Advanced RDS viewer
This commit is contained in:
Sjef Verhoeven PE5PVB
2023-07-22 00:12:36 +02:00
parent ee53dd6a46
commit 279fc96c9a
3 changed files with 29 additions and 13 deletions
+8 -12
View File
@@ -609,7 +609,7 @@ void setup() {
} }
void loop() { void loop() {
if (digitalRead(BANDBUTTON) == LOW && XDRGTKUSB == false && XDRGTKTCP == false) BANDBUTTONPress(); if (digitalRead(BANDBUTTON) == LOW ) BANDBUTTONPress();
if (power == true) { if (power == true) {
Communication(); Communication();
@@ -4996,6 +4996,8 @@ void XDRGTKRoutine() {
radio.clearRDS(fullsearchrds); radio.clearRDS(fullsearchrds);
RDSstatus = false; RDSstatus = false;
store = true; store = true;
aftest = true;
aftimer = millis();
break; break;
case 'Q': case 'Q':
@@ -5020,7 +5022,6 @@ void XDRGTKRoutine() {
scanner_filter = atol(buff + 2); scanner_filter = atol(buff + 2);
} else if (scanner_start > 0 && scanner_end > 0 && scanner_step > 0 && scanner_filter >= 0) { } else if (scanner_start > 0 && scanner_end > 0 && scanner_step > 0 && scanner_filter >= 0) {
frequencyold = frequency; frequencyold = frequency;
radio.SetFreq(scanner_start);
DataPrint("U"); DataPrint("U");
if (scanner_filter < 0) { if (scanner_filter < 0) {
BWset = 0; BWset = 0;
@@ -5059,26 +5060,21 @@ void XDRGTKRoutine() {
} }
doBW(); doBW();
if (screenmute == false) { if (screenmute == false) {
ShowFreq(1); tft.drawRoundRect(10, 30, 300, 170, 5, ActiveColor);
tftPrint(0, myLanguage[language][34], 140, 68, ActiveColor, ActiveColorSmooth, FONT28); tft.fillRoundRect(12, 32, 296, 166, 5, BackgroundColor);
tftPrint(0, myLanguage[language][34], 160, 100, ActiveColor, ActiveColorSmooth, FONT28);
} }
frequencyold = frequency; frequencyold = frequency;
for (freq_scan = scanner_start; freq_scan <= scanner_end; freq_scan += scanner_step) { for (freq_scan = scanner_start; freq_scan <= scanner_end; freq_scan += scanner_step) {
radio.SetFreq(freq_scan);
DataPrint(String(freq_scan * 10, DEC)); DataPrint(String(freq_scan * 10, DEC));
DataPrint(" = "); DataPrint(" = ");
delay(10);
if (band == BAND_FM) radio.getStatus(SStatus, USN, WAM, OStatus, BW, MStatus, SNR); else radio.getStatusAM(SStatus, USN, WAM, OStatus, BW, MStatus, SNR); if (band == BAND_FM) radio.getStatus(SStatus, USN, WAM, OStatus, BW, MStatus, SNR); else radio.getStatusAM(SStatus, USN, WAM, OStatus, BW, MStatus, SNR);
DataPrint(String((SStatus / 10) + 10, DEC)); DataPrint(String((radio.CheckSignal(freq_scan) / 10) + 10, DEC));
DataPrint(", "); DataPrint(", ");
} }
DataPrint("\n"); DataPrint("\n");
if (screenmute == false) {
tft.setTextColor(BackgroundColor);
tftPrint(0, myLanguage[language][34], 140, 68, InsignificantColor, InsignificantColorSmooth, FONT28);
}
radio.SetFreq(frequencyold); radio.SetFreq(frequencyold);
ShowFreq(0); BuildDisplay();
radio.setFMABandw(); radio.setFMABandw();
BWset = 0; BWset = 0;
} }
+19
View File
@@ -50,6 +50,25 @@ void TEF6686::TestAFEON() {
if (!mute) devTEF_Audio_Set_Mute(0); if (!mute) devTEF_Audio_Set_Mute(0);
} }
uint16_t TEF6686::CheckSignal(uint16_t frequency) {
uint16_t status;
uint16_t rdsStat;
uint16_t dummy1;
uint16_t dummy2;
uint8_t dummy3;
int16_t level;
uint16_t usn;
uint16_t wam;
int16_t offset;
byte timing = 0;
devTEF_Set_Cmd(TEF_FM, Cmd_Tune_To, 7, 3, frequency);
while (timing == 0 && !bitRead(timing, 15)) {
devTEF_Radio_Get_Quality_Status(&status, &level, &usn, &wam, &offset, &dummy1, &dummy2, &dummy3);
timing = lowByte(status);
}
return level;
}
uint16_t TEF6686::TestAF() { uint16_t TEF6686::TestAF() {
if (af_counter != 0) { if (af_counter != 0) {
uint16_t status; uint16_t status;
+1
View File
@@ -175,6 +175,7 @@ class TEF6686 {
eon_ eon[20]; eon_ eon[20];
rds_ rds; rds_ rds;
logbook_ logbook[22]; logbook_ logbook[22];
uint16_t CheckSignal(uint16_t frequency);
uint16_t TestAF(); uint16_t TestAF();
void TestAFEON(); void TestAFEON();
void readRDS(bool showrdserrors); void readRDS(bool showrdserrors);