The package uses the nRFx SDK package `nrfx`. In addition, the `mynewt-nimble` repository contains some files (`porting/nimble/src/hal_timer.c` and `porting/npl/riot/src/nrf5x_isr.c`) that are compilable only for nRF MCUs. To allow the compilation for other platforms, the use of the `nrfx` package and the compilation of these files are now dependent on the use of any nRF5x MCU.
If the package is used for a controller that supports the HCI UART H4 transport layer protocol, the functions implemented in `nimble/transport/common/hci_h4` are very useful to deal with H4 formatted packages. If required, they can be enabled by module `nimble_transport_hci_h4`.
Also brutally silence -Wcast-align warnings in OS_MBUF_PKTHDR()
and OS_MBUF_PKTHDR_TO_MBUF(), as those are used by nimble users.
It might make sense to check if the silenced / disabled warnings do
indeed point out unaligned memory accesses.
Prepare for handling pkg state with files. So it requires having the
path defined before declaring targets. In addition, it cleans up the
old git-download target.
The -Wno-sometimes-uninitialized suppression seems to no longer be
necessary. Removing it as it may mask a real bug.
If the problem reappears, and if the comment is correct about it
being only in an unused function, then instead of adding the CFLAG,
it should be fixed locally via a patch.
Nimble contains a couple of casts that discard alignment information.
This causes a warning with clang's -Wno-address-of-packed-member.
A previous PR (#10503) supressed that warning. This commit re-enables
them and provides a patch to fix the offending code.
The fix has been submitted upstream, see
https://github.com/apache/mynewt-nimble/pull/252
When building `nimble` with LLVM/clang the function
`ble_ll_adv_active_chanset_is_sec()` in `ble_ll_adv.c` is reported to
be unused, it is used within an assertions and `ifdef`s within that
file though. So this just disables that warning.