From 422da5400c6740e8df0d1b9474deee26720bfba1 Mon Sep 17 00:00:00 2001 From: Kenneth Knudsen Date: Wed, 22 Jan 2025 10:46:24 +0100 Subject: [PATCH] handle error case in ublox and return i8 --- src/asynch/control.rs | 7 +++++-- src/error.rs | 1 + 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/asynch/control.rs b/src/asynch/control.rs index 8d03404..84c424b 100644 --- a/src/asynch/control.rs +++ b/src/asynch/control.rs @@ -195,7 +195,7 @@ impl<'a, const INGRESS_BUF_SIZE: usize, const URC_CAPACITY: usize> } } - pub async fn get_signal_strength(&self) -> Result { + pub async fn get_signal_strength(&self) -> Result { match (&self.at_client) .send_retry(&GetWifiStatus { status_id: StatusId::Rssi, @@ -203,7 +203,10 @@ impl<'a, const INGRESS_BUF_SIZE: usize, const URC_CAPACITY: usize> .await? .status_id { - WifiStatus::Rssi(s) => Ok(s), + WifiStatus::Rssi(-32768) => Err(Error::NotConnected), + WifiStatus::Rssi(s) => s + .try_into() + .map_err(|_| Error::AT(atat::Error::InvalidResponse)), _ => Err(Error::AT(atat::Error::InvalidResponse)), } } diff --git a/src/error.rs b/src/error.rs index fd38a1b..e454a41 100644 --- a/src/error.rs +++ b/src/error.rs @@ -34,6 +34,7 @@ pub enum Error { Timeout, ShadowStoreBug, AlreadyConnected, + NotConnected, _Unknown, }