From 26083073c7e037fc9f3ff277d763e3d554c42b1c Mon Sep 17 00:00:00 2001 From: Petr Kracik Date: Mon, 6 Apr 2026 13:18:57 +0200 Subject: [PATCH 1/5] 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 ff8542e21a75eeb7066b260cdbc8eed97b67e94c Mon Sep 17 00:00:00 2001 From: Petr Kracik Date: Mon, 6 Apr 2026 13:29:04 +0200 Subject: [PATCH 2/5] 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 95c4d1709ba37c0ab8fa7377db8600effa4cb412 Mon Sep 17 00:00:00 2001 From: Petr Kracik Date: Mon, 6 Apr 2026 14:46:22 +0200 Subject: [PATCH 3/5] 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 27d93a4ed319586b246d3225bd91d74aa89147bc Mon Sep 17 00:00:00 2001 From: Petr Kracik Date: Mon, 6 Apr 2026 17:20:52 +0200 Subject: [PATCH 4/5] 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); From d4451060d8b48528f89e67c7b68e65986e0d0ff2 Mon Sep 17 00:00:00 2001 From: Petr Kracik Date: Wed, 15 Apr 2026 19:43:30 +0200 Subject: [PATCH 5/5] SDK3.3: Fix enforce PIN --- src/helpers/esp32/SerialBLEInterface.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/helpers/esp32/SerialBLEInterface.cpp b/src/helpers/esp32/SerialBLEInterface.cpp index 535ea0dda7..89e064d1f8 100644 --- a/src/helpers/esp32/SerialBLEInterface.cpp +++ b/src/helpers/esp32/SerialBLEInterface.cpp @@ -29,8 +29,10 @@ 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) +#if ESP_IDF_VERSION >= ESP_IDF_VERSION_VAL(5, 5, 0) sec.setPassKey(true, pin_code); + sec.setCapability(ESP_IO_CAP_OUT); + sec.setInitEncryptionKey(ESP_BLE_ENC_KEY_MASK | ESP_BLE_ID_KEY_MASK); #else sec.setStaticPIN(pin_code); #endif