These targets can be used to generate syscfg.h and other
files that Newt generates on compilation and that are
required to compile ported Nimble. It makes it easier to
update syscfg.h, to track changes in these files
and to track dependencies of a target.
Currently, the default value of BLE_LL_CONN_INIT_MAX_TX_BYTES is
set to 27, preventing the LL data length extension to work
properly in RIOT (TX octets always set to 27). With this fix the
controller is applying the desired TX octets values as defined by
BLE_LL_MAX_PKT_SIZE.
Sync with apache-mynewt-core
Those are useful for some BLE and Mesh PDU handling (and probably more).
Instead of user defining own function it should be beneficial to have
common implementation.
Not that this is useful only for flat buffers so only put and get
helpers.
This allows to enable custom extensions for DTM which currently allow to
override interval between test packets and number of packets to be
transmitted. See description of new syscfg setting for details.
This is not enabled by default since it extends HCI command defined by
Core specification so we need to be compliant by default. However even
if extensions are enabled, NimBLE still accepts HCI command as defined
in Core specification but also accepts extended one.
main.c: In function ‘main’:
main.c:65:33: warning: implicit declaration of function ‘atoi’ [-Wimplicit-function-declaration]
65 | ble_hci_sock_set_device(atoi(argv[1]));
| ^~~~
There is already BLE_NPL_TIME_FOREVER which should be used instead.
Also due to int promotion using BLE_NPL_WAIT_FOREVER was causing
subtle issues on 64bit asrchitectures when used.
Linux port sample is using legacy advertising API which is disabled
if Extended Advertising is enabled. For testing complete linux build we
should have separate linux_dummy sample which doesn't call any APIs for
simplicity.
The RIOT port aims to provide a very slim default
configuration with only some basic features enabled.
The link layer privacy and encryption featues can be
re-enabled through the RIOT build-system, this allows
a simpler integration with low-resource platforms.
This patch change a way of handling stop procedure. Before, host was
disconnecting one by one all the active connections. This could result
in long procedure time when some devices came out of range and host was
waiting as long as supervision timout takes.
Now, host is sending in the raw Disconnect Command to all the active
connections and then start graceful disconnect timeout 2s.
Host notifies that is stop when
a) all the disconnection complete events arrived within 2s
b) disconnect timeout fires
This adds two new settings which allows to use two GPIO pins to indicate
when command is received or event sent by controller. This can be useful
for debugging, e.g. to check synchronization between HCI and air
activity.
gcc allows implicit conversion between enum type (even when `-Wall` is
specified). clang does not allow such conversions with `-Wall`. It
reports warnings like this one:
error: implicit conversion from enumeration type 'os_error_t' (aka 'enum os_error') to different enumeration type 'ble_npl_error_t' (aka 'enum ble_npl_error')
This commit makes these conversions explicit via casts. This allows the
unit test code to be built with clang using Mynewt's default build
flags.