From 73bbf54af2a1a999300950629930afe1b9f8a085 Mon Sep 17 00:00:00 2001 From: Petr Kracik Date: Mon, 6 Apr 2026 13:18:57 +0200 Subject: [PATCH 1/4] SDK3: EspNow different callback prototype --- src/helpers/esp32/ESPNOWRadio.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/helpers/esp32/ESPNOWRadio.cpp b/src/helpers/esp32/ESPNOWRadio.cpp index ced19f9110..8d47819681 100644 --- a/src/helpers/esp32/ESPNOWRadio.cpp +++ b/src/helpers/esp32/ESPNOWRadio.cpp @@ -16,7 +16,11 @@ static void OnDataSent(const uint8_t *mac_addr, esp_now_send_status_t status) { ESPNOW_DEBUG_PRINTLN("Send Status: %d", (int)status); } +#if ESP_IDF_VERSION >= ESP_IDF_VERSION_VAL(5, 0, 0) +static void OnDataRecv(const esp_now_recv_info_t *info, const uint8_t *data, int len) { +#else static void OnDataRecv(const uint8_t *mac, const uint8_t *data, int len) { +#endif ESPNOW_DEBUG_PRINTLN("Recv: len = %d", len); memcpy(rx_buf, data, len); last_rx_len = len; From 84eef47322ac2196f1130d22731c19f9c00a9c1f Mon Sep 17 00:00:00 2001 From: Petr Kracik Date: Mon, 6 Apr 2026 13:29:04 +0200 Subject: [PATCH 2/4] SDK3: EspNow missing header import --- src/helpers/esp32/ESPNOWRadio.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/helpers/esp32/ESPNOWRadio.cpp b/src/helpers/esp32/ESPNOWRadio.cpp index 8d47819681..451d5a2597 100644 --- a/src/helpers/esp32/ESPNOWRadio.cpp +++ b/src/helpers/esp32/ESPNOWRadio.cpp @@ -1,5 +1,6 @@ #include "ESPNOWRadio.h" #include +#include #include #include From 9cb28f566bd2e7427dd2a073c04386b8e7431ebf Mon Sep 17 00:00:00 2001 From: Petr Kracik Date: Mon, 6 Apr 2026 14:46:22 +0200 Subject: [PATCH 3/4] SDK3: FIX SSD1306 OLED default RST pin --- src/helpers/ui/SSD1306Display.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/helpers/ui/SSD1306Display.h b/src/helpers/ui/SSD1306Display.h index d843da85b2..3d65462ae8 100644 --- a/src/helpers/ui/SSD1306Display.h +++ b/src/helpers/ui/SSD1306Display.h @@ -8,11 +8,11 @@ #include #ifndef PIN_OLED_RESET - #define PIN_OLED_RESET 21 // Reset pin # (or -1 if sharing Arduino reset pin) +#define PIN_OLED_RESET -1 #endif #ifndef DISPLAY_ADDRESS - #define DISPLAY_ADDRESS 0x3C +#define DISPLAY_ADDRESS 0x3C #endif class SSD1306Display : public DisplayDriver { From a142b910f84407bc241973cd3cb4fb29e6e65b73 Mon Sep 17 00:00:00 2001 From: Petr Kracik Date: Mon, 6 Apr 2026 17:20:52 +0200 Subject: [PATCH 4/4] SDK3.3: Changed structures for ESPNow and BLE PIN --- src/helpers/esp32/ESPNOWRadio.cpp | 4 ++++ src/helpers/esp32/SerialBLEInterface.cpp | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/src/helpers/esp32/ESPNOWRadio.cpp b/src/helpers/esp32/ESPNOWRadio.cpp index 451d5a2597..d975a25929 100644 --- a/src/helpers/esp32/ESPNOWRadio.cpp +++ b/src/helpers/esp32/ESPNOWRadio.cpp @@ -12,7 +12,11 @@ static uint8_t rx_buf[256]; static uint8_t last_rx_len = 0; // callback when data is sent +#if ESP_IDF_VERSION >= ESP_IDF_VERSION_VAL(5, 5, 0) +static void OnDataSent(const esp_now_send_info_t *tx_info, esp_now_send_status_t status) { +#else static void OnDataSent(const uint8_t *mac_addr, esp_now_send_status_t status) { +#endif is_send_complete = true; ESPNOW_DEBUG_PRINTLN("Send Status: %d", (int)status); } diff --git a/src/helpers/esp32/SerialBLEInterface.cpp b/src/helpers/esp32/SerialBLEInterface.cpp index dcfa0e1e34..535ea0dda7 100644 --- a/src/helpers/esp32/SerialBLEInterface.cpp +++ b/src/helpers/esp32/SerialBLEInterface.cpp @@ -29,7 +29,11 @@ void SerialBLEInterface::begin(const char* prefix, char* name, uint32_t pin_code BLEDevice::setMTU(MAX_FRAME_SIZE); BLESecurity sec; + #if ESP_IDF_VERSION >= ESP_IDF_VERSION_VAL(5, 5, 0) + sec.setPassKey(true, pin_code); +#else sec.setStaticPIN(pin_code); +#endif sec.setAuthenticationMode(ESP_LE_AUTH_REQ_SC_MITM_BOND); //BLEDevice::setPower(ESP_PWR_LVL_N8);