diff options
author | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2023-11-06 20:23:49 +0000 |
---|---|---|
committer | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2023-11-06 20:23:49 +0000 |
commit | f2833a4e1e9e4e648a5b5176e9258770de1a91ea (patch) | |
tree | d0e062c90e8926fb0ed2d028395c0c4c9d7881b6 | |
parent | f930c5849652afb1d172c60d2f8ec2ba44fbcfb0 (diff) | |
parent | 086d9d99931d4f9379d29e1709862829f340ef74 (diff) | |
download | uwb-f2833a4e1e9e4e648a5b5176e9258770de1a91ea.tar.gz |
Snap for 11028996 from 086d9d99931d4f9379d29e1709862829f340ef74 to mainline-permission-releaseaml_per_341410020aml_per_341311000android14-mainline-permission-release
Change-Id: I9718105df7a179f937a92d9d82c947d5e7e5a0dd
-rw-r--r-- | src/rust/uwb_core/protos/uwb_service.proto | 1 | ||||
-rw-r--r-- | src/rust/uwb_core/src/proto/mappings.rs | 2 | ||||
-rw-r--r-- | src/rust/uwb_core/src/uci/notification.rs | 2 | ||||
-rw-r--r-- | src/rust/uwb_core/src/uci/response.rs | 4 | ||||
-rw-r--r-- | src/rust/uwb_core/src/uci/uci_manager.rs | 8 | ||||
-rw-r--r-- | src/rust/uwb_uci_packets/uci_packets.pdl | 13 |
6 files changed, 19 insertions, 11 deletions
diff --git a/src/rust/uwb_core/protos/uwb_service.proto b/src/rust/uwb_core/protos/uwb_service.proto index 8867460..d7c4c38 100644 --- a/src/rust/uwb_core/protos/uwb_service.proto +++ b/src/rust/uwb_core/protos/uwb_service.proto @@ -76,6 +76,7 @@ enum StatusCode { UCI_STATUS_UNKNOWN_OID = 8; UCI_STATUS_READ_ONLY = 9; UCI_STATUS_COMMAND_RETRY = 10; + UCI_STATUS_UNKNOWN = 11; UCI_STATUS_SESSION_NOT_EXIST = 17; UCI_STATUS_SESSION_DUPLICATE = 18; diff --git a/src/rust/uwb_core/src/proto/mappings.rs b/src/rust/uwb_core/src/proto/mappings.rs index 15e66f1..c10cf0e 100644 --- a/src/rust/uwb_core/src/proto/mappings.rs +++ b/src/rust/uwb_core/src/proto/mappings.rs @@ -116,6 +116,7 @@ impl From<ProtoStatusCode> for StatusCode { ProtoStatusCode::UCI_STATUS_UNKNOWN_OID => StatusCode::UciStatusUnknownOid, ProtoStatusCode::UCI_STATUS_READ_ONLY => StatusCode::UciStatusReadOnly, ProtoStatusCode::UCI_STATUS_COMMAND_RETRY => StatusCode::UciStatusCommandRetry, + ProtoStatusCode::UCI_STATUS_UNKNOWN => StatusCode::UciStatusUnknown, ProtoStatusCode::UCI_STATUS_SESSION_NOT_EXIST => StatusCode::UciStatusSessionNotExist, ProtoStatusCode::UCI_STATUS_SESSION_DUPLICATE => StatusCode::UciStatusSessionDuplicate, ProtoStatusCode::UCI_STATUS_SESSION_ACTIVE => StatusCode::UciStatusSessionActive, @@ -199,6 +200,7 @@ impl From<StatusCode> for ProtoStatusCode { StatusCode::UciStatusUnknownOid => ProtoStatusCode::UCI_STATUS_UNKNOWN_OID, StatusCode::UciStatusReadOnly => ProtoStatusCode::UCI_STATUS_READ_ONLY, StatusCode::UciStatusCommandRetry => ProtoStatusCode::UCI_STATUS_COMMAND_RETRY, + StatusCode::UciStatusUnknown => ProtoStatusCode::UCI_STATUS_UNKNOWN, StatusCode::UciStatusSessionNotExist => ProtoStatusCode::UCI_STATUS_SESSION_NOT_EXIST, StatusCode::UciStatusSessionDuplicate => ProtoStatusCode::UCI_STATUS_SESSION_DUPLICATE, StatusCode::UciStatusSessionActive => ProtoStatusCode::UCI_STATUS_SESSION_ACTIVE, diff --git a/src/rust/uwb_core/src/uci/notification.rs b/src/rust/uwb_core/src/uci/notification.rs index 1de2bb7..d99f602 100644 --- a/src/rust/uwb_core/src/uci/notification.rs +++ b/src/rust/uwb_core/src/uci/notification.rs @@ -150,7 +150,7 @@ pub struct DataRcvNotification { pub session_token: SessionToken, /// The status of the data rx. - pub status: DataRcvStatusCode, + pub status: StatusCode, /// The sequence number of the data packet. pub uci_sequence_num: u16, diff --git a/src/rust/uwb_core/src/uci/response.rs b/src/rust/uwb_core/src/uci/response.rs index d0f308e..d70f9f7 100644 --- a/src/rust/uwb_core/src/uci/response.rs +++ b/src/rust/uwb_core/src/uci/response.rs @@ -211,7 +211,9 @@ impl TryFrom<uwb_uci_packets::SessionConfigResponse> for UciResponse { )) } SessionConfigResponseChild::SessionQueryMaxDataSizeRsp(evt) => { - Ok(UciResponse::SessionQueryMaxDataSize(Ok(evt.get_max_data_size()))) + Ok(UciResponse::SessionQueryMaxDataSize( + status_code_to_result(evt.get_status()).map(|_| evt.get_max_data_size()), + )) } SessionConfigResponseChild::SessionSetHybridConfigRsp(evt) => { Ok(UciResponse::SessionSetHybridConfig(status_code_to_result(evt.get_status()))) diff --git a/src/rust/uwb_core/src/uci/uci_manager.rs b/src/rust/uwb_core/src/uci/uci_manager.rs index 8db7b32..a1a97f1 100644 --- a/src/rust/uwb_core/src/uci/uci_manager.rs +++ b/src/rust/uwb_core/src/uci/uci_manager.rs @@ -2865,7 +2865,7 @@ mod tests { let app_data = vec![0x01, 0x02, 0x03]; let data_rcv_payload = vec![ 0x05, 0x00, 0x00, 0x00, // SessionToken - 0x00, // DataRcvStatusCode + 0x00, // StatusCode 0xa0, 0xb0, 0xc0, 0xd0, 0xa1, 0xb1, 0xc1, 0xd1, // MacAddress 0x0a, 0x00, // UciSequenceNumber 0x03, 0x00, // AppDataLen @@ -2876,7 +2876,7 @@ mod tests { let data_packet_rcv = build_uci_packet(mt_data, pbf, dpf, oid, data_rcv_payload); let expected_data_rcv_notification = DataRcvNotification { session_token: session_id, - status: DataRcvStatusCode::UciStatusSuccess, + status: StatusCode::UciStatusOk, uci_sequence_num, source_address, payload: app_data, @@ -2925,7 +2925,7 @@ mod tests { let app_data_fragment_1_len = 200; let mut data_rcv_payload_fragment_1: Vec<u8> = vec![ 0x05, 0x00, 0x00, 0x00, // SessionToken - 0x00, // DataRcvStatusCode + 0x00, // StatusCode 0xa0, 0xb0, 0xc0, 0xd0, 0xa1, 0xb1, 0xc1, 0xd1, // MacAddress 0x0a, 0x00, // UciSequenceNumber 0x2c, 0x01, // AppData Length (300) @@ -2947,7 +2947,7 @@ mod tests { build_uci_packet(mt_data, pbf_fragment_2, dpf, oid, data_rcv_payload_fragment_2); let expected_data_rcv_notification = DataRcvNotification { session_token: session_id, - status: DataRcvStatusCode::UciStatusSuccess, + status: StatusCode::UciStatusOk, uci_sequence_num, source_address, payload: app_data, diff --git a/src/rust/uwb_uci_packets/uci_packets.pdl b/src/rust/uwb_uci_packets/uci_packets.pdl index aa69440..1f3969c 100644 --- a/src/rust/uwb_uci_packets/uci_packets.pdl +++ b/src/rust/uwb_uci_packets/uci_packets.pdl @@ -176,6 +176,7 @@ enum DataTransferNtfStatusCode : 8 { UCI_DATA_TRANSFER_STATUS_ERROR_REJECTED = 0x04, UCI_DATA_TRANSFER_STATUS_SESSION_TYPE_NOT_SUPPORTED = 0x05, UCI_DATA_TRANSFER_STATUS_ERROR_DATA_TRANSFER_IS_ONGOING = 0x06, + UCI_DATA_TRANSFER_STATUS_INVALID_FORMAT = 0x07, } enum ResetConfig : 8 { @@ -425,9 +426,10 @@ enum MulticastUpdateStatusCode : 8 { STATUS_ERROR_MULTICAST_LIST_FULL = 0x01, STATUS_ERROR_KEY_FETCH_FAIL = 0x02, STATUS_ERROR_SUB_SESSION_ID_NOT_FOUND = 0x03, - STATUS_ERROR_SUB_SESSION_KEY_NOT_FOUND = 0x05, - STATUS_ERROR_SUB_SESSION_KEY_NOT_APPLICABLE = 0x06, - STATUS_ERROR_SESSION_KEY_NOT_FOUND = 0x07, + STATUS_ERROR_SUB_SESSION_KEY_NOT_FOUND = 0x04, + STATUS_ERROR_SUB_SESSION_KEY_NOT_APPLICABLE = 0x05, + STATUS_ERROR_SESSION_KEY_NOT_FOUND = 0x06, + STATUS_ERROR_ADDRESS_NOT_FOUND = 0x07, STATUS_ERROR_ADDRESS_ALREADY_PRESENT = 0x08, RFU_STATUS_CODE_RANGE_1 = 0x09..0xFF, } @@ -535,7 +537,7 @@ packet UciDataSnd : UciDataPacket (data_packet_format = DATA_SND, message_type = packet UciDataRcv : UciDataPacket (data_packet_format = DATA_RCV, message_type = DATA) { session_token: 32, // Session ID or Session Handle (based on UWBS version) - status: DataRcvStatusCode, + status: StatusCode, source_mac_address: 64, uci_sequence_number: 16, _size_(data): 16, @@ -1025,11 +1027,12 @@ test SessionQueryMaxDataSizeCmd { packet SessionQueryMaxDataSizeRsp : SessionConfigResponse (opcode = 0xB) { //QUER_MAX_DATA_SIZE session_token: 32, // Session ID or Session Handle (based on UWBS version) + status: StatusCode, max_data_size: 16, } test SessionQueryMaxDataSizeRsp { - "\x41\x0B\x00\x06\x00\x00\x00\x00\x0E7\0x07", + "\x41\x0B\x00\x06\x00\x00\x00\x00\x00\x0E7\0x07", } packet SessionStartCmd : SessionControlCommand (opcode = 0x0) { //RANGE_START |