diff options
author | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2023-06-10 01:19:42 +0000 |
---|---|---|
committer | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2023-06-10 01:19:42 +0000 |
commit | 41f199d925f5bf81e3ab4508e6514a55536de6f0 (patch) | |
tree | b473a71b4c7f1ea7078fc9ab1de24560108cbe70 | |
parent | 8ac6e246ef5773dfd4c3ec0a79e3cc5e09d95ad6 (diff) | |
parent | 6303968c5ec3d322248e87db4c548899d42c01a6 (diff) | |
download | uwb-android14-s1-release.tar.gz |
Snap for 10296977 from 6303968c5ec3d322248e87db4c548899d42c01a6 to udc-releaseandroid-vts-14.0_r4android-vts-14.0_r3android-vts-14.0_r2android-vts-14.0_r1android-security-14.0.0_r8android-security-14.0.0_r7android-security-14.0.0_r6android-security-14.0.0_r5android-security-14.0.0_r4android-security-14.0.0_r3android-security-14.0.0_r2android-security-14.0.0_r1android-platform-14.0.0_r7android-platform-14.0.0_r6android-platform-14.0.0_r5android-platform-14.0.0_r4android-platform-14.0.0_r3android-platform-14.0.0_r2android-platform-14.0.0_r1android-cts-14.0_r4android-cts-14.0_r3android-cts-14.0_r2android-cts-14.0_r1android-14.0.0_r28android-14.0.0_r2android-14.0.0_r15android-14.0.0_r14android-14.0.0_r13android-14.0.0_r1android14-tests-releaseandroid14-security-releaseandroid14-s2-releaseandroid14-s1-releaseandroid14-releaseandroid14-platform-release
Change-Id: I830327629f71d347aa0f6a850cb5a8f9bae4005b
-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_, +} |