ESP32 Targets - Continued tested and fixes of IDF5 #8019
Replies: 10 comments 2 replies
|
This one is on the list for investigation and formal raising with REPL tests. Intermittent GATT Peripheral Failure Initial Codex analysis - (Which I dont fully understand and is to be checked ) Current-master commit ed46a3a0b correctly changes active-service deletion to stop first and delete on ESP_GATTS_STOP_EVT. It removes the immediate BT_GATT: Active Service Found misuse, but it does not defer replacement service construction until all old applications have unregistered. The runner initially performed a redundant NRF.sleep() cleanup after its hardware reboot. That was removed so the fresh reboot itself supplies the clean precondition. The fault remained and the decoded frames still pointed inside NRF.setServices(), so the final result is not attributed to that runner transition. Source review also found that gatts_reset() declares esp_err_t r but does not assign the return from esp_ble_gatts_stop_service() before testing r. That should be corrected, although it does not by itself explain the decoded array-lifetime and heap-corruption failures. |
I'm actually using IDF5 now :) When merging the IDF5 branch I wanted to check we weren't breaking existing builds (especially as I know some features had been commented out on IDF5), but I think now it's merged we should work on the assumption that at some point we will remove IDF4 and the legacy build. I still don't want to break them, but I don't think we should put any effort into fixing them. I feel like you've put so much effort into testing now that most people won't notice any IDF4 regressions over what was in the 2v29 release, so I think we're probably safe to focus testing and fixes solely on IDF5 |
|
@gfwilliams RE The Intermittent GATT Peripheral Failure
So far this appears specific to NRF.setServices(). A Espruino JS minimal test repeatedly replaces the same custom service rather than accumulating new services. On the affected C3 IDF4 build, the first call returns and the fault occurs during subsequent asynchronous GATT processing, before the second call. We have not observed the same instability in BLE operation without custom service configuration, so I would not describe it as general BLE instability. |
|
Issue #2753 is raised for a wifi issue where On ESP32-family builds, Wifi.setIP() and Wifi.setAPIP() do not reliably agree with their callback result. |
|
And PR 2754 is raised to make the required changes to fix 2753 |
|
Having been away for a while im continuing to close our the ESP32 IDF5 testing. so these tests should pick up any issues with recent changes:
|
|
Initial tests on the classic ESP32 showed the recent TX Buffer change has cause an issue with an invalid UART configuration. See new PR to fix this espruino/Espruino#2768 |

Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
@gfwilliams and @MaBecker
Good morning. Given the the IDF5 merge itself is completed ref closed issue espruino/Espruino#2731, But i believe we still have issues to close out, im starting this thread for general discussion to share further testing and identified issues , (given we will create specific githhub issues for those).
My status is im continuing to test the IDF5 builds of espruino across the classic (original ESP32), C3 and S3 targets , making sure the existing builds (classic and IDF4) are not broken in the process as Gordon has asked.
Im using Codex AI agent generated tests on the test harness boards i have made, with multiple peripheral devices incorporated as well and peer testing using an ESP32 C3 for BLE and EIFI testing. but lesson learnt earlier and for any issue ill share simple Espruino REPL code to demonstrate any issue.
I will continue to detail the issues but at the moment , im seeing issues in both the IDF5 and IDF4 builds across the targets. The issues are currently in the WIFI and BLE testing. The only one raised so far , from me is
Im seeing other IDF5 WIFI issues , whcih ill look at, and the peer testing is showing probable issues in the C3 BLE functionality in IDF4.
I note the ESP32 Github issues others have raised and appreciate @MaBecker adding the ESP32 tag.
More to follow. Any advice or direction please shout as always.
PS one general question for @gfwilliams , whcih ESP32 build are you using for your ongoing C3 work , IDF4 or IDF5 ? and I assume you still want both left working ??
All reactions