From 5deb776a97a96dae5c3de683c1c99446a488b607 Mon Sep 17 00:00:00 2001 From: William Emfinger Date: Fri, 22 Aug 2025 21:15:50 -0500 Subject: [PATCH 1/2] fix: Build in esp-idf 5.4.1 and add CI to test builds of examples in different versions --- .github/workflows/build.yml | 40 +++++++++++++++++++++++++++++++++++++ src/espnow/src/espnow.c | 2 +- 2 files changed, 41 insertions(+), 1 deletion(-) create mode 100644 .github/workflows/build.yml diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..53ee349 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,40 @@ +name: Build + +on: [pull_request] + +jobs: + build: + + runs-on: ubuntu-latest + continue-on-error: true + + strategy: + matrix: + # all the idf versions we want to test + idf: + - version: 'v5.4.1' + - version: 'v5.4.2' + - version: 'v5.5' + # all the examples + build: + - path: 'examples/coin_cell_demo/bulb' + - path: 'examples/coin_cell_demo/switch' + - path: 'examples/control' + - path: 'examples/get-started' + - path: 'examples/ota' + - path: 'examples/provisioning' + - path: 'examples/security' + - path: 'examples/solution' + - path: 'examples/wireless_debug' + + steps: + - name: Checkout repo + uses: actions/checkout@v4 + + - name: Build code + uses: espressif/esp-idf-ci-action@v1 + with: + esp_idf_version: ${{ matrix.idf.version }} + path: ${{ matrix.build.path }} + target: esp32s3 + command: 'idf.py build' diff --git a/src/espnow/src/espnow.c b/src/espnow/src/espnow.c index e79e777..fab138a 100644 --- a/src/espnow/src/espnow.c +++ b/src/espnow/src/espnow.c @@ -401,7 +401,7 @@ void espnow_recv_cb(const uint8_t *addr, const uint8_t *data, int size) } /**< callback function of sending ESPNOW data */ -#if ESP_IDF_VERSION >= ESP_IDF_VERSION_VAL(5, 0, 1) +#if ESP_IDF_VERSION >= ESP_IDF_VERSION_VAL(5, 5, 0) void espnow_send_cb(const esp_now_send_info_t *tx_info, esp_now_send_status_t status) #else void espnow_send_cb(const uint8_t *addr, esp_now_send_status_t status) From 4a8a3af6e5b3fb0dce4c62c304b492f13ac30846 Mon Sep 17 00:00:00 2001 From: William Emfinger Date: Fri, 22 Aug 2025 21:26:51 -0500 Subject: [PATCH 2/2] fix ci builds --- examples/coin_cell_demo/bulb/main/idf_component.yml | 1 - examples/coin_cell_demo/switch/main/idf_component.yml | 1 - examples/control/main/idf_component.yml | 1 - examples/get-started/main/idf_component.yml | 1 - examples/ota/main/idf_component.yml | 1 - examples/provisioning/main/idf_component.yml | 1 - examples/security/main/idf_component.yml | 1 - examples/solution/main/idf_component.yml | 1 - examples/wireless_debug/main/idf_component.yml | 1 - idf_component.yml | 1 + src/espnow/src/espnow.c | 2 +- 11 files changed, 2 insertions(+), 10 deletions(-) diff --git a/examples/coin_cell_demo/bulb/main/idf_component.yml b/examples/coin_cell_demo/bulb/main/idf_component.yml index dceceda..b28c26c 100644 --- a/examples/coin_cell_demo/bulb/main/idf_component.yml +++ b/examples/coin_cell_demo/bulb/main/idf_component.yml @@ -12,5 +12,4 @@ dependencies: idf: version: ">=4.4" esp-now: - version: "2.*" override_path: "../../../.." diff --git a/examples/coin_cell_demo/switch/main/idf_component.yml b/examples/coin_cell_demo/switch/main/idf_component.yml index 56c9c24..815336a 100644 --- a/examples/coin_cell_demo/switch/main/idf_component.yml +++ b/examples/coin_cell_demo/switch/main/idf_component.yml @@ -5,5 +5,4 @@ dependencies: idf: version: ">=4.4" esp-now: - version: "2.*" override_path: "../../../.." diff --git a/examples/control/main/idf_component.yml b/examples/control/main/idf_component.yml index c563687..9389626 100644 --- a/examples/control/main/idf_component.yml +++ b/examples/control/main/idf_component.yml @@ -13,7 +13,6 @@ dependencies: idf: version: ">=4.4" esp-now: - version: "2.*" override_path: "../../.." # # Put list of dependencies here # # For components maintained by Espressif: diff --git a/examples/get-started/main/idf_component.yml b/examples/get-started/main/idf_component.yml index ae0bdf6..ed0eb9e 100644 --- a/examples/get-started/main/idf_component.yml +++ b/examples/get-started/main/idf_component.yml @@ -1,5 +1,4 @@ dependencies: idf: ">=4.4" esp-now: - version: "2.*" override_path: "../../.." diff --git a/examples/ota/main/idf_component.yml b/examples/ota/main/idf_component.yml index ae0bdf6..ed0eb9e 100644 --- a/examples/ota/main/idf_component.yml +++ b/examples/ota/main/idf_component.yml @@ -1,5 +1,4 @@ dependencies: idf: ">=4.4" esp-now: - version: "2.*" override_path: "../../.." diff --git a/examples/provisioning/main/idf_component.yml b/examples/provisioning/main/idf_component.yml index ae0bdf6..ed0eb9e 100644 --- a/examples/provisioning/main/idf_component.yml +++ b/examples/provisioning/main/idf_component.yml @@ -1,5 +1,4 @@ dependencies: idf: ">=4.4" esp-now: - version: "2.*" override_path: "../../.." diff --git a/examples/security/main/idf_component.yml b/examples/security/main/idf_component.yml index ae0bdf6..ed0eb9e 100644 --- a/examples/security/main/idf_component.yml +++ b/examples/security/main/idf_component.yml @@ -1,5 +1,4 @@ dependencies: idf: ">=4.4" esp-now: - version: "2.*" override_path: "../../.." diff --git a/examples/solution/main/idf_component.yml b/examples/solution/main/idf_component.yml index d16fb56..683605b 100644 --- a/examples/solution/main/idf_component.yml +++ b/examples/solution/main/idf_component.yml @@ -14,7 +14,6 @@ dependencies: idf: version: ">=4.4" esp-now: - version: "2.*" override_path: "../../.." # # Put list of dependencies here # # For components maintained by Espressif: diff --git a/examples/wireless_debug/main/idf_component.yml b/examples/wireless_debug/main/idf_component.yml index fbdb943..1892dec 100644 --- a/examples/wireless_debug/main/idf_component.yml +++ b/examples/wireless_debug/main/idf_component.yml @@ -8,7 +8,6 @@ dependencies: idf: version: ">=4.4" esp-now: - version: "2.*" override_path: "../../.." # # Put list of dependencies here # # For components maintained by Espressif: diff --git a/idf_component.yml b/idf_component.yml index 66c538c..b245c68 100644 --- a/idf_component.yml +++ b/idf_component.yml @@ -1,6 +1,7 @@ description: This package provides enhanced ESP-NOW functions which will be easy to integrate into product. url: https://github.com/esp-cpp/esp-now issues: https://github.com/esp-cpp/esp-now/issues +version: "1.0.2" dependencies: idf: ">=5.0" cmake_utilities: "0.*" diff --git a/src/espnow/src/espnow.c b/src/espnow/src/espnow.c index fab138a..3d06178 100644 --- a/src/espnow/src/espnow.c +++ b/src/espnow/src/espnow.c @@ -411,7 +411,7 @@ void espnow_send_cb(const uint8_t *addr, esp_now_send_status_t status) g_buffered_num --; } -#if ESP_IDF_VERSION >= ESP_IDF_VERSION_VAL(5, 0, 1) +#if ESP_IDF_VERSION >= ESP_IDF_VERSION_VAL(5, 5, 0) if (!tx_info || !g_event_group) { ESP_LOGW(TAG, "Send cb args error, tx_info is NULL"); return ;