From f64abe06fa2da8727334f0d236634efde6c2ea97 Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Thu, 12 Jun 2025 01:08:17 -0500 Subject: [PATCH] DEBUG! --- esphome/components/esp32_touch/esp32_touch.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/esphome/components/esp32_touch/esp32_touch.cpp b/esphome/components/esp32_touch/esp32_touch.cpp index d2e462bcbe..98e57dc119 100644 --- a/esphome/components/esp32_touch/esp32_touch.cpp +++ b/esphome/components/esp32_touch/esp32_touch.cpp @@ -427,6 +427,16 @@ void ESP32TouchComponent::loop() { const uint32_t now = App.get_loop_component_start_time(); bool should_print = now - this->setup_mode_last_log_print_ > 1000; // Log every second +#if !defined(USE_ESP32_VARIANT_ESP32S2) && !defined(USE_ESP32_VARIANT_ESP32S3) + // For ESP32 in SW mode, we need to trigger measurements periodically + // Otherwise no interrupts will fire + static uint32_t last_sw_trigger = 0; + if (now - last_sw_trigger >= 50) { // Trigger every 50ms (20Hz) + touch_pad_sw_start(); + last_sw_trigger = now; + } +#endif + if (this->setup_mode_ && should_print) { ESP_LOGD(TAG, "Touch Pad '%s' (T%u): value=NA", this->children_[0]->get_name().c_str(), this->children_[0]->get_touch_pad());