-
Notifications
You must be signed in to change notification settings - Fork 2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
pkg/nimble: Update to 1.8.0 #21108
base: master
Are you sure you want to change the base?
pkg/nimble: Update to 1.8.0 #21108
Conversation
@sjanc, could you help me here? I'm always running into |
These are more instances where [2221] bites, which will be introduced when RIOT updates to Nimble 1.8 (as is being worked on in [21108]) [2221]: rust-lang/rust-bindgen#2221 [21108]: RIOT-OS/RIOT#21108
ble_ll_init() is initializing controller part and on Mynewt it is called from generated sysinit calls, so yes, you'll have to use extern in port (at least for now). It shall be called before ble_transport_hs_init() and ble_transport_ll_init() calls [1][2] I think you should update nimble_port_init() to adjust for those changes as controller port is very HW/OS specific... [1] https://github.com/apache/mynewt-nimble/blob/master/nimble/controller/pkg.yml#L45 |
Thanks; moved into a patch while we're aiming for 1.8.0, and filed as apache/mynewt-nimble#1956. All patches that are now applied are submitted upstream (one even already merged), with the exception of a dead code one where I'm not sure whether this shouldn't better be handled by a less pedantic flag set through our build system. Builds pass, and I've not only used this with the heart rate example described in tests, but also to set up an IPSP interface. I'm placing this as ready-for-review -- if the ESP thing can be sorted out quickly, I have some remaining hope to get this in before soft freeze. |
These were found by hunting down assertion errors' causes.
I don't have the time or experience to debug a platform where I don't have devkits; let's see if all others (that's just nRF, right?) pass CI with this.
Seems the ESP port is maintained by the ESP vendor, who announced updating weeks ago, but we'll need an ESP update. |
I recall that for lvgl we had two packages for some time when upstream did a major release (with breaking API changes). I wonder if that approach to keep both versions as separate packages and let ESP only work with the old one would be the way to unblock this here. |
Contribution description
This updates nimble, with all the adjustments that need to go with it.
Testing procedure
make -C examples/nimble_heart_rate_sensor all flash term
on any supported board (I'm using on nrf52dk)Issues/PRs references
Updating this is a prerequisite to using ready-made Rust wrappers on nimble (eg. https://github.com/embassy-rs/trouble/), which is preferable over safely wrapping the whole API surface just once ore.
Current status
Not getting it to build yet; we'll need some patches for upstream problems (not following IWYU) and our dead-code strictness -- and then (currently: after fixing them manually), a few symbols are missing, which should be easy to fix but is still a tedious task.[edit: It builds now and is tested]
All patches should be upstreamed.[edit: All applicable patches are filled upstream.]