diff --git a/TEF6686_ESP32.ino b/TEF6686_ESP32.ino index e2b15bb..db958ff 100644 --- a/TEF6686_ESP32.ino +++ b/TEF6686_ESP32.ino @@ -627,21 +627,19 @@ void setup() { if (displayflip == 0) { #ifdef ARS tft.setRotation(0); -#elif defined(DEEPELEC_DP_66X) - tft.setRotation(1); #else tft.setRotation(3); #endif } else { #ifdef ARS tft.setRotation(2); -#elif defined(DEEPELEC_DP_66X) - tft.setRotation(3); #else tft.setRotation(1); #endif } + tft.invertDisplay(!invertdisplay); + pinMode(BANDBUTTON, INPUT); pinMode(MODEBUTTON, INPUT); pinMode(BWBUTTON, INPUT); @@ -778,7 +776,6 @@ void setup() { EEPROM.commit(); } - tft.invertDisplay(!invertdisplay); tft.setTouch(TouchCalData); tft.fillScreen(BackgroundColor); tftPrint(0, myLanguage[language][8], 160, 3, PrimaryColor, PrimaryColorSmooth, 28); @@ -4452,12 +4449,12 @@ void DefaultSettings() { #ifdef DEEPELEC_DP_66X EEPROM.writeByte(EE_BYTE_ROTARYMODE, 1); EEPROM.writeByte(EE_BYTE_INVERTDISPLAY, 0); - EEPROM.writeByte(EE_BYTE_DISPLAYFLIP, 0); + EEPROM.writeByte(EE_BYTE_DISPLAYFLIP, 1); EEPROM.writeByte(EE_BYTE_HARDWARE_MODEL, PORTABLE_TOUCH_ILI9341); #else EEPROM.writeByte(EE_BYTE_ROTARYMODE, 0); EEPROM.writeByte(EE_BYTE_INVERTDISPLAY, 1); - EEPROM.writeByte(EE_BYTE_DISPLAYFLIP, 1); + EEPROM.writeByte(EE_BYTE_DISPLAYFLIP, 0); EEPROM.writeByte(EE_BYTE_HARDWARE_MODEL, BASE_ILI9341); #endif diff --git a/src/config.h b/src/config.h index 48f485b..567ee66 100644 --- a/src/config.h +++ b/src/config.h @@ -5,6 +5,6 @@ // #define HAS_AIR_BAND // uncomment to enable Air Band(Make sure you have Air Band extend board) // #define CHINA_PORTABLE // uncomment for China Portable build (Simplified Chinese) - #define DEEPELEC_DP_66X // uncomment for DEEPELEC Portable DP-66X build (Simplified Chinese) +// #define DEEPELEC_DP_66X // uncomment for DEEPELEC Portable DP-66X build (Simplified Chinese) #endif diff --git a/src/touch.cpp b/src/touch.cpp index 7c2a9e4..4027eaa 100644 --- a/src/touch.cpp +++ b/src/touch.cpp @@ -4,27 +4,39 @@ #include "config.h" void doTouchEvent(uint16_t x, uint16_t y) { - if (!menu && !advancedRDS && !seek && !afscreen) { // Normal radio mode - if (x > 0 && x < 320 && y > 180 && y < 240 && band < BAND_GAP) { // ----------------- - leave = true; - BuildAdvancedRDS(); // Switch to Advanced RDS View - return; - } else if (x > 60 && x < 240 && y > 40 && y < 100) { - doBandToggle(); // Toggle bands - return; - } else if (x > 0 && x < 30 && y > 25 && y < 90) { - doTuneMode(); // Toggle tune mode - return; + if (seek) radio.setUnMute(); + seek = false; + if (scandxmode) { + cancelDXScan(); + } else { + if (!menu) { // All pages except menu + if (x > 40 && x < 80 && y > 0 && y < 25 && band < BAND_GAP) { // --------------------- + doStereoToggle(); + } // Stereo toggle } - } - if (!menu && advancedRDS && !seek && !afscreen) { // Advanced RDS mode - if (x > 0 && x < 320 && y > 180 && y < 240) { // ----------------- - leave = true; - BuildDisplay(); - SelectBand(); - ScreensaverTimerReopen(); // Switch to normal radio view - return; + if (!menu && !advancedRDS && !seek && !afscreen) { // Normal radio mode + if (x > 0 && x < 320 && y > 180 && y < 240 && band < BAND_GAP) { // ----------------- + leave = true; + BuildAdvancedRDS(); // Switch to Advanced RDS View + return; + } else if (x > 60 && x < 240 && y > 40 && y < 100) { + doBandToggle(); // Toggle bands + return; + } else if (x > 0 && x < 30 && y > 25 && y < 90) { + doTuneMode(); // Toggle tune mode + return; + } + } + + if (!menu && advancedRDS && !seek && !afscreen) { // Advanced RDS mode + if (x > 0 && x < 320 && y > 180 && y < 240) { // ----------------- + leave = true; + BuildDisplay(); + SelectBand(); + ScreensaverTimerReopen(); // Switch to normal radio view + return; + } } } } \ No newline at end of file diff --git a/src/touch.h b/src/touch.h index e5c48a1..f468ca6 100644 --- a/src/touch.h +++ b/src/touch.h @@ -3,13 +3,16 @@ #include #include +#include "TEF6686.h" extern TFT_eSPI tft; +extern TEF6686 radio; extern bool advancedRDS; extern bool afscreen; extern bool leave; extern bool menu; +extern bool scandxmode; extern bool seek; extern byte band; @@ -21,4 +24,6 @@ extern void SelectBand(); extern void BuildAdvancedRDS(); extern void doBandToggle(); extern void doTuneMode(); +extern void doStereoToggle(); +extern void cancelDXScan(); #endif \ No newline at end of file