summaryrefslogtreecommitdiff
path: root/src/rust/uwb_uci_packets
diff options
context:
space:
mode:
authorHenri Chataing <henrichataing@google.com>2023-03-30 21:50:09 +0000
committerAyush Jain <ayushjain@google.com>2023-04-05 03:14:40 +0000
commit30434955ff7fc67df078de4ba01cf2aeccafbd4c (patch)
tree5934cb952365f98dd07c052027130f4dcc1cbb8e /src/rust/uwb_uci_packets
parent6948e353bdf56045acf57df0e69e0ef53e5655ce (diff)
downloaduwb-30434955ff7fc67df078de4ba01cf2aeccafbd4c.tar.gz
Update use of generated PDL enum types
- ToPrimitive and FromPrimitive are no longer derived, intead From<uN> and Into<uN> are implemented - The enum type is no longer a primitive type, type conversion needs to be done with uN::from Bug: 267339120 Test: cd src/rust/uwb_uci_packets && cargo build Change-Id: I3d3d14d11448ec6795ab08cff3ca25b55291302c Merged-In: I3d3d14d11448ec6795ab08cff3ca25b55291302c
Diffstat (limited to 'src/rust/uwb_uci_packets')
-rw-r--r--src/rust/uwb_uci_packets/src/lib.rs10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/rust/uwb_uci_packets/src/lib.rs b/src/rust/uwb_uci_packets/src/lib.rs
index bc95bc3..68b93b8 100644
--- a/src/rust/uwb_uci_packets/src/lib.rs
+++ b/src/rust/uwb_uci_packets/src/lib.rs
@@ -22,6 +22,8 @@
use std::cmp;
use log::error;
+use num_derive::FromPrimitive;
+use num_traits::FromPrimitive;
use zeroize::Zeroize;
include!(concat!(env!("OUT_DIR"), "/uci_packets.rs"));
@@ -246,19 +248,19 @@ generate_extract_func!(extract_u64, u64);
// keep the two enums in sync, for any additional values defined in the UCI spec).
impl From<GroupId> for GroupIdOrDataPacketFormat {
fn from(gid: GroupId) -> Self {
- GroupIdOrDataPacketFormat::from_u8(gid.to_u8().unwrap()).unwrap()
+ GroupIdOrDataPacketFormat::try_from(u8::from(gid)).unwrap()
}
}
impl From<GroupIdOrDataPacketFormat> for GroupId {
fn from(gid_or_dpf: GroupIdOrDataPacketFormat) -> Self {
- GroupId::from_u8(gid_or_dpf.to_u8().unwrap()).unwrap()
+ GroupId::try_from(u8::from(gid_or_dpf)).unwrap()
}
}
impl From<DataPacketFormat> for GroupIdOrDataPacketFormat {
fn from(dpf: DataPacketFormat) -> Self {
- GroupIdOrDataPacketFormat::from_u8(dpf.to_u8().unwrap()).unwrap()
+ GroupIdOrDataPacketFormat::try_from(u8::from(dpf)).unwrap()
}
}
@@ -268,7 +270,7 @@ impl TryFrom<GroupIdOrDataPacketFormat> for DataPacketFormat {
type Error = Error;
fn try_from(gid_or_dpf: GroupIdOrDataPacketFormat) -> Result<Self> {
- DataPacketFormat::from_u8(gid_or_dpf.to_u8().unwrap()).ok_or(Error::InvalidPacketError)
+ DataPacketFormat::try_from(u8::from(gid_or_dpf)).or(Err(Error::InvalidPacketError))
}
}