Conversation
There was a problem hiding this comment.
Pull request overview
This PR updates the NimBLE stack from the esp-nimble fork to the mainline Mynewt-NimBLE v1.9.0. This simplifies maintenance by pulling from the upstream repo directly while incorporating ESP device support, and enables access to more recent NimBLE features and important updates.
Changes:
- Updates NimBLE core to v1.9.0 with new features (Channel Sounding stubs, ISO improvements, ADV coding selection, periodic ADV ADI support, scan configuration VS commands)
- Removes ESP-specific fork files (ble_esp_hs.h, ble_esp_gap.h, ble_esp_gatt.h) and refactors platform guards (
#ifndef ESP_PLATFORMmoved before license headers) - Refactors include paths from angle brackets to quotes, removes deprecated APIs, and fixes several bugs (IRK list indexing, scheduler null check, scan request PDU generation)
Reviewed changes
Copilot reviewed 122 out of 287 changed files in this pull request and generated 11 comments.
Show a summary per file
| File | Description |
|---|---|
| src/nimble/RELEASE_NOTES.md, NOTICE, LICENSE | Updated to NimBLE v1.9.0 release info |
| src/nimble/nimble/host/include/host/ble_hs.h | Removed ESP-specific includes and config fields (sm_sc_only, eatt) |
| src/nimble/nimble/host/include/host/ble_sm.h | Added comprehensive doxygen documentation, reordered OOB fields |
| src/nimble/nimble/host/include/host/ble_l2cap.h | Added COC CID range defines and ble_l2cap_remove_server |
| src/nimble/nimble/host/include/host/ble_att.h | Reorganized ATT opcodes, added new error codes, removed EATT-specific APIs |
| src/nimble/nimble/host/include/host/ble_hs_hci.h | Renamed ble_hs_hci_util_rand to ble_hs_hci_rand |
| src/nimble/nimble/host/include/host/ble_hs_log.h | Switched to NPL-based logging |
| src/nimble/nimble/host/include/host/ble_cs.h | New Channel Sounding host header |
| src/nimble/nimble/host/include/host/ble_eddystone.h | Added documentation comments, renamed parameter |
| src/nimble/nimble/host/include/host/ble_uuid.h | Added BLE_UUID128_INIT docs, reformatted comments |
| src/nimble/nimble/host/include/host/ble_aes_ccm.h | Removed duplicate/unnecessary tinycrypt include |
| Mesh headers (model_srv/cli, mesh, heartbeat, health, cfg, cdb, atomic) | Removed mesh include files |
| src/nimble/nimble/controller/include/controller/ble_ll.h | Extended feature bits, replaced BLE_LL_BT5_PHY_SUPPORTED macro |
| src/nimble/nimble/controller/include/controller/ble_ll_conn.h | Added encrypt_paused, conn_update_host_initd flags, renamed anchor API |
| src/nimble/nimble/controller/include/controller/ble_ll_scan.h | Added VS scan config, refactored scan NRPA, added make_req_pdu |
| src/nimble/nimble/controller/include/controller/ble_ll_iso.h | Major refactor with ble_ll_iso_conn struct and new APIs |
| src/nimble/nimble/controller/include/controller/ble_ll_isoal.h | Added framed PDU support, mux improvements |
| src/nimble/nimble/controller/include/controller/ble_ll_cs.h | New Channel Sounding controller header |
| src/nimble/nimble/controller/include/controller/ble_ll_sched.h | Updated iso_big signature with fixed param |
| src/nimble/nimble/controller/include/controller/ble_ll_sync.h | Changed periodic_ind API from bool to uint8_t mode |
| src/nimble/nimble/controller/include/controller/ble_ll_ctrl.h | Removed data param from ctrl_proc_start, updated enc_allowed |
| src/nimble/nimble/controller/include/controller/ble_ll_adv.h | Renamed rmvd callback, added v2 param API |
| src/nimble/nimble/controller/include/controller/ble_ll_resolv.h | Added local IRK APIs |
| src/nimble/nimble/controller/src/*.c | Platform guard refactoring, bug fixes, new features |
| src/nimble/nimble/drivers/nrf5x/, nrf51/ | Platform guard refactoring, NRF53 removal, bug fixes |
| src/nimble/ext/tinycrypt/** | Include path changes to quotes, removed metadata files |
| src/nimble/esp_port/** | Include path fixes, added extern declarations |
| src/NimBLEUtils.cpp | Added #ifdef guards for potentially removed GAP events |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
04446a1 to
ce41f64
Compare
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
c277901 to
9c0284a
Compare
This will update to the mainline Mynewt-nimble repo and pull in esp device support from the esp-nimble fork. Doing this allows for simplified maintenance and avoids having too much additional/unsupported upstream changes. This also allows for using more recent NimBLE versions and being able to pull in important updates that are not in esp-nimble.
This will update to the mainline Mynewt-nimble repo and pull in esp device support from the esp-nimble fork. Doing this allows for simplified maintenance and avoids having too much additional/unsupported upstream changes.
This also allows for using more recent NimBLE versions and being able to pull in important updates that are not in esp-nimble.