The Bluetooth System comprises many components, such as drivers, profiles, and client applications. This document provides an overview of where the various components live in the source tree.
garnet/bin/bluetooth/
bt-gap/ # GAP daemon
tests/integration/ # integration tests
tools/ # command-line tools
garnet/drivers/bluetooth/
hci/ # bt-hci drivers
host/ # bt-host driver
lib/ # profiles (HCI, SDP, ...)
garnet/examples/bluetooth/
ble_battery_service/ # headless LE peripheral
bt_beacon_reader/ # reads from BLE Broadcasters
bt-le-heart-rate-peripheral/ # HRM peripheral
garnet/lib/
bluetooth/ # internal API
rust/crates/fuchsia-bluetooth/ # internal API glue
garnet/public/lib/bluetooth/fidl/ # public API
topaz/app/bluetooth_settings/ # Bluetooth Settings UI
topaz/bin/bluetooth_settings/ # Bluetooth Settings UI
topaz/examples/bluetooth/
ble_rect/ # BLE peripheral w/GUI
ble_scanner/ # BLE device browser
eddystone_advertiser/ # [Eddystone](https://github.com/google/eddystone) advertiser
topaz/examples/eddystone_agent/ # [Eddystone](https://github.com/google/eddystone)-based trigger
zircon/system/dev/bluetooth/ # bt-transport drivers
See the HCI section of the Bluetooth System document for an explanation of how the drivers, such as bt-transport, bt-hci, and bt-host, relate to each other.
See the Host Bus section of the Bluetooth System document for more detail on bt-host.