From 3542892f8996ce510dbfa25306ba23192a8b9755 Mon Sep 17 00:00:00 2001 From: Sjef Verhoeven PE5PVB Date: Fri, 31 May 2024 19:25:42 +0200 Subject: [PATCH] Added command "J" for XDRGTK. J1 start FMDX scan, J0 stop FMDX scan --- TEF6686_ESP32.ino | 7 ++++++- src/comms.cpp | 20 ++++++++++++++------ src/comms.h | 3 +++ 3 files changed, 23 insertions(+), 7 deletions(-) diff --git a/TEF6686_ESP32.ino b/TEF6686_ESP32.ino index 0d3bcd3..11aca5e 100644 --- a/TEF6686_ESP32.ino +++ b/TEF6686_ESP32.ino @@ -2780,7 +2780,7 @@ void ShowMemoryPos() { void DoMemoryPosTune() { if (spispeed == 7) tft.setSPISpeed(50); - + // Process empty stations if (IsStationEmpty()) { memoryposstatus = MEM_DARK; @@ -4376,6 +4376,7 @@ void cancelDXScan() { ShowTuneMode(); ShowMemoryPos(); + if (XDRGTKUSB || XDRGTKTCP) DataPrint("J0\n"); } void endMenu() { @@ -4473,8 +4474,11 @@ void endMenu() { } void startFMDXScan() { + if (afscreen || advancedRDS) BuildDisplay(); + if (memorypos > scanstop || memorypos < scanstart) memorypos = scanstart; scanmodeold = tunemode; + if (scanmem) { tunemode = TUNE_MEM; if (band != presets[memorypos].band) { @@ -4501,6 +4505,7 @@ void startFMDXScan() { } scantimer = millis(); scandxmode = true; + if (XDRGTKUSB || XDRGTKTCP) DataPrint("J1\n"); } void setAutoSpeedSPI() { diff --git a/src/comms.cpp b/src/comms.cpp index 1b53c9b..4b08704 100644 --- a/src/comms.cpp +++ b/src/comms.cpp @@ -489,14 +489,22 @@ void XDRGTKRoutine() { break; case 'I': - byte fmscansenstemp; + byte fmscansenstemp; fmscansenstemp = atol(buff + 1); if (fmscansenstemp > 0 && fmscansenstemp < 31) { - fmscansens = fmscansenstemp; - EEPROM.writeByte(EE_BYTE_FMSCANSENS, fmscansens); - EEPROM.commit(); - } - DataPrint("I" + String(fmscansens) + "\n"); + fmscansens = fmscansenstemp; + EEPROM.writeByte(EE_BYTE_FMSCANSENS, fmscansens); + EEPROM.commit(); + } + DataPrint("I" + String(fmscansens) + "\n"); + break; + + case 'J': + byte scandxtemp; + scandxtemp = atol(buff + 1); + if (scandxtemp == 0 && scandxmode) cancelDXScan(); + if (scandxtemp == 1 && !scandxmode) startFMDXScan(); + DataPrint("J" + String(scandxtemp) + "\n"); break; case 'M': diff --git a/src/comms.h b/src/comms.h index a13645b..d8e85e9 100644 --- a/src/comms.h +++ b/src/comms.h @@ -22,6 +22,7 @@ extern bool menu; extern bool RDSSPYTCP; extern bool RDSSPYUSB; extern bool RDSstatus; +extern bool scandxmode; extern bool screenmute; extern bool seek; extern bool setupmode; @@ -138,5 +139,7 @@ extern void updateEQ(); extern void tftPrint(int8_t offset, const String & text, int16_t x, int16_t y, int color, int smoothcolor, uint8_t fontsize); extern void showAutoSquelch(bool mode); extern void ShowStepSize(); +extern void startFMDXScan(); +extern void cancelDXScan(); #endif \ No newline at end of file