zephyr/doc/api/bluetooth.rst
Johan Hedberg 0ec2630882 Bluetooth: Mesh: Add initial implementation
Add an initial implementation for the Bluetooth Mesh Profile
Specification. The main code resides in subsys/bluetooth/host/mesh and
the public API can be found in include/bluetooth/mesh.h. There are a
couple of samples provided as well under samples/bluetooth and
tests/bluetooth.

The implementation covers all layers of the Bluetooth Mesh stack and
most optional features as well. The following is a list of some of
these features and the c-files where the implementation can be found:

 - GATT & Advertising bearers (proxy.c & adv.c)
 - Network Layer (net.c)
 - Lower and Upper Transport Layers (transport.c)
 - Access Layer (access.c)
 - Foundation Models, Server role (health.c & cfg.c)
 - Both PB-ADV and PB-GATT based provisioning (prov.c)
 - Low Power Node support (lpn.c)
 - Relay support (net.c)
 - GATT Proxy (proxy.c)

Notable features that are *not* part of the implementation:

 - Friend support (initial bits are in place in friend.c)
 - Provisioner support (low-value for typical Zephyr devices)
 - GATT Client (low-value for typical Zephyr devices)

Jira: ZEP-2360

Change-Id: Ic773113dbfd84878ff8cee7fe2bb948f0ace19ed
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2017-07-20 09:30:44 +03:00

99 lines
2.1 KiB
ReStructuredText

.. _bluetooth_api:
Bluetooth API
#############
.. contents::
:depth: 1
:local:
:backlinks: top
This is the full set of available Bluetooth APIs. It's important to note
that the set that will in practice be available for the application
depends on the exact Kconfig options that have been chosen, since most
of the Bluetooth functionality is build-time selectable. E.g. any
connection-related APIs require :option:`CONFIG_BLUETOOTH_CONN` and any
BR/EDR (Bluetooth Classic) APIs require :option:`CONFIG_BLUETOOTH_BREDR`.
Generic Access Profile (GAP)
****************************
.. doxygengroup:: bt_gap
:project: Zephyr
:content-only:
Connection Management
*********************
.. doxygengroup:: bt_conn
:project: Zephyr
:content-only:
Generic Attribute Profile (GATT)
********************************
.. doxygengroup:: bt_gatt
:project: Zephyr
:content-only:
Mesh Profile
************
.. doxygengroup:: bt_mesh
:project: Zephyr
:content-only:
Universal Unique Identifiers (UUIDs)
************************************
.. doxygengroup:: bt_uuid
:project: Zephyr
:content-only:
Logical Link Control and Adaptation Protocol (L2CAP)
****************************************************
.. doxygengroup:: bt_l2cap
:project: Zephyr
:content-only:
Serial Port Emulation (RFCOMM)
******************************
.. doxygengroup:: bt_rfcomm
:project: Zephyr
:content-only:
Data Buffers
************
.. doxygengroup:: bt_buf
:project: Zephyr
:content-only:
Persistent Storage
******************
.. doxygengroup:: bt_storage
:project: Zephyr
:content-only:
HCI Drivers
***********
.. doxygengroup:: bt_hci_driver
:project: Zephyr
:content-only:
HCI RAW channel
***************
HCI RAW channel API is intended to expose HCI interface to the remote entity.
The local Bluetooth controller gets owned by the remote entity and host
Bluetooth stack is not used. RAW API provides direct access to packets which
are sent and received by the Bluetooth HCI driver.
.. doxygengroup:: hci_raw
:project: Zephyr
:content-only: