summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDario Nieuwenhuis <dirbaio@dirbaio.net>2021-05-02 21:54:58 +0200
committerGitHub <noreply@github.com>2021-05-02 21:54:58 +0200
commit77db337aef97c58d0824b160778b100a31a46ebf (patch)
treecbc38754309c468394b75022ab1738b5c34aa1ac
parent26e56856d5aa677eba4580b507ecf213097d8550 (diff)
parent64839e93fa242ad923a63dfa432efc4350cbf43a (diff)
downloadnrf-softdevice-77db337aef97c58d0824b160778b100a31a46ebf.zip
Merge pull request #61 from metaspace/gatt-client-timeout
feat: Handle timeout for gatt client writes
-rw-r--r--nrf-softdevice/src/ble/gatt_client.rs4
1 files changed, 4 insertions, 0 deletions
diff --git a/nrf-softdevice/src/ble/gatt_client.rs b/nrf-softdevice/src/ble/gatt_client.rs
index 2944066..3e82eed 100644
--- a/nrf-softdevice/src/ble/gatt_client.rs
+++ b/nrf-softdevice/src/ble/gatt_client.rs
@@ -407,6 +407,7 @@ pub async fn read(conn: &Connection, handle: u16, buf: &mut [u8]) -> Result<usiz
#[cfg_attr(feature = "defmt", derive(defmt::Format))]
pub enum WriteError {
Disconnected,
+ Timeout,
Gatt(GattError),
Raw(RawError),
}
@@ -461,6 +462,9 @@ pub async fn write(conn: &Connection, handle: u16, buf: &[u8]) -> Result<(), Wri
};
Some(Ok(()))
}
+ raw::BLE_GATTC_EVTS_BLE_GATTC_EVT_TIMEOUT => {
+ return Some(Err(WriteError::Timeout));
+ }
_ => None,
}
})