The BLE acronym is not an official description of Bluetooth
LE, and the Bluetooth SIG only ever refers to it as Bluetooth
Low Energy or Bluetooth LE, so Zephyr should as well.
This commit does not change any board or vendor specific
documentation, and the term BLE may still be used in those.
It will be up to the vendors to update it if they want,
since many of them are using the term BLE in their
products.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
The Discord channel name for LE Audio has been renamed to bt-audio
The Discord channel name for bluetooth-sig has been renamed to bt-sig
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Commit adds description of key representation incompatibility
for mesh images built with different crypto libraries.
Signed-off-by: Aleksandr Khromykh <aleksandr.khromykh@nordicsemi.no>
Follow-up on newly introduced USB MIDI2 support.
Prefix with usbd_, use midi2 consistently.
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
This new implementation is written from scratch and is not tied to the
image manager and MCUboot. It allows the user to define their own
backend and use a simple macro to instantiate an image. On the USB side
this is represented by an interface. The number of possible images is
configurable using the Kconfig option, and is a fairly inexpensive
approach since it only changes the size of the pointer array. The number
of images is only limited by the number of possible interfaces in a
configuration. The class implementation does not support multiple
instances, as there is no real use for it. However, it does provide two
class instances, one for runtime mode and one for DFU mode. The switch
from runtime to DFU mode can only be performed by the user application,
i.e. the application receives a notification when the host wants to
switch to DFU mode, and then the application can disable the runtime
configuration and enable the DFU configuration. This implementation does
not support switching to the DFU mode by bus reset issued by the
host.
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
This adds a new USB device class (based on usb/device_next) that implements
revision 2.0 of the MIDIStreaming interface, a sub-class of the USB audio
device class. In practice, the MIDI interface is much more simple and has
little in common with Audio, so it makes sense to have it as a separate
class driver.
MIDI inputs and outputs are configured through the device tree, under a
node `compatible = "zephyr,usb-midi"`. As per the USB-MIDI2.0 spec,
a single usb-midi interface can convey up to 16 Universal MIDI groups,
comprising 16 channels each. Data is carried from/to the host via
so-called Group Terminals, that are organized in Group Terminal Blocks.
They are represented as children of the usb-midi interface in the device
tree.
From the Zephyr application programmer perspective, MIDI data is exchanged
with the host through the device associated with the `zephyr,usb-midi`
interface, using the following API:
* Send a Universal MIDI Packet to the host: `usb_midi_send(device, pkt)`
* Universal MIDI Packets from the host are delivered to the function passed
in `usb_midi_set_ops(device, &{.rx_packet_cb = handler})`
Compliant USB-MIDI 2.0 devices are required to expose a USB-MIDI1.0
interface as alt setting 0, and the 2.0 interface on alt setting 1.
To avoid the extra complexity of generating backward compatible USB
descriptors and translating Universal MIDI Packets from/to the old
USB-MIDI1.0 format, this driver generates an empty MIDI1.0 interface
(without any input/output); and therefore will only be able to exchange
MIDI data when the host has explicitely enabled MIDI2.0 (alt setting 1).
This implementation is based on the following documents, which are referred
to in the inline comments:
* `midi20`:
Universal Serial Bus Device Class Definition for MIDI Devices
Release 2.0
https://www.usb.org/sites/default/files/USB%20MIDI%20v2_0.pdf
* `ump112`:
Universal MIDI Packet (UMP) Format and MIDI 2.0 Protocol
With MIDI 1.0 Protocol in UMP Format
Document Version 1.1.2
https://midi.org/universal-midi-packet-ump-and-midi-2-0-protocol-specification
Signed-off-by: Titouan Christophe <moiandme@gmail.com>
Add documentation showing how to use the _detail parameter when
registering an HTTP service to provide a default resource handling any
unknown path. Also update the 4.1 release migration guide.
Signed-off-by: Matt Rodgers <mrodgers@witekio.com>
Added initial CCP client implementation that simply
does discovery of TBS on a remote CCP server.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Update HTTP server documentation and migration guide to account for
added request_ctx parameter to the http_resource_websocket_cb_t
callback.
Signed-off-by: Matt Rodgers <mrodgers@witekio.com>
The CCP API for the Call Control Profile works on top of the
TBS API, and will eventually replace parts of the TBS API.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
add test for reconfigure, release, suspend, abort and disconnect.
app_config_req and app_reconfig_req always accept the req,
so don't need to handle reject case.
Signed-off-by: Mark Wang <yichang.wang@nxp.com>
Specifies that the `CONFIG_BT_MESH_SHELL_DFU_METADATA` must be enabled
to use the `dfu metadata` commands in the mesh shell.
Signed-off-by: Håvard Reierstad <haavard.reierstad@nordicsemi.no>
Adds documentation for the mesh shell blob flash stream feature. This
feature allows the user to specify the flash area to write the BLOB to.
Signed-off-by: Håvard Reierstad <haavard.reierstad@nordicsemi.no>
Renames the blob cli bounds command to blob cli caps in documentation,
matching the implementation in shell.
Signed-off-by: Håvard Reierstad <haavard.reierstad@nordicsemi.no>
The Bluetooth HCI USB transport layer implementation is provided by
"subsys/usb/device/class/bluetooth.c". The USB H4 Bluetooth function
implements a non-standard transport layer. There is no known host-side
equivalent that uses this protocol.
Note that the H4 protocol functionality is also provided by the
"subsys/usb/device/class/bluetooth.c".
Since that there are no real USB H4 Bluetooth users, remove the
implementation and sample without deprecation.
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
Dynamic resource callback function signature has changed to combine the
data, data length and request header details into a struct
http_request_ctx. Update documentation to describe this, and add a note
in the 4.1 migration guide since this is a public API change.
Signed-off-by: Matt Rodgers <mrodgers@witekio.com>
Update the instructions for the three possible Bluetooth setups
(controller-only, combined build, host-only) to be in line with how the
features are actually enabled (e.g. device tree for the controller and HCI
drivers).
Signed-off-by: Johan Hedberg <johan.hedberg@silabs.com>
bt_le_set_auto_conn() function is not working as
expected. Also, it doesn't have any test coverage
and any usage in sample applications.
The function is deprecated
Fixes#81597
Signed-off-by: Ivan Iushkov <ivan.iushkov@nordicsemi.no>
Remove the deprecated HCI driver API which was provided by the hci_driver.h
header file. The deprecation happened in Zephyr 3.7, so the API can now be
removed for Zephyr 4.1.
Signed-off-by: Johan Hedberg <johan.hedberg@silabs.com>
The API directory really isn't the best place for shell
documentation, which isn't API.
Created a new directory for Bluetooth shell documentation
and moved the ISO and LE Audio docs in there.
The existing bluetooth-shell.rst file was also split into
several new files, so that it follows the same structure.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Aligns subnet bridge related commands according to conventions used for
rest of the shell commands. Also updates documentations to reflect the
change.
Signed-off-by: Omkar Kulkarni <omkar.kulkarni@nordicsemi.no>
Adds support for using relay buffers and advertising set for the subnet
bridge feature, even if the relay feature is disabled.
Signed-off-by: Håvard Reierstad <haavard.reierstad@nordicsemi.no>
Fixes: #78010
This commit implements the "Gateway Advertisement and Discovery" process
defined in section 6.1 of the MQTT-SN specification.
This includes breaking changes to the transport interface and the default
included UDP interface implementation as support for UDP multicast
messages is added as implemented by the Paho MQTT-SN Gateway.
Signed-off-by: Kenneth Witham <kennywitham4@gmail.com>
Utilize a code spell-checking tool to scan for and correct spelling errors
in various files within the `doc` directory.
Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
Refactored the structure of the troubleshooting section so it
is more similar to how e.g. the ArchWiki lists troubleshooting
entries, which makes it easier to search for and separate
each entry.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
The exisitng documentation was out of date and
possibly not working.
Added a section on how to use NAT and port forwarding.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
The documentation guidelines have a specified order of
header underlines that this file did not follow.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Remove CONFIG_MMC_VOLUME_NAME, and set the disk name based on the
``disk-name`` property. This aligns with other disk drivers, and allows
for multiple instances of the mmc_subsys disk driver to be registered.
Add disk-name properties for all in tree definitions for the
mmc-subsys disk driver, and change all in tree usage of the disk name
Fixes#75004
Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
Remove CONFIG_SDMMC_VOLUME_NAME, and set the disk name based on the
``disk-name`` property. This aligns with other disk drivers, and allows
for multiple instances of the sdmmc_subsys disk driver to be registered.
Add disk-name properties for all in tree definitions for the
sdmmc-subsys disk driver, and change all in tree usage of the disk name
Fixes#75004
Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
This updates the documentation of all the Qemu boards
to use the new `zephyr:board::` directive.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
This updates the documentation of all the Atmel boards to use
the new `zephyr:board::` directive.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
This updates the documentation of all the STM32 boards to use
the new `zephyr:board::` directive.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
This updates the documentation of all the NXP boards to use
the new `zephyr:board::` directive.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Add create_sink_by_name command that scans for broadcast sources
with BT_DATA_BROADCAST_NAME matching the name given to the shell
command.
Fixes#70837
Signed-off-by: Babak Arisian <bbaa@demant.com>
Adding a brief fly-in of the main concepts of the
implementation of link layer control procedures handling
Signed-off-by: Erik Brockhoff <erbr@oticon.com>
This commit adds a warning and a Kconfig option to `bt_conn_le_create`
and `bt_conn_le_create_synced` functions which are meant to warn a user
of a potential leakage of an active connection object.
This change is implemented due to frequent incorrect use of the
connection pointer where a pointer to an existing connection object
is overwritten by `bt_conn_le_create` and `bt_conn_le_create_synced`
functions which in turns leads to sporadic critical bugs. See
https://github.com/zephyrproject-rtos/zephyr/pull/78284#discussion_r1754304535
for more details.
The Kconfig option is introduced instead of always returning the error
to not affect current implementations. However, it is recommended to
keep this option enabled to avoid potential bugs.
Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>