Commit Graph

1008 Commits

Author SHA1 Message Date
Joakim Andersson
25f1ac2679 Bluetooth: samples: Update periodic_sync to new delayable work API
Update the periodic sync sample to use the new delayable work API
for blinking the LED.

Signed-off-by: Joakim Andersson <joakim.andersson@nordicsemi.no>
2021-05-05 19:44:09 -04:00
Joakim Andersson
3554f83408 Bluetooth: samples: Update eddystone sample to new delayable work API
Update the eddystone sample to use th enew delayable work API for the
idle timer.

Signed-off-by: Joakim Andersson <joakim.andersson@nordicsemi.no>
2021-05-05 19:44:09 -04:00
Joakim Andersson
fab281fc00 Bluetooth: samples: Update central_iso sample to new delayable work API
Update the central_iso sample to use the new delayable work API for
sending ISO data.

Signed-off-by: Joakim Andersson <joakim.andersson@nordicsemi.no>
2021-05-05 19:44:09 -04:00
Magdalena Kasenberg
d0e0af74da Bluetooth: Add option to log btsnoops over RTT
There is a choice to log btmon logs over UART or RTT.
You can choose number of RTT buffer, set its name and size.

Replaced CONFIG_BT_DEBUG_MONITOR with CONFIG_BT_DEBUG_MONITOR_UART
for UART usage and CONFIG_BT_DEBUG_MONITOR_RTT for RTT.

Signed-off-by: Magdalena Kasenberg <magdalena.kasenberg@codecoup.pl>
2021-05-05 16:03:38 +02:00
Vinayak Kariappa Chettimada
775c0deadf samples: Bluetooth: Add Synchronized Receiver sample
Add an application that initializes Bluetooth Subsystem,
starts scanning for Periodic Advertising, establishes
Periodic Advertising Sync, receives Periodic Advertising
reports, receives BIGInfo reports and creates BIG sync.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2021-05-04 16:58:38 +02:00
Vinayak Kariappa Chettimada
46700dfc49 samples: Bluetooth: Add ISO Broadcaster sample
Add an application that initializes Bluetooth Subsystem,
creates an Extended Advertising set, starts Periodic
Advertising and creates BIG to demonstrate ISO Broadcaster
functionality.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2021-05-04 16:58:38 +02:00
Jan Müller
383700b635 samples: hci_spi: Add net_buf headroom for hci_spi
We need 1 byte of headroom for the SPI HCI protocol.
This is not added automatically on the slave side of the SPI connection.

Signed-off-by: Jan Müller <jan.mueller@nordicsemi.no>
2021-04-21 10:09:04 +03:00
Azizah Ibrahim
d9fa9c6e1c Bluetooth: samples: Remove workqueue stack configuration
Fixed value used is too low causing overflow in nrf53.  Use default
value instead.

Signed-off-by: Azizah Ibrahim <azizah.ibrahim@nordicsemi.no>
2021-04-14 18:19:32 +02:00
Emil Gydesen
42da370df5 Bluetooth: Use ATT FIRST/LAST attribute handle defines where applicable
Change to use the BT_ATT_FIRST_ATTTRIBUTE_HANDLE and
BT_ATT_LAST_ATTTRIBUTE_HANDLE instead of the literal values where
applicable.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2021-04-08 16:35:57 +02:00
Carles Cufi
1a37d501b0 Bluetooth: ISO: Add missing reason to disconnected callback
The ISO disconnection callback now comes with a reason parameter.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2021-04-07 23:23:34 +02:00
Trond Einar Snekvik
d24810cc27 Bluetooth: Mesh: Provisioner sample: Permit 16 nodes
Ups the CDB_NODE_COUNT config to fit 16 nodes, to make the sample more
usable for general mesh testing.

Signed-off-by: Trond Einar Snekvik <Trond.Einar.Snekvik@nordicsemi.no>
2021-04-06 16:19:13 +03:00
Trond Einar Snekvik
1034d5689f Bluetooth: Mesh: Provisioner sample: Blocking self-configuration
Adds blocking operation to the self configuration step by waiting for
the status response. This ensures that the provisioner is fully
configured, and reduces the number of loopback buffers required for the
self-configuring.

Signed-off-by: Trond Einar Snekvik <Trond.Einar.Snekvik@nordicsemi.no>
2021-04-06 16:19:13 +03:00
Trond Einar Snekvik
0a58fae7a8 Bluetooth: Mesh: Provisioner sample: Cooperative thread
Runs the Provisioner sample's main thread in a cooperative priority to
avoid calling the Bluetooth APIs from a preemptive thread.

Signed-off-by: Trond Einar Snekvik <Trond.Einar.Snekvik@nordicsemi.no>
2021-04-06 16:19:13 +03:00
Trond Einar Snekvik
40f3d44fb4 Bluetooth: Mesh: Make provisioner sample bind the AppKey to all models
Instead of only configuring the Health Server model of the provisioned
device, the Provisioner will instead walk the target's composition data,
and bind each model to the same AppKey. This allows the provisioner to
be used with the base mesh sample, and demonstrates the new composition
data page 0 API.

Signed-off-by: Trond Einar Snekvik <Trond.Einar.Snekvik@nordicsemi.no>
2021-04-06 16:19:13 +03:00
Emil Gydesen
a71fec83bd Bluetooth: samples: Add central ISO sample
Adds a sample of setting up and using an ISO central as
a source of ISO data. This will periodically send ISO
data to a connected ISO peripheral with varying sizes.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2021-03-29 13:51:44 -04:00
Emil Gydesen
ea48757a9a Bluetooth: samples: Add peripheral ISO sample
Adds a sample of setting up and using an ISO server as
a sink for incoming ISO data.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2021-03-29 13:51:44 -04:00
Martí Bolívar
876cb75c8a samples: hci_spi: clean up
Move to the newer device getters and clean up the documentation.

Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
2021-03-29 16:33:51 +02:00
Martí Bolívar
8e0f631ef4 samples: st_ble_sensor: clean up
This sample is a bit messy; clean it up.

Remove unused includes, add missing include guards, clean up the
separation of responsibilities between main.c and the button and LED
helper files by moving code around, and replace the now-outmoded
device_get_binding() calls with GPIO_DT_SPEC_GET().

Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
2021-03-29 16:33:51 +02:00
Martí Bolívar
0b4d3286bb samples: mesh: clean up
Drop device_get_binding() for microbit, using a gpio_dt_spec instead.
Rename the 'button' global to 'button_work' since it's a k_work
related to the button and does not actually represent the button
itself.

Fix a typo in the docs.

Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
2021-03-29 16:33:51 +02:00
Martí Bolívar
0af09a5772 samples: mesh: bbc_microbit SRAM improvements
Save a bit more SRAM on bbc_microbit by tuning some Kconfigs.

Mark some arrays const to try to avoid stack allocating them while
we're here.

Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
2021-03-29 16:33:51 +02:00
Martí Bolívar
1dde940f86 samples: periodic_sync: drop device_get_binding()
Use a gpio_dt_spec instead.

Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
2021-03-29 16:33:51 +02:00
Martí Bolívar
b5ca2e0ec3 samples: hci_uart: drop device_get_binding()
Use DEVICE_DT_GET on the chosen node directly.

The only in-tree board using the Kconfig option is rv32m1_vega_ri5cy.
It already sets the chosen node in the application overlay, albeit
incorrectly, so just fix it there and remove the now-redundant Kconfig
setting. That in turn triggers other build errors for this board, but
they don't seem to be related to this sample.

Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
2021-03-29 16:33:51 +02:00
Martí Bolívar
a68629f9a3 samples: peripheral_ht: drop device_get_binding()
Use DEVICE_DT_GET_ANY instead of hard-coding a device label property.
As far as I can tell from in-tree drivers, "TEMP_0" is nRF specific
and refers to nodes with compatible "nordic,nrf-temp", so use that and
clean up the driver Kconfig while we're here.

Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
2021-03-29 16:33:51 +02:00
Trond Einar Snekvik
e1656eef0c Bluetooth: Mesh: Add some actual behavior in sample
Populates the onoff server stubs in the Bluetooth Mesh sample, and
implements generic LED based hardware support to include more boards.

Fixes #31031.

Signed-off-by: Trond Einar Snekvik <Trond.Einar.Snekvik@nordicsemi.no>
2021-03-26 18:22:19 +02:00
Michał Grochala
023491e683 doc: bluetooth: Fix a typo in the nRF5340 note.
Fix a typo in the note box, which brakes a reference.

Signed-off-by: Michał Grochala <michal.grochala@nordicsemi.no>
2021-03-19 10:47:37 +01:00
Michał Grochala
fcad510105 doc: samples: bluetooth: Add a note about nRF5340.
Document that for any Bluetooth sample to work on the nRF5340 device,
the additional application for the nRF5340 network core is required:
hci_rpmsg.

Signed-off-by: Michał Grochala <michal.grochala@nordicsemi.no>
2021-03-17 16:39:13 +02:00
Emil Gydesen
e90ec2df44 Bluetooth: services: Adds directory listing object to OTS
The directory listing object is an internal object which
content is the aggregation of all the metadata of all objects
(including the directory listing object itself). The client
can read this value to get a list of all objects with names,
lengths, and other metadata.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2021-03-17 11:30:07 +01:00
Ryan Chu
c5db0bdafe samples: nrf5340: Trigger fatal error in an assertion handler
Trigger BT_ASSERT with message to inform kernel when encountering an
unrecoverable condition in order to dump all pending logging messages.

In this change, the log level is configured by CONFIG_BT_LOG_LEVEL

Signed-off-by: Ryan Chu <ryan.chu@nordicsemi.no>
2021-03-11 13:20:16 +01:00
Ruth Fuchss
0b55037d63 doc: direction_finding: fix space in file link
The line break inside the :zephyr_file: directive causes a space
to be inserted into the link to the file, which means the link
does not work.

Signed-off-by: Ruth Fuchss <ruth.fuchss@nordicsemi.no>
2021-03-09 04:54:46 -05:00
Martí Bolívar
0d9da124cd samples: mesh_demo: rework error and device handling
The board specific interface in this sample is not handling errors.
Fix that by making board_init() return a negative error code or zero.

Rework the bbc_microbit specific board file by handling errors
appropriately and avoiding device_get_binding() to move some device
configuration errors to build time.

Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
2021-03-06 09:13:00 -06:00
James Harris
b10428163a kernel: sem: add K_SEM_MAX_LIMIT
Currently there is no way to distinguish between a caller
explicitly asking for a semaphore with a limit that
happens to be `UINT_MAX` and a semaphore that just
has a limit "as large as possible".

Add `K_SEM_MAX_LIMIT`, currently defined to `UINT_MAX`, and akin
to `K_FOREVER` versus just passing some very large wait time.

In addition, the `k_sem_*` APIs were type-confused, where
the internal data structure was `uint32_t`, but the APIs took
and returned `unsigned int`. This changes the underlying data
structure to also use `unsigned int`, as changing the APIs
would be a (potentially) breaking change.

These changes are backwards-compatible, but it is strongly suggested
to take a quick scan for `k_sem_init` and `K_SEM_DEFINE` calls with
`UINT_MAX` (or `UINT32_MAX`) and replace them with `K_SEM_MAX_LIMIT`
where appropriate.

Signed-off-by: James Harris <james.harris@intel.com>
2021-03-05 08:13:53 -06:00
Joakim Andersson
bd97359a53 Bluetooth: samples: Remove unnecessary main stack configuration
Remove unnecessary main stack configuration in bluetooth samples.
The HCI power control sample does not need to set the main stack this
low, and setting it causes restriction on what the application can
change in menuconfig. A change in the entropy driver causes stack
overflow.
The HCI uart sample sets the main stack to the default size.

Signed-off-by: Joakim Andersson <joakim.andersson@nordicsemi.no>
2021-03-04 14:27:57 +01:00
Andrzej Głąbek
75135e87d9 boards: nrf9160dk: Add support for newer revisions (0.14.0+) of the DK
Use the multiple board revisions feature to provide support for the new
hardware possibilities available in nRF9160 DK starting from v0.14.0.

Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
2021-03-04 11:25:22 +03:00
Andrzej Głąbek
71223ad0d0 boards: nrf9160dk: Move board control configuration to devicetree
Use devicetree instead of Kconfig to configure the board control
switches in nRF9160 DK:
- add binding for the switches that provide optional signal routings
  on this board
- add binding for the GPIO interface that can be used for communication
  (e.g. UART based) between the nRF9160 and the nRF52840 on the DK,
  and add GPIO mapping for this interface so that its lines can be used
  without caring about of actual pin numbers on both sides
- add binding for one GPIO line chosen from the above interface that is
  to allow the nRF9160 to reset the nRF52840
- update accordingly dts files and board specific code for both board
  definitions associated with the DK
- introduce .dtsi files that can be included from dts overlays in order
  to facilitate the use of the above GPIO interface; modify the overlay
  in the hci_uart sample to provide an example of use of those files

Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
2021-03-04 11:25:22 +03:00
Piotr Pryga
8ed26a0927 samples: Bluetooth: Add DF connectionless Beacon sample application
Add an application that uses Direction Finding API for
transmission of CTE in connectionless mode (periodic adverising PDUs).

Signed-off-by: Piotr Pryga <piotr.pryga@nordicsemi.no>
2021-02-25 14:53:27 +01:00
Lingao Meng
db2f871fa9 samples: bluetooth: Fix SRAM overflow with bbc:microbit
`arm-zephyr-eabi/bin/ld: region `SRAM' overflowed by 19 bytes`

Signed-off-by: Lingao Meng <menglingao@xiaomi.com>
2021-02-24 10:56:26 +01:00
Piotr Pryga
5bfb9fb81e samples: Bluetooth: add nrf52833dk_nrf52833 board in per. adv. samples
Add support for nrf52833dk_nrf52833 board in periodic_adv and
periodic_sync samples.

Signed-off-by: Piotr Pryga <piotr.pryga@nordicsemi.no>
2021-02-23 12:36:11 +01:00
Johann Fischer
77dfc215a3 samples: hci_usb: disable USB_DEVICE_BLUETOOTH_VS_H4
Default to standard mode and disable
USB_DEVICE_BLUETOOTH_VS_H4 extension.

Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
2021-02-15 08:27:19 -05:00
Carles Cufi
1454730faa Bluetooth: samples: hci_uart: Add overlays for nRF5340
Add overlays for the current nRF5340 DK boards:

- nrf5340dk_nrf5340_cpuapp
- nrf5340dk_nrf5340_cpunet

Fixes #29440.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2021-02-03 10:22:18 -05:00
Joakim Andersson
dc1dcb74b1 Bluetooth: samples: Fix stack overflow in TX power control samples
Fix stack overflow in the TX power control sample.
Current stack usage with 0.11.1 zephyr toolchain was at 100% stack
usage of the DYN TX stack.

Fixes: #31433

Signed-off-by: Joakim Andersson <joakim.andersson@nordicsemi.no>
2021-02-02 08:18:28 -05:00
Rubin Gerritsen
fc140d8616 samples: bluetooth: Remove useless default_conn
The connection object is not used.

Signed-off-by: Rubin Gerritsen <rubin.gerritsen@nordicsemi.no>
2021-02-01 08:38:54 -05:00
Joakim Andersson
a0d62f03a0 Bluetooth: host: Remove deprecated scan filter duplicate params
Remove the deprecated scan filter duplicate enum values and parameter.
This was deprecated for the 2.3.0 release.

Signed-off-by: Joakim Andersson <joakim.andersson@nordicsemi.no>
2021-01-29 12:53:10 -05:00
Katrin Gartenmeister
0bc3b9ddc4 doc: corrected Bluetooth sample documentation
Bluetooth Tx power must be given in dBm instead of dB.
Signed-off-by: Katrin Gartenmeister <katrin.gartenmeister@grandcentrix.net>
2021-01-26 19:16:28 +02:00
Hubert Miś
5548917e69 bluetooth: hci: rpmsg: Use RPMsg Service
This patch modifies Bluetooth HCI RPMsg drivers and samples to use
RPMsg Service instead of configuring OpenAMP directly in the driver
or the sample.

Co-authored-by: Piotr Szkotak <piotr.szkotak@nordicsemi.no>
Signed-off-by: Hubert Miś <hubert.mis@nordicsemi.no>
2021-01-19 22:07:09 +01:00
Emil Gydesen
69d8b0a0b4 drivers: bluetooth: hci: Add support for ISO packets in rpmsg
This adds supports for ISO packets so then can be transmitted and
received with rpmsg driver.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2021-01-15 11:39:09 -05:00
Fabio Baltieri
fe746f9693 samples: ipsp: add a debug config build example
Add an example referring to the (already existing) prj_dbg.conf config.

Signed-off-by: Fabio Baltieri <fabio.baltieri@gmail.com>
2021-01-14 16:57:07 +02:00
Fabio Baltieri
a01b5b0d9a samples: ipsp: stop registering mcast addr
The IPSP example code is explicitly registering the all local-link nodes
address (ff02::1). This is currently already registered by the normal
IPv6 stack at interface initialization, so doing it in the application
is redundant.

Signed-off-by: Fabio Baltieri <fabio.baltieri@gmail.com>
2021-01-14 16:57:07 +02:00
Fabio Baltieri
f6fbf1ffe8 samples: ipsp: increase the maximum multicast addr count
This sample is trying to register four multicast addesses:

uart:~$ net iface
...
IPv6 multicast addresses (max 8):
        ff02::1
        ff02::1:ff01:c41e
        ff02::1:ff00:1
        ff02::1

Increasing CONFIG_NET_IF_MCAST_IPV6_ADDR_COUNT to 4 to make neighbor
discovery work correctly.

Signed-off-by: Fabio Baltieri <fabio.baltieri@gmail.com>
2021-01-14 16:57:07 +02:00
Jonathan Rico
167985f420 samples: bluetooth: Merge common hci_uart configs
Currently a lot of common kconfig options are being set in
board-specific overlays.
This commit puts them in the main prj.conf.

Signed-off-by: Jonathan Rico <jonathan.rico@nordicsemi.no>
2021-01-10 15:34:51 -05:00
Ioannis Glaropoulos
3f3dbea454 samples: bluetooth: hci_rpmsg: change the allowed platform to nRF5340 DK
We have deprecated nRF5340 PDK so change the platform
to nrf5340 DK.

Signed-off-by: Ioannis Glaropoulos <Ioannis.Glaropoulos@nordicsemi.no>
2020-12-04 10:21:00 +02:00