MCPcopy Index your code
hub / github.com/embassy-rs/bt-hci

github.com/embassy-rs/bt-hci @v0.9.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.9.0 ↗ · + Follow
295 symbols 452 edges 23 files 79 documented · 27% updated 19d agov0.9.0 · 2026-05-18★ 497 open issues
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

crates.io docs.rs

bt-hci

Rust types for the Bluetooth HCI (Host Controller Interface) specification, and traits for implementing the Controller part of the interface.

See Trouble for an example of using this crate.

Bluetooth UUIDs

The bluetooth specification includes reference information for pre-defined UUIDs that can be used to communicate specific services, characteristics, properties, etc of a device. These are also made available as constants from this crate through the uuid module for users of this crate.

For crate maintainers, to update these constants run the update_uuids binary, which will redownload the bluetooth-sig yaml spec and rebuild the uuids module based on the latest version.

License

bt-hci is licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Extension points exported contracts — how you extend this code

FromHciBytes (Interface)
A fixed size HCI type that can be deserialized from bytes. [28 implementers]
src/lib.rs
Transport (Interface)
A packet-oriented HCI Transport Layer [3 implementers]
src/transport.rs
Controller (Interface)
Trait representing a HCI controller which supports async operations. [2 implementers]
src/controller.rs
CmdReturnBuf (Interface)
Type representing the buffer for a command response. [1 implementers]
src/cmd.rs
Try (Interface)
(no doc) [2 implementers]
src/fmt.rs
EventParams (Interface)
A trait for objects which contain the parameters for a specific HCI event
src/event.rs
Controller (Interface)
Trait representing a HCI controller which supports blocking and non-blocking operations.
src/controller/blocking.rs
LeEventParams (Interface)
A trait for objects which contain the parameters for a specific HCI LE event
src/event/le.rs

Core symbols most depended-on inside this repo

len
called by 41
src/param/le.rs
as_micros
called by 11
src/param.rs
write
called by 8
src/controller.rs
is_empty
called by 6
src/param/le.rs
data_load_len
called by 5
src/data.rs
complete
called by 4
src/controller.rs
to_raw
called by 4
src/cmd.rs
as_hci_bytes
called by 4
src/lib.rs

Shape

Method 152
Function 71
Class 35
Interface 19
Enum 18

Languages

Rust100%

Modules by API surface

src/cmd/link_control.rs43 symbols
src/event.rs38 symbols
src/controller.rs31 symbols
src/param.rs29 symbols
src/data.rs28 symbols
src/param/le.rs26 symbols
src/lib.rs24 symbols
src/cmd.rs14 symbols
src/transport.rs13 symbols
src/param/status.rs12 symbols
src/cmd/le.rs8 symbols
src/param/feature_masks.rs7 symbols

For agents

$ claude mcp add bt-hci \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page