diff --git a/examples/nrf-sdc/Cargo.toml b/examples/nrf-sdc/Cargo.toml index b2fb29d..bd03fc0 100644 --- a/examples/nrf-sdc/Cargo.toml +++ b/examples/nrf-sdc/Cargo.toml @@ -37,9 +37,9 @@ embassy-futures = { git = "https://github.com/embassy-rs/embassy.git", branch = embassy-time = { git = "https://github.com/embassy-rs/embassy.git", branch = "main" } embassy-time-driver = { git = "https://github.com/embassy-rs/embassy.git", branch = "main" } embassy-embedded-hal = { git = "https://github.com/embassy-rs/embassy.git", branch = "main" } -nrf-sdc = { git = "https://github.com/alexmoon/nrf-sdc.git", branch = "update-api" } -nrf-mpsl = { git = "https://github.com/alexmoon/nrf-sdc.git", branch = "update-api" } -bt-hci = { git = "https://github.com/alexmoon/bt-hci.git", branch = "serial-controller" } +nrf-sdc = { git = "https://github.com/alexmoon/nrf-sdc.git", branch = "main" } +nrf-mpsl = { git = "https://github.com/alexmoon/nrf-sdc.git", branch = "main" } +bt-hci = { git = "https://github.com/alexmoon/bt-hci.git", branch = "main" } #embassy-executor = {path = "../../../embassy/embassy-executor"} #embassy-nrf = {path = "../../../embassy/embassy-nrf"} diff --git a/examples/serial-hci/Cargo.toml b/examples/serial-hci/Cargo.toml index a801a57..769ceb9 100644 --- a/examples/serial-hci/Cargo.toml +++ b/examples/serial-hci/Cargo.toml @@ -24,7 +24,7 @@ bt-hci = { version = "0.1.0", default-features = false, features = ["log"] } trouble-host = { version = "0.1.0", path = "../../host", features = ["log"] } [patch.crates-io] -bt-hci = { git = "https://github.com/alexmoon/bt-hci.git", branch = "serial-controller" } +bt-hci = { git = "https://github.com/alexmoon/bt-hci.git", branch = "main" } embassy-sync = { git = "https://github.com/embassy-rs/embassy.git", branch = "main" } #embassy-executor = { git = "https://github.com/embassy-rs/embassy.git", branch = "main" } #bt-hci = { path = "../../../bt-hci" } diff --git a/examples/serial-hci/src/main.rs b/examples/serial-hci/src/main.rs index f686751..b111af4 100644 --- a/examples/serial-hci/src/main.rs +++ b/examples/serial-hci/src/main.rs @@ -1,6 +1,6 @@ // Use with any serial HCI -use bt_hci::driver::HciController; -use bt_hci::serial::SerialHciDriver; +use bt_hci::controller::ExternalController; +use bt_hci::transport::SerialTransport; use embassy_futures::join::join3; use embassy_sync::blocking_mutex::raw::NoopRawMutex; use log::*; @@ -56,8 +56,8 @@ async fn main() { let reader = embedded_io_adapters::tokio_1::FromTokio::new(reader); let writer = embedded_io_adapters::tokio_1::FromTokio::new(writer); - let driver: SerialHciDriver = SerialHciDriver::new(reader, writer); - let controller: HciController<_, 10> = HciController::new(driver); + let driver: SerialTransport = SerialTransport::new(reader, writer); + let controller: ExternalController<_, 10> = ExternalController::new(driver); static HOST_RESOURCES: StaticCell> = StaticCell::new(); let host_resources = HOST_RESOURCES.init(HostResources::new(PacketQos::None)); diff --git a/host/Cargo.toml b/host/Cargo.toml index ff7c7a7..b04154b 100644 --- a/host/Cargo.toml +++ b/host/Cargo.toml @@ -33,5 +33,5 @@ defmt = {version = "0.3", optional = true } defmt = [ "dep:defmt" ] [patch.crates-io] -bt-hci = { git = "https://github.com/alexmoon/bt-hci.git", branch = "serial-controller" } +bt-hci = { git = "https://github.com/alexmoon/bt-hci.git", branch = "main" } embassy-sync = { git = "https://github.com/embassy-rs/embassy.git", branch = "main" } diff --git a/host/src/adapter.rs b/host/src/adapter.rs index b839ed5..3b81bf8 100644 --- a/host/src/adapter.rs +++ b/host/src/adapter.rs @@ -19,12 +19,13 @@ use bt_hci::cmd::le::{ }; use bt_hci::cmd::link_control::{Disconnect, DisconnectParams}; use bt_hci::cmd::{AsyncCmd, SyncCmd}; +use bt_hci::controller::Controller; +use bt_hci::controller::{ControllerCmdAsync, ControllerCmdSync}; use bt_hci::data::{AclBroadcastFlag, AclPacket, AclPacketBoundary}; use bt_hci::event::le::LeEvent; use bt_hci::event::Event; use bt_hci::param::{BdAddr, ConnHandle, DisconnectReason, EventMask}; -use bt_hci::{Controller, ControllerToHostPacket}; -use bt_hci::{ControllerCmdAsync, ControllerCmdSync}; +use bt_hci::ControllerToHostPacket; use embassy_futures::select::{select, Either}; use embassy_sync::blocking_mutex::raw::RawMutex; use embassy_sync::channel::Channel; diff --git a/host/src/channel_manager.rs b/host/src/channel_manager.rs index 1d2e247..161a83e 100644 --- a/host/src/channel_manager.rs +++ b/host/src/channel_manager.rs @@ -4,7 +4,7 @@ use core::{ task::{Context, Poll}, }; -use bt_hci::{param::ConnHandle, Controller}; +use bt_hci::{controller::Controller, param::ConnHandle}; use embassy_sync::{ blocking_mutex::{raw::RawMutex, Mutex}, channel::{Channel, DynamicReceiver}, diff --git a/host/src/gatt.rs b/host/src/gatt.rs index cbdabce..7f8d076 100644 --- a/host/src/gatt.rs +++ b/host/src/gatt.rs @@ -10,8 +10,8 @@ use crate::cursor::WriteCursor; use crate::packet_pool::{AllocId, DynamicPacketPool}; use crate::pdu::Pdu; use crate::{AdapterError, Error}; +use bt_hci::controller::Controller; use bt_hci::param::ConnHandle; -use bt_hci::Controller; use embassy_sync::blocking_mutex::raw::RawMutex; use embassy_sync::channel::DynamicReceiver; diff --git a/host/src/l2cap.rs b/host/src/l2cap.rs index 36e6aad..db1c9ed 100644 --- a/host/src/l2cap.rs +++ b/host/src/l2cap.rs @@ -8,9 +8,9 @@ use crate::cursor::{ReadCursor, WriteCursor}; use crate::packet_pool::{AllocId, DynamicPacketPool}; use crate::pdu::Pdu; use crate::{AdapterError, Error}; +use bt_hci::controller::Controller; use bt_hci::data::AclPacket; use bt_hci::param::ConnHandle; -use bt_hci::Controller; use embassy_sync::blocking_mutex::raw::RawMutex; use embassy_sync::channel::DynamicReceiver; diff --git a/host/src/lib.rs b/host/src/lib.rs index 62ac68c..ddb75bd 100644 --- a/host/src/lib.rs +++ b/host/src/lib.rs @@ -65,11 +65,11 @@ impl From for Error { } } -impl From> for AdapterError { - fn from(error: bt_hci::CmdError) -> Self { +impl From> for AdapterError { + fn from(error: bt_hci::controller::CmdError) -> Self { match error { - bt_hci::CmdError::Param(p) => Self::Adapter(Error::HciEncode(p)), - bt_hci::CmdError::Controller(p) => Self::Controller(p), + bt_hci::controller::CmdError::Hci(p) => Self::Adapter(Error::HciEncode(p)), + bt_hci::controller::CmdError::Io(p) => Self::Controller(p), } } }