diff --git a/examples/companion_radio/ui-new/UITask.cpp b/examples/companion_radio/ui-new/UITask.cpp index c751eaf5..f0f9ed1d 100644 --- a/examples/companion_radio/ui-new/UITask.cpp +++ b/examples/companion_radio/ui-new/UITask.cpp @@ -519,6 +519,14 @@ void UITask::loop() { c = handleLongPress(KEY_ENTER); } #endif +#if defined(DISP_BACKLIGHT) && defined(BACKLIGHT_BTN) + static int next_btn_check = 0; + if (millis() > next_btn_check) { + bool touch_state = digitalRead(PIN_BUTTON2); + digitalWrite(DISP_BACKLIGHT, !touch_state); + next_btn_check = millis() + 300; + } +#endif if (c != 0 && curr) { curr->handleInput(c); diff --git a/src/helpers/ui/GxEPDDisplay.cpp b/src/helpers/ui/GxEPDDisplay.cpp index ace25460..9ba7d074 100644 --- a/src/helpers/ui/GxEPDDisplay.cpp +++ b/src/helpers/ui/GxEPDDisplay.cpp @@ -19,6 +19,7 @@ bool GxEPDDisplay::begin() { display.fillScreen(GxEPD_WHITE); display.display(true); #if DISP_BACKLIGHT + digitalWrite(DISP_BACKLIGHT, LOW); pinMode(DISP_BACKLIGHT, OUTPUT); #endif _init = true; @@ -27,14 +28,14 @@ bool GxEPDDisplay::begin() { void GxEPDDisplay::turnOn() { if (!_init) begin(); -#if DISP_BACKLIGHT +#if defined(DISP_BACKLIGHT) && !defined(BACLIGHT_BTN) digitalWrite(DISP_BACKLIGHT, HIGH); #endif _isOn = true; } void GxEPDDisplay::turnOff() { -#if DISP_BACKLIGHT +#if defined(DISP_BACKLIGHT) && !defined(BACKLIGHT_BTN) digitalWrite(DISP_BACKLIGHT, LOW); #endif _isOn = false; diff --git a/variants/techo/platformio.ini b/variants/techo/platformio.ini index e5cfacd4..260be35f 100644 --- a/variants/techo/platformio.ini +++ b/variants/techo/platformio.ini @@ -78,6 +78,7 @@ build_flags = -D DISPLAY_CLASS=GxEPDDisplay -D OFFLINE_QUEUE_SIZE=256 -D UI_RECENT_LIST_SIZE=9 + -D BACKLIGHT_BTN=PIN_BUTTON2 ; -D MESH_PACKET_LOGGING=1 ; -D MESH_DEBUG=1 build_src_filter = ${LilyGo_Techo.build_src_filter}