-
|
Hi, thank you for this amazing project! Trying out the Linux central example, the --- a/examples/apps/src/ble_bas_central.rs
+++ b/examples/apps/src/ble_bas_central.rs
@@ -50,6 +50,7 @@ where
let _ = join(client.task(), async {
info!("Looking for battery service");
+ Timer::after(Duration::from_millis(200)).await;
let services = client.services_by_uuid(&Uuid::new_short(0x180f)).await.unwrap();
let service = services.first().unwrap().clone();
HCI log without the delay: HCI log with delay: |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment
-
|
Interesting find! Yeah, it seems like it should wait until the mtu exchange response is processed before sending the next command. This needs a change to the gatt outbound processing logic to ensure there's only 1 outbound at a time. The challenge is that the att exchange is a shortcut not going through the gatt code, so it'd need to mark the connection in the connection manager somehow. I raised #490 to track it. |
Beta Was this translation helpful? Give feedback.
Interesting find! Yeah, it seems like it should wait until the mtu exchange response is processed before sending the next command. This needs a change to the gatt outbound processing logic to ensure there's only 1 outbound at a time. The challenge is that the att exchange is a shortcut not going through the gatt code, so it'd need to mark the connection in the connection manager somehow.
I raised #490 to track it.