blob: 806cb981f9b40ee40d12013ff42984618007aa62 [file] [view]
# Bluetooth Source Layout
The [Bluetooth
System](https://fuchsia.googlesource.com/garnet/+/master/docs/bluetooth_architecture.md)
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.
<!--
This was generated by running
$ (find . -name BUILD.gn -o -name rules.mk | egrep 'bt|bluetooth';
find . -name BUILD.gn | xargs grep -l 'fidl:bluetooth') \
| sort | uniq
And then culling and annotating by hand.
-->
```
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/
bt_beacon_reader/ # reads from BLE Broadcasters
bt-le-battery-service/ # headless LE peripheral
bt-le-heart-rate-peripheral/ # HRM peripheral
garnet/lib/
bluetooth/ # internal API
rust/fuchsia-bluetooth/ # internal API glue
garnet/public/fidl/fuchsia.bluetooth.* # 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](https://fuchsia.googlesource.com/garnet/+/master/docs/bluetooth_architecture.md#hci) 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](https://fuchsia.googlesource.com/garnet/+/master/docs/bluetooth_architecture.md#host-bus) for more detail on bt-host.