Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ jobs:
uses: actions/checkout@v3
with:
repository: espressif/esp-protocols
ref: wifi_remote-v0.4.0
ref: eppp-v1.1.3
sparse-checkout: |
ci/build_apps.py
ci/ignore_build_warnings.txt
Expand Down Expand Up @@ -67,7 +67,7 @@ jobs:
uses: actions/checkout@v3
with:
repository: espressif/esp-protocols
ref: wifi_remote-v0.4.0
ref: eppp-v1.1.3
sparse-checkout: |
ci/build_apps.py
ci/ignore_build_warnings.txt
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/build_eppp.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ jobs:
uses: actions/checkout@v3
with:
repository: espressif/esp-protocols
ref: wifi_remote-v0.4.0
ref: eppp-v1.1.3
sparse-checkout: |
ci/build_apps.py
ci/ignore_build_warnings.txt
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ jobs:
uses: actions/checkout@v4
with:
repository: espressif/esp-protocols
ref: wifi_remote-v0.4.0
ref: eppp-v1.1.3
sparse-checkout: |
ci/detect_component_bump
sparse-checkout-cone-mode: false
Expand Down
12 changes: 5 additions & 7 deletions components/esp_wifi_remote/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -9,16 +9,14 @@ idf_component_register(INCLUDE_DIRS include
REQUIRES esp_event esp_netif
PRIV_REQUIRES esp_wifi esp-tls vfs)

# Set default version directory (branch version)
set(IDF_VER_DIR "${CMAKE_CURRENT_SOURCE_DIR}/idf_v${IDF_VERSION_MAJOR}.${IDF_VERSION_MINOR}")

# Check if we're on tagged version of ESP-IDF and if we need to supply specific version
string(REGEX MATCH "^v[0-9]+\\.[0-9]+(\\.[0-9]+)?(-dirty)?$" IDF_VER_TAG "${IDF_VER}")
if (IDF_VER_TAG)
string(REGEX REPLACE "-dirty$" "" IDF_VER_TAG "${IDF_VER_TAG}")
if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/idf_tag_${IDF_VER_TAG}")
set(IDF_VER_DIR "${CMAKE_CURRENT_SOURCE_DIR}/idf_tag_${IDF_VER_TAG}")
endif()
# Try exact tag version first (idf_tag_vX.Y.Z)
if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/idf_tag_v${IDF_VERSION_MAJOR}.${IDF_VERSION_MINOR}.${IDF_VERSION_PATCH}")
set(IDF_VER_DIR "${CMAKE_CURRENT_SOURCE_DIR}/idf_tag_v${IDF_VERSION_MAJOR}.${IDF_VERSION_MINOR}.${IDF_VERSION_PATCH}")
endif()
# If exact tag doesn't exist, fall back to branch version (idf_vX.Y) - already set above

idf_component_get_property(wifi esp_wifi COMPONENT_LIB)

Expand Down
19 changes: 12 additions & 7 deletions components/esp_wifi_remote/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,18 @@ menu "Wi-Fi Remote"
default n if ESP_HOST_WIFI_ENABLED

if ESP_WIFI_REMOTE_ENABLED
orsource "./idf_v$ESP_IDF_VERSION/Kconfig.slave_select.in"
orsource "./idf_v$ESP_IDF_VERSION/Kconfig.soc_wifi_caps.in"
orsource "./Kconfig.rpc.in"
# Resolve version-specific includes via generated fragment located in the build directory.
config ESP_IDF_VERSION
string
default "$ESP_IDF_VERSION"
if ESP_IDF_VERSION>"5.3"
orsource "./Kconfig.$IDF_VERSION.in"
endif
if ESP_IDF_VERSION<="5.4"
rsource "./idf_v$ESP_IDF_VERSION/Kconfig.in"
endif

rsource "./Kconfig.rpc.in"

config ESP_WIFI_REMOTE_EAP_ENABLED
bool "Enable EAP client remote API"
Expand All @@ -16,10 +25,6 @@ menu "Wi-Fi Remote"
help
When enabled, the EAP client remote API will be available.
This allows remote control of EAP authentication functions.

menu "Wi-Fi configuration"
orsource "./idf_v$ESP_IDF_VERSION/Kconfig.wifi.in"
endmenu
endif
if !ESP_WIFI_REMOTE_ENABLED

Expand Down
6 changes: 6 additions & 0 deletions components/esp_wifi_remote/Kconfig.5.3.0.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@

orsource "./idf_tag_v5.3.0/Kconfig.in"

if !ESP_WIFI_REMOTE_IDF_SPECIFIC_ADDED
rsource "./idf_v5.3/Kconfig.in"
endif
6 changes: 6 additions & 0 deletions components/esp_wifi_remote/Kconfig.5.3.1.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@

orsource "./idf_tag_v5.3.1/Kconfig.in"

if !ESP_WIFI_REMOTE_IDF_SPECIFIC_ADDED
rsource "./idf_v5.3/Kconfig.in"
endif
6 changes: 6 additions & 0 deletions components/esp_wifi_remote/Kconfig.5.3.2.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@

orsource "./idf_tag_v5.3.2/Kconfig.in"

if !ESP_WIFI_REMOTE_IDF_SPECIFIC_ADDED
rsource "./idf_v5.3/Kconfig.in"
endif
6 changes: 6 additions & 0 deletions components/esp_wifi_remote/Kconfig.5.3.3.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@

orsource "./idf_tag_v5.3.3/Kconfig.in"

if !ESP_WIFI_REMOTE_IDF_SPECIFIC_ADDED
rsource "./idf_v5.3/Kconfig.in"
endif
6 changes: 6 additions & 0 deletions components/esp_wifi_remote/Kconfig.5.3.4.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@

orsource "./idf_tag_v5.3.4/Kconfig.in"

if !ESP_WIFI_REMOTE_IDF_SPECIFIC_ADDED
rsource "./idf_v5.3/Kconfig.in"
endif
6 changes: 6 additions & 0 deletions components/esp_wifi_remote/Kconfig.5.4.0.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@

orsource "./idf_tag_v5.4.0/Kconfig.in"

if !ESP_WIFI_REMOTE_IDF_SPECIFIC_ADDED
rsource "./idf_v5.4/Kconfig.in"
endif
6 changes: 6 additions & 0 deletions components/esp_wifi_remote/Kconfig.5.4.1.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@

orsource "./idf_tag_v5.4.1/Kconfig.in"

if !ESP_WIFI_REMOTE_IDF_SPECIFIC_ADDED
rsource "./idf_v5.4/Kconfig.in"
endif
6 changes: 6 additions & 0 deletions components/esp_wifi_remote/Kconfig.5.4.2.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@

orsource "./idf_tag_v5.4.2/Kconfig.in"

if !ESP_WIFI_REMOTE_IDF_SPECIFIC_ADDED
rsource "./idf_v5.4/Kconfig.in"
endif
6 changes: 6 additions & 0 deletions components/esp_wifi_remote/Kconfig.5.4.3.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@

orsource "./idf_tag_v5.4.3/Kconfig.in"

if !ESP_WIFI_REMOTE_IDF_SPECIFIC_ADDED
rsource "./idf_v5.4/Kconfig.in"
endif
6 changes: 6 additions & 0 deletions components/esp_wifi_remote/Kconfig.5.5.0.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@

orsource "./idf_tag_v5.5.0/Kconfig.in"

if !ESP_WIFI_REMOTE_IDF_SPECIFIC_ADDED
rsource "./idf_v5.5/Kconfig.in"
endif
6 changes: 6 additions & 0 deletions components/esp_wifi_remote/Kconfig.5.5.1.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@

orsource "./idf_tag_v5.5.1/Kconfig.in"

if !ESP_WIFI_REMOTE_IDF_SPECIFIC_ADDED
rsource "./idf_v5.5/Kconfig.in"
endif
6 changes: 6 additions & 0 deletions components/esp_wifi_remote/Kconfig.6.0.0.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@

orsource "./idf_tag_v6.0.0/Kconfig.in"

if !ESP_WIFI_REMOTE_IDF_SPECIFIC_ADDED
rsource "./idf_v6.0/Kconfig.in"
endif
19 changes: 19 additions & 0 deletions components/esp_wifi_remote/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,25 @@ CONFIG_ESP_WIFI_AMPDU_RX_ENABLED → CONFIG_WIFI_RMT_AMPDU_RX_ENABLED

> **Note**: Some configuration options are compile-time only. Manual slave-side configuration and rebuild required for consistency.

## IDF Version-Specific Configuration

The `esp_wifi_remote` component maintains compatibility across different ESP-IDF versions through automatic version resolution.

### Version Resolution Logic

The component uses a two-tier approach for version-specific configurations:

1. **Exact Tag Versions** (`idf_tag_vX.Y.Z`): For specific release tags (e.g., `v5.4.1`, `v5.5.0`)
2. **Branch Versions** (`idf_vX.Y`): For release branches (e.g., `v5.4`, `v5.5`)

### Resolution Priority

- **ESP-IDF v5.3**: Direct inclusion of `idf_v5.3/Kconfig.in` (no `$IDF_VERSION` variable available)
- **ESP-IDF > v5.3**: Dynamic inclusion via `Kconfig.$IDF_VERSION.in`
- **Tag Resolution**: First attempts `idf_tag_v$major.$minor.$patch`, then falls back to `idf_v$major.$minor`

Both Kconfig and CMake follow the same pattern: try exact tag version first, fallback to branch version if not found.

## Dependencies on `esp_wifi`

Public API needs to correspond exactly to the `esp_wifi` API. Some of the internal types depend on the actual wifi target, as well as some default configuration values. Therefore it's easier to maintain consistency between this component and the exact version of `esp_wifi` automatically in CI:
Expand Down
10 changes: 10 additions & 0 deletions components/esp_wifi_remote/idf_tag_v5.3.0/Kconfig.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
config ESP_WIFI_REMOTE_IDF_SPECIFIC_ADDED
bool
default y

rsource "./Kconfig.slave_select.in"
rsource "./Kconfig.soc_wifi_caps.in"

menu "Wi-Fi configuration"
rsource "./Kconfig.wifi.in"
endmenu
Loading
Loading