diff --git a/rust/CHANGELOG.md b/rust/CHANGELOG.md index 2cfed4ee..ce575a25 100644 --- a/rust/CHANGELOG.md +++ b/rust/CHANGELOG.md @@ -1,7 +1,10 @@ -# Next +# 0.2.0 - Code-gen company ID table +- Unstable support for extended advertisements +- CLI tools for downloading Realtek firmware +- PDL-generated types for HCI commands # 0.1.0 -- Initial release \ No newline at end of file +- Initial release diff --git a/rust/Cargo.lock b/rust/Cargo.lock index 33393397..5305f9f6 100644 --- a/rust/Cargo.lock +++ b/rust/Cargo.lock @@ -182,7 +182,7 @@ dependencies = [ [[package]] name = "bumble" -version = "0.1.0" +version = "0.2.0" dependencies = [ "anyhow", "bytes", diff --git a/rust/Cargo.toml b/rust/Cargo.toml index 81061140..73c9ac35 100644 --- a/rust/Cargo.toml +++ b/rust/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "bumble" description = "Rust API for the Bumble Bluetooth stack" -version = "0.1.0" +version = "0.2.0" edition = "2021" license = "Apache-2.0" homepage = "https://google.github.io/bumble/index.html" diff --git a/rust/README.md b/rust/README.md index 15a19b9a..e08ef252 100644 --- a/rust/README.md +++ b/rust/README.md @@ -37,6 +37,11 @@ PYTHONPATH=..:[virtualenv site-packages] \ cargo run --features bumble-tools --bin bumble -- --help ``` +Notable subcommands: + +- `firmware realtek download`: download Realtek firmware for various chipsets so that it can be automatically loaded when needed +- `usb probe`: show USB devices, highlighting the ones usable for Bluetooth + # Development Run the tests: @@ -63,4 +68,4 @@ To regenerate the assigned number tables based on the Python codebase: ``` PYTHONPATH=.. cargo run --bin gen-assigned-numbers --features dev-tools -``` \ No newline at end of file +``` diff --git a/rust/src/wrapper/controller.rs b/rust/src/wrapper/controller.rs index 4f19dd6d..cec10dbf 100644 --- a/rust/src/wrapper/controller.rs +++ b/rust/src/wrapper/controller.rs @@ -35,7 +35,7 @@ impl Controller { /// module specifies the defaults. Must be called from a thread with a Python event loop, which /// should be true on `tokio::main` and `async_std::main`. /// - /// For more info, see https://awestlake87.github.io/pyo3-asyncio/master/doc/pyo3_asyncio/#event-loop-references-and-contextvars. + /// For more info, see . pub async fn new( name: &str, host_source: Option, diff --git a/rust/src/wrapper/hci.rs b/rust/src/wrapper/hci.rs index 533fe21b..52480c81 100644 --- a/rust/src/wrapper/hci.rs +++ b/rust/src/wrapper/hci.rs @@ -149,7 +149,7 @@ impl ToPyObject for Address { /// An error meaning that the u64 value did not represent a valid BT address. #[derive(Debug)] -pub struct InvalidAddress(u64); +pub struct InvalidAddress(#[allow(unused)] u64); impl TryInto for Address { type Error = ConversionError; diff --git a/rust/src/wrapper/l2cap.rs b/rust/src/wrapper/l2cap.rs index 5e0752e1..06fbc52f 100644 --- a/rust/src/wrapper/l2cap.rs +++ b/rust/src/wrapper/l2cap.rs @@ -71,7 +71,7 @@ impl LeConnectionOrientedChannel { /// Must be called from a thread with a Python event loop, which should be true on /// `tokio::main` and `async_std::main`. /// - /// For more info, see https://awestlake87.github.io/pyo3-asyncio/master/doc/pyo3_asyncio/#event-loop-references-and-contextvars. + /// For more info, see . pub async fn disconnect(&mut self) -> PyResult<()> { Python::with_gil(|py| { self.0