Added mono/stereo toggle to touch

This commit is contained in:
Sjef Verhoeven PE5PVB
2024-10-25 13:05:15 +02:00
parent 6d7cdeb9ae
commit c26e71c61e
4 changed files with 41 additions and 27 deletions

View File

@@ -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

View File

@@ -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;
}
}
}
}

View File

@@ -3,13 +3,16 @@
#include <Arduino.h>
#include <TFT_eSPI.h>
#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