firmware/esp32-csi-node: IDF 6 build, HE CSI config, unicore DSP, provision chip detect#522
Open
krish2718 wants to merge 4 commits intoruvnet:mainfrom
Open
firmware/esp32-csi-node: IDF 6 build, HE CSI config, unicore DSP, provision chip detect#522krish2718 wants to merge 4 commits intoruvnet:mainfrom
krish2718 wants to merge 4 commits intoruvnet:mainfrom
Conversation
…RES) - rvf_parser: use psa_hash_* / psa_hash_compute; mbedTLS 4 has no public mbedtls/sha256.h on the IDF include path. - main/CMakeLists: declare REQUIRES for WiFi, netif, HTTP, OTA, drivers, lwip, mbedtls per ESP-IDF v6 component dependency checks; optional wasm3 when CONFIG_WASM_ENABLE. Signed-off-by: Chaitanya Tata <chaitanya@dotstarconsulting.com> Co-authored-by: Cursor <cursoragent@cursor.com>
When CONFIG_SOC_WIFI_HE_SUPPORT is set, wifi_csi_config_t is the wifi_csi_acquire_config_t bitfield layout. The legacy bool fields (lltf_en, htltf_en, ...) only apply to ESP32-S3-class targets. Initialize acquire fields for HE targets; add MAC v3-only members when CONFIG_SOC_WIFI_MAC_VERSION_NUM >= 3. Verified: idf.py build for esp32c6 and esp32s3 (ESP-IDF v6.1). Signed-off-by: Chaitanya Tata <chaitanya@dotstarconsulting.com> Co-authored-by: Cursor <cursoragent@cursor.com>
edge_processing_init used xTaskCreatePinnedToCore(..., core 1). ESP32-C6 runs FreeRTOS unicore (portNUM_PROCESSORS == 1), so core 1 trips the xTaskCreatePinnedToCore range assert right after CSI init. Use core 1 only when SMP is available; otherwise pin to core 0. Signed-off-by: Chaitanya Tata <chaitanya@dotstarconsulting.com> Co-authored-by: Cursor <cursoragent@cursor.com>
provision.py always passed --chip esp32s3 to esptool, so flashing NVS on ESP32-C6 failed. Default --chip to auto (esptool v5) and add an explicit --chip override. Use write-flash instead of deprecated write_flash. Signed-off-by: Chaitanya Tata <chaitanya@dotstarconsulting.com> Co-authored-by: Cursor <cursoragent@cursor.com>
6043c72 to
2a3ddca
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Bring
firmware/esp32-csi-nodein line with ESP-IDF 6+ and Wi-Fi 6 (HE) targets(e.g. ESP32-C6): build fixes, correct CSI configuration layout, safe task pinning
on unicore SoCs, and provisioning that does not assume ESP32-S3.
Changes
rvf_parserinstead of theremoved public
mbedtls/sha256.hAPI; set explicitREQUIRESinmain/CMakeLists.txtso IDF 6 component resolution does not treat the componentas dependency-free.
wifi_csi_config_tusing the HE acquire bitfield pathwhen
CONFIG_SOC_WIFI_HE_SUPPORTis set, matchingwifi_csi_acquire_config_tvs legacy boolean-style fields.
portNUM_PROCESSORSso core1isnever used on single-core chips.
auto(optional override); usewrite-flashspelling expected by current esptool.Test plan
idf.py set-target esp32c6(or your HE target),idf.py buildprovision.pyagainst a non-S3 device without hardcoding--chip esp32s3Notes
Intended for ESP-IDF 6+ where the SHA-256 header and component
REQUIRESbehavior changed; older IDF may still build but was not the focus of this series.