diff options
author | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2023-06-10 01:15:25 +0000 |
---|---|---|
committer | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2023-06-10 01:15:25 +0000 |
commit | 7345d1ece20941c9ad26cab850ddd2e86defb6d9 (patch) | |
tree | b473a71b4c7f1ea7078fc9ab1de24560108cbe70 | |
parent | 98ebaeb7e0406b07ac5302ffef61924beeb764b9 (diff) | |
parent | 7f4bdbbc018ebdc9684bc7ce3cd24f0d4c9ed784 (diff) | |
download | uwb-android14-d1-s4-release.tar.gz |
Snap for 10297225 from 7f4bdbbc018ebdc9684bc7ce3cd24f0d4c9ed784 to udc-d1-releaseandroid-14.0.0_r9android-14.0.0_r8android-14.0.0_r7android-14.0.0_r6android-14.0.0_r5android-14.0.0_r4android-14.0.0_r3android-14.0.0_r12android-14.0.0_r11android-14.0.0_r10android14-d1-s7-releaseandroid14-d1-s6-releaseandroid14-d1-s5-releaseandroid14-d1-s4-releaseandroid14-d1-s3-releaseandroid14-d1-s2-releaseandroid14-d1-s1-releaseandroid14-d1-release
Change-Id: Ib9c00c306dc98831d9f4e3417533f61c1b2fcb74
-rw-r--r-- | src/rust/uwb_core/protos/uwb_service.proto | 1 | ||||
-rw-r--r-- | src/rust/uwb_core/src/proto/mappings.rs | 1 | ||||
-rw-r--r-- | src/rust/uwb_core/src/uci/notification.rs | 20 | ||||
-rw-r--r-- | src/rust/uwb_uci_packets/uci_packets.pdl | 5 |
4 files changed, 27 insertions, 0 deletions
diff --git a/src/rust/uwb_core/protos/uwb_service.proto b/src/rust/uwb_core/protos/uwb_service.proto index 944f82e..72cd879 100644 --- a/src/rust/uwb_core/protos/uwb_service.proto +++ b/src/rust/uwb_core/protos/uwb_service.proto @@ -186,6 +186,7 @@ enum SessionType { FIRA_RANGING_SESSION = 0; FIRA_DATA_TRANSFER = 1; CCC = 2; + DEVICE_TEST_MODE = 3; } // Represent uwb_uci_packets::UpdateMulticastListAction. diff --git a/src/rust/uwb_core/src/proto/mappings.rs b/src/rust/uwb_core/src/proto/mappings.rs index cb0e078..1535197 100644 --- a/src/rust/uwb_core/src/proto/mappings.rs +++ b/src/rust/uwb_core/src/proto/mappings.rs @@ -528,6 +528,7 @@ enum_mapping! { FIRA_RANGING_SESSION => FiraRangingSession, FIRA_DATA_TRANSFER => FiraDataTransfer, CCC => Ccc, + DEVICE_TEST_MODE => DeviceTestMode, } enum_mapping! { diff --git a/src/rust/uwb_core/src/uci/notification.rs b/src/rust/uwb_core/src/uci/notification.rs index 80ce3cc..ad23e29 100644 --- a/src/rust/uwb_core/src/uci/notification.rs +++ b/src/rust/uwb_core/src/uci/notification.rs @@ -209,6 +209,7 @@ impl TryFrom<uwb_uci_packets::UciNotification> for UciNotification { UciNotificationChild::UciVendor_B_Notification(evt) => vendor_notification(evt.into()), UciNotificationChild::UciVendor_E_Notification(evt) => vendor_notification(evt.into()), UciNotificationChild::UciVendor_F_Notification(evt) => vendor_notification(evt.into()), + UciNotificationChild::TestNotification(evt) => vendor_notification(evt.into()), _ => { error!("Unknown UciNotification: {:?}", evt); Err(Error::Unknown) @@ -458,6 +459,10 @@ fn get_vendor_uci_payload(evt: uwb_uci_packets::UciNotification) -> Result<Vec<u uwb_uci_packets::UciVendor_F_NotificationChild::None => Ok(Vec::new()), } } + uwb_uci_packets::UciNotificationChild::TestNotification(evt) => match evt.specialize() { + uwb_uci_packets::TestNotificationChild::Payload(payload) => Ok(payload.to_vec()), + uwb_uci_packets::TestNotificationChild::None => Ok(Vec::new()), + }, _ => { error!("Unknown UciVendor packet: {:?}", evt); Err(Error::Unknown) @@ -823,4 +828,19 @@ mod tests { }) ); } + + #[test] + fn test_test_to_vendor_notification_casting() { + let test_notification: uwb_uci_packets::UciNotification = + uwb_uci_packets::TestNotificationBuilder { opcode: 0x22, payload: None }.build().into(); + let test_uci_notification = UciNotification::try_from(test_notification).unwrap(); + assert_eq!( + test_uci_notification, + UciNotification::Vendor(RawUciMessage { + gid: 0x0d, // per enum Test GroupId in uci_packets.pdl + oid: 0x22, + payload: vec![], + }) + ); + } } diff --git a/src/rust/uwb_uci_packets/uci_packets.pdl b/src/rust/uwb_uci_packets/uci_packets.pdl index 711966f..d86d9e6 100644 --- a/src/rust/uwb_uci_packets/uci_packets.pdl +++ b/src/rust/uwb_uci_packets/uci_packets.pdl @@ -431,6 +431,7 @@ enum SessionType: 8 { FIRA_RANGING_SESSION = 0x00, FIRA_DATA_TRANSFER = 0x01, CCC = 0xA0, + DEVICE_TEST_MODE = 0xD0, } enum MessageType: 3 { @@ -1330,3 +1331,7 @@ packet UciVendor_E_Notification : UciNotification (group_id = VENDOR_RESERVED_E) packet UciVendor_F_Notification : UciNotification (group_id = VENDOR_RESERVED_F) { _payload_, } + +packet TestNotification : UciNotification (group_id = TEST) { + _payload_, +} |