1// Copyright 2022, The Android Open Source Project 2// 3// Licensed under the Apache License, Version 2.0 (the "License"); 4// you may not use this file except in compliance with the License. 5// You may obtain a copy of the License at 6// 7// http://www.apache.org/licenses/LICENSE-2.0 8// 9// Unless required by applicable law or agreed to in writing, software 10// distributed under the License is distributed on an "AS IS" BASIS, 11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12// See the License for the specific language governing permissions and 13// limitations under the License. 14 15// This file defines the requests and responses of the UwbService's methods. 16// Most of the elements are referred to the FiRa Consortium UWB Command 17// Interface Generic Techinal Specification Version 1.1.0. 18// 19// Note: Due to the protobuf's restriction: the first field of enum must be 20// zero, the value of some enum fields are not the same as the UCI 21// specification. Also, the default value of some fields defined at UCI 22// specification is not zero. The client should set all the fields when creating 23// protobuf structure, instead of relying the default value of protobuf. 24 25syntax = "proto3"; 26package uwb_core; 27 28// The status code of the method response, containing variants of error::Error 29// and OK. 30enum Status { 31 // The method is executed successfully. 32 OK = 0; 33 34 // The provided parameters are invalid, or the method is not allowed to be 35 // called in the current state. 36 BAD_PARAMETERS = 1; 37 38 // The maximum number of sessions has been reached. 39 MAX_SESSIONS_EXCEEDED = 2; 40 41 // Max ranging round retries reached. 42 MAX_RR_RETRY_REACHED = 3; 43 44 // Fails due to a protocol specific reason. 45 PROTOCOL_SPECIFIC = 4; 46 47 // The remote device has requested to change the session. 48 REMOTE_REQUEST = 5; 49 50 // The response or notification is not received in timeout. 51 TIMEOUT = 6; 52 53 // The command should be retried. 54 COMMAND_RETRY = 7; 55 56 // Duplicated SessionId. 57 DUPLICATED_SESSION_ID = 8; 58 59 //Regulation UWB off 60 REGULATION_UWB_OFF = 9; 61 62 // The unknown error. 63 UNKNOWN = 10; 64} 65 66// Represent uwb_uci_packets::StatusCode. 67enum StatusCode { 68 UCI_STATUS_OK = 0; 69 UCI_STATUS_REJECTED = 1; 70 UCI_STATUS_FAILED = 2; 71 UCI_STATUS_SYNTAX_ERROR = 3; 72 UCI_STATUS_INVALID_PARAM = 4; 73 UCI_STATUS_INVALID_RANGE = 5; 74 UCI_STATUS_INVALID_MSG_SIZE = 6; 75 UCI_STATUS_UNKNOWN_GID = 7; 76 UCI_STATUS_UNKNOWN_OID = 8; 77 UCI_STATUS_READ_ONLY = 9; 78 UCI_STATUS_COMMAND_RETRY = 10; 79 UCI_STATUS_UNKNOWN = 11; 80 81 UCI_STATUS_SESSION_NOT_EXIST = 17; 82 UCI_STATUS_SESSION_DUPLICATE = 18; 83 UCI_STATUS_SESSION_ACTIVE = 19; 84 UCI_STATUS_MAX_SESSIONS_EXCEEDED = 20; 85 UCI_STATUS_SESSION_NOT_CONFIGURED = 21; 86 UCI_STATUS_ACTIVE_SESSIONS_ONGOING = 22; 87 UCI_STATUS_MULTICAST_LIST_FULL = 23; 88 UCI_STATUS_ADDRESS_NOT_FOUND = 24; 89 UCI_STATUS_ADDRESS_ALREADY_PRESENT = 25; 90 UCI_STATUS_OK_NEGATIVE_DISTANCE_REPORT = 27; 91 92 UCI_STATUS_RANGING_TX_FAILED = 32; 93 UCI_STATUS_RANGING_RX_TIMEOUT = 33; 94 UCI_STATUS_RANGING_RX_PHY_DEC_FAILED = 34; 95 UCI_STATUS_RANGING_RX_PHY_TOA_FAILED = 35; 96 UCI_STATUS_RANGING_RX_PHY_STS_FAILED = 36; 97 UCI_STATUS_RANGING_RX_MAC_DEC_FAILED = 37; 98 UCI_STATUS_RANGING_RX_MAC_IE_DEC_FAILED = 38; 99 UCI_STATUS_RANGING_RX_MAC_IE_MISSING = 39; 100 UCI_STATUS_ERROR_ROUND_INDEX_NOT_ACTIVATED = 40; 101 UCI_STATUS_ERROR_NUMBER_OF_ACTIVE_RANGING_ROUNDS_EXCEEDED = 41; 102 UCI_STATUS_ERROR_DL_TDOA_DEVICE_ADDRESS_NOT_MATCHING_IN_REPLY_TIME_LIST = 42; 103 104 UCI_STATUS_DATA_MAX_TX_PSDU_SIZE_EXCEEDED = 48; 105 UCI_STATUS_DATA_RX_CRC_ERROR = 49; 106 107 UCI_STATUS_ERROR_CCC_SE_BUSY = 80; 108 UCI_STATUS_ERROR_CCC_LIFECYCLE = 81; 109 UCI_STATUS_ERROR_STOPPED_DUE_TO_OTHER_SESSION_CONFLICT = 82; 110 UCI_STATUS_REGULATION_UWB_OFF = 83; 111 // All vendor specific status code will be mapped to UCI_STATUS_VENDOR_SPECIFIC. 112 UCI_STATUS_RFU_OR_VENDOR_SPECIFIC = 255; 113} 114 115// Represent uwb_uci_packets::DeviceState. 116enum DeviceState { 117 DEVICE_STATE_READY = 0; 118 DEVICE_STATE_ACTIVE = 1; 119 DEVICE_STATE_ERROR = 2; 120} 121 122// Represent uwb_uci_packets::SessionState. 123enum SessionState { 124 INIT = 0; 125 DEINIT = 1; 126 ACTIVE = 2; 127 IDLE = 3; 128} 129 130// Represent uwb_uci_packets::ReasonCode. 131enum ReasonCode { 132 STATE_CHANGE_WITH_SESSION_MANAGEMENT_COMMANDS = 0; 133 MAX_RANGING_ROUND_RETRY_COUNT_REACHED = 1; 134 MAX_NUMBER_OF_MEASUREMENTS_REACHED = 2; 135 SESSION_SUSPENDED_DUE_TO_INBAND_SIGNAL = 3; 136 SESSION_RESUMED_DUE_TO_INBAND_SIGNAL = 4; 137 SESSION_STOPPED_DUE_TO_INBAND_SIGNAL = 5; 138 ERROR_INVALID_UL_TDOA_RANDOM_WINDOW = 29; 139 ERROR_MIN_RFRAMES_PER_RR_NOT_SUPPORTED = 30; 140 ERROR_INTER_FRAME_INTERVAL_NOT_SUPPORTED = 31; 141 ERROR_SLOT_LENGTH_NOT_SUPPORTED = 32; 142 ERROR_INSUFFICIENT_SLOTS_PER_RR = 33; 143 ERROR_MAC_ADDRESS_MODE_NOT_SUPPORTED = 34; 144 ERROR_INVALID_RANGING_DURATION = 35; 145 ERROR_INVALID_STS_CONFIG = 36; 146 ERROR_INVALID_RFRAME_CONFIG = 37; 147 ERROR_HUS_NOT_ENOUGH_SLOTS = 38; 148 ERROR_HUS_CFP_PHASE_TOO_SHORT = 39; 149 ERROR_HUS_CAP_PHASE_TOO_SHORT = 40; 150 ERROR_HUS_OTHERS = 41; 151 ERROR_STATUS_SESSION_KEY_NOT_FOUND = 42; 152 ERROR_STATUS_SUB_SESSION_KEY_NOT_FOUND = 43; 153 ERROR_INVALID_PREAMBLE_CODE_INDEX = 44; 154 ERROR_INVALID_SFD_ID = 45; 155 ERROR_INVALID_PSDU_DATA_RATE = 46; 156 ERROR_INVALID_PHR_DATA_RATE = 47; 157 ERROR_INVALID_PREAMBLE_DURATION = 48; 158 ERROR_INVALID_STS_LENGTH = 49; 159 ERROR_INVALID_NUM_OF_STS_SEGMENTS = 50; 160 ERROR_INVALID_NUM_OF_CONTROLEES = 51; 161 ERROR_MAX_RANGING_REPLY_TIME_EXCEEDED = 52; 162 ERROR_INVALID_DST_ADDRESS_LIST = 53; 163 ERROR_INVALID_OR_NOT_FOUND_SUB_SESSION_ID = 54; 164 ERROR_INVALID_RESULT_REPORT_CONFIG = 55; 165 ERROR_INVALID_RANGING_ROUND_CONTROL_CONFIG = 56; 166 ERROR_INVALID_RANGING_ROUND_USAGE = 57; 167 ERROR_INVALID_MULTI_NODE_MODE = 58; 168 ERROR_RDS_FETCH_FAILURE = 59; 169 ERROR_REF_UWB_SESSION_DOES_NOT_EXIST = 60; 170 ERROR_REF_UWB_SESSION_RANGING_DURATION_MISMATCH = 61; 171 ERROR_REF_UWB_SESSION_INVALID_OFFSET_TIME = 62; 172 ERROR_REF_UWB_SESSION_LOST = 63; 173 ERROR_INVALID_CHANNEL_WITH_AOA = 128; 174 ERROR_STOPPED_DUE_TO_OTHER_SESSION_CONFLICT = 129; 175 ERROR_DT_ANCHOR_RANGING_ROUNDS_NOT_CONFIGURED = 130; 176 ERROR_DT_TAG_RANGING_ROUNDS_NOT_CONFIGURED = 131; 177 SESSION_STOPPED_DUE_TO_MAX_STS_INDEX_VALUE = 162; 178 // All vendor reason code will be mapped to ERROR_VENDOR_SPECIFIC. 179 ERROR_RFU_OR_VENDOR_SPECIFIC = 255; 180} 181 182// Represent uwb_uci_packets::RangingMeasurementType. 183enum RangingMeasurementType { 184 ONE_WAY = 0; 185 TWO_WAY = 1; 186 DL_TDOA = 2; 187 OWR_AOA = 3; 188} 189 190// Represent uwb_uci_packets::SessionType. 191enum SessionType { 192 FIRA_RANGING_SESSION = 0x00; 193 FIRA_RANGING_AND_IN_BAND_DATA_SESSION = 0x01; 194 FIRA_DATA_TRANSFER = 0x02; 195 FIRA_RANGING_ONLY_PHASE = 0x03; 196 FIRA_IN_BAND_DATA_PHASE = 0x04; 197 FIRA_RANGING_WITH_DATA_PHASE = 0x05; 198 CCC = 0xA0; 199 RADAR_SESSION = 0xA1; 200 ALIRO = 0xA2; 201 DEVICE_TEST_MODE = 0xD0; 202} 203 204// Represent uwb_uci_packets::UpdateMulticastListAction. 205enum UpdateMulticastListAction { 206 ADD_CONTROLEE = 0; 207 REMOVE_CONTROLEE = 1; 208 ADD_CONTROLEE_WITH_SHORT_SUB_SESSION_KEY = 2; 209 ADD_CONTROLEE_WITH_LONG_SUB_SESSION_KEY = 3; 210} 211 212// Represent uwb_uci_packets::MacAddressIndicator. 213enum MacAddressIndicator { 214 SHORT_ADDRESS = 0x00; 215 EXTENDED_ADDRESS = 0x01; 216} 217 218// Represent uwb_core::params::fira_app_config_params::DeviceType. 219enum DeviceType { 220 CONTROLEE = 0; 221 CONTROLLER = 1; 222} 223 224// Represent uwb_core::params::fira_app_config_params::RangingRoundUsage. 225enum RangingRoundUsage { 226 SS_TWR = 0; 227 DS_TWR = 1; 228 SS_TWR_NON = 2; 229 DS_TWR_NON = 3; 230} 231 232// Represent uwb_core::params::fira_app_config_params::StsConfig. 233enum StsConfig { 234 STATIC = 0; 235 DYNAMIC = 1; 236 DYNAMIC_FOR_CONTROLEE_INDIVIDUAL_KEY = 2; 237} 238 239// Represent uwb_core::params::fira_app_config_params::MultiNodeMode. 240enum MultiNodeMode { 241 UNICAST = 0; 242 ONE_TO_MANY = 1; 243 MANY_TO_MANY = 2; 244} 245 246// Represent uwb_core::params::fira_app_config_params::UwbChannel. 247enum UwbChannel { 248 CHANNEL_5 = 0; 249 CHANNEL_6 = 1; 250 CHANNEL_8 = 2; 251 CHANNEL_9 = 3; 252 CHANNEL_10 = 4; 253 CHANNEL_12 = 5; 254 CHANNEL_13 = 6; 255 CHANNEL_14 = 7; 256} 257 258// Represent uwb_core::params::fira_app_config_params::MacFcsType. 259enum MacFcsType { 260 CRC_16 = 0; 261 CRC_32 = 1; 262} 263 264// Represent uwb_core::params::fira_app_config_params::AoaResultRequest. 265enum AoaResultRequest { 266 NO_AOA_REPORT = 0; 267 REQ_AOA_RESULTS = 1; 268 REQ_AOA_RESULTS_AZIMUTH_ONLY = 2; 269 REQ_AOA_RESULTS_ELEVATION_ONLY = 3; 270 REQ_AOA_RESULTS_INTERLEAVED = 4; 271} 272 273// Represent uwb_core::params::fira_app_config_params::RangeDataNtfConfig. 274enum RangeDataNtfConfig { 275 RANGE_DATA_NTF_CONFIG_DISABLE = 0; 276 RANGE_DATA_NTF_CONFIG_ENABLE = 1; 277 RANGE_DATA_NTF_CONFIG_ENABLE_PROXIMITY = 2; 278} 279 280// Represent uwb_core::params::fira_app_config_params::DeviceRole. 281enum DeviceRole { 282 RESPONDER = 0; 283 INITIATOR = 1; 284} 285 286// Represent uwb_core::params::fira_app_config_params::RframeConfig. 287enum RframeConfig { 288 SP0 = 0; 289 SP1 = 1; 290 SP3 = 3; 291} 292 293// Represent uwb_core::params::fira_app_config_params::PsduDataRate. 294enum PsduDataRate { 295 RATE_6M_81 = 0; 296 RATE_7M_80 = 1; 297 RATE_27M_2 = 2; 298 RATE_31M_2 = 3; 299 RATE_850K = 4; 300} 301 302// Represent uwb_core::params::fira_app_config_params::PreambleDuration. 303enum PreambleDuration { 304 T32_SYMBOLS = 0; 305 T64_SYMBOLS = 1; 306} 307 308// Represent uwb_core::params::fira_app_config_params::RangingTimeStruct. 309enum RangingTimeStruct { 310 INTERVAL_BASED_SCHEDULING = 0; 311 BLOCK_BASED_SCHEDULING = 1; 312} 313 314// Represent uwb_core::params::fira_app_config_params::TxAdaptivePayloadPower. 315enum TxAdaptivePayloadPower { 316 TX_ADAPTIVE_PAYLOAD_POWER_DISABLE = 0; 317 TX_ADAPTIVE_PAYLOAD_POWER_ENABLE = 1; 318} 319 320// Represent uwb_core::params::fira_app_config_params::PrfMode. 321enum PrfMode { 322 BPRF = 0; 323 HPRF_WITH_124_8_MHZ = 1; 324 HPRF_WITH_249_6_MHZ = 2; 325} 326 327// Represent uwb_core::params::fira_app_config_params::ScheduledMode. 328enum ScheduledMode { 329 TIME_SCHEDULED_RANGING = 0; 330} 331 332// Represent uwb_core::params::fira_app_config_params::KeyRotation. 333enum KeyRotation { 334 KEY_ROTATION_DISABLE = 0; 335 KEY_ROTATION_ENABLE = 1; 336} 337 338// Represent uwb_core::params::fira_app_config_params::MacAddressMode. 339enum MacAddressMode { 340 MAC_ADDRESS_2_BYTES = 0; 341 MAC_ADDRESS_8_BYTES_2_BYTES_HEADER = 1; 342 MAC_ADDRESS_8_BYTES = 2; 343} 344 345// Represent uwb_core::params::fira_app_config_params::HoppingMode. 346enum HoppingMode { 347 HOPPING_MODE_DISABLE = 0; 348 FIRA_HOPPING_ENABLE = 1; 349} 350 351// Represent uwb_core::params::fira_app_config_params::BprfPhrDataRate. 352enum BprfPhrDataRate { 353 BPRF_PHR_DATA_RATE_850K = 0; 354 BPRF_PHR_DATA_RATE_6M_81 = 1; 355} 356 357// Represent uwb_core::params::fira_app_config_params::StsLength. 358enum StsLength { 359 LENGTH_32 = 0; 360 LENGTH_64 = 1; 361 LENGTH_128 = 2; 362} 363 364// Represent uwb_core::uci::uci_logger::UciLoggerMode. 365enum UciLoggerMode { 366 UCI_LOGGER_MODE_DISABLED = 0; 367 UCI_LOGGER_MODE_UNFILTERED = 1; 368 UCI_LOGGER_MODE_FILTERED = 2; 369} 370 371// Represent uwb_core::params::fira_app_config_params::RangingRoundControl. 372message RangingRoundControl { 373 bool ranging_result_report_message = 1; 374 bool control_message = 2; 375 bool measurement_report_message = 3; 376} 377 378// Represent uwb_core::params::fira_app_config_params::ResultReportConfig. 379message ResultReportConfig { 380 bool tof = 1; 381 bool aoa_azimuth = 2; 382 bool aoa_elevation = 3; 383 bool aoa_fom = 4; 384} 385 386// Represent uwb_core::params::fira_app_config_params::FiraAppConfigParams. 387message FiraAppConfigParams { 388 DeviceType device_type = 1; 389 RangingRoundUsage ranging_round_usage = 2; 390 StsConfig sts_config = 3; 391 MultiNodeMode multi_node_mode = 4; 392 UwbChannel channel_number = 5; 393 bytes device_mac_address = 6; 394 repeated bytes dst_mac_address = 7; 395 uint32 slot_duration_rstu = 8; 396 uint32 ranging_duration_ms = 9; 397 MacFcsType mac_fcs_type = 10; 398 RangingRoundControl ranging_round_control = 11; 399 AoaResultRequest aoa_result_request = 12; 400 RangeDataNtfConfig range_data_ntf_config = 13; 401 uint32 range_data_ntf_proximity_near_cm = 14; 402 uint32 range_data_ntf_proximity_far_cm = 15; 403 DeviceRole device_role = 16; 404 RframeConfig rframe_config = 17; 405 uint32 preamble_code_index = 18; 406 uint32 sfd_id = 19; 407 PsduDataRate psdu_data_rate = 20; 408 PreambleDuration preamble_duration = 21; 409 RangingTimeStruct ranging_time_struct = 22; 410 uint32 slots_per_rr = 23; 411 TxAdaptivePayloadPower tx_adaptive_payload_power = 24; 412 uint32 responder_slot_index = 25; 413 PrfMode prf_mode = 26; 414 ScheduledMode scheduled_mode = 27; 415 KeyRotation key_rotation = 28; 416 uint32 key_rotation_rate = 29; 417 uint32 session_priority = 30; 418 MacAddressMode mac_address_mode = 31; 419 bytes vendor_id = 32; 420 bytes static_sts_iv = 33; 421 uint32 number_of_sts_segments = 34; 422 uint32 max_rr_retry = 35; 423 uint32 uwb_initiation_time_ms = 36; 424 HoppingMode hopping_mode = 37; 425 uint32 block_stride_length = 38; 426 ResultReportConfig result_report_config = 39; 427 uint32 in_band_termination_attempt_count = 40; 428 uint32 sub_session_id = 41; 429 BprfPhrDataRate bprf_phr_data_rate = 42; 430 uint32 max_number_of_measurements = 43; 431 StsLength sts_length = 44; 432 uint32 number_of_range_measurements = 45; 433 uint32 number_of_aoa_azimuth_measurements = 46; 434 uint32 number_of_aoa_elevation_measurements = 47; 435} 436 437// Represent uwb_uci_packets::Controlee. 438message Controlee { 439 uint32 short_address = 1; 440 uint32 subsession_id = 2; 441} 442 443// Represent uwb_uci_packets::ShortAddressTwoWayRangingMeasurement or 444// uwb_uci_packets::ExtendedAddressTwoWayRangingMeasurement. 445message TwoWayRangingMeasurement { 446 uint64 mac_address = 1; 447 StatusCode status = 2; 448 uint32 nlos = 3; 449 uint32 distance = 4; 450 uint32 aoa_azimuth = 5; 451 uint32 aoa_azimuth_fom = 6; 452 uint32 aoa_elevation = 7; 453 uint32 aoa_elevation_fom = 8; 454 uint32 aoa_destination_azimuth = 9; 455 uint32 aoa_destination_azimuth_fom = 10; 456 uint32 aoa_destination_elevation = 11; 457 uint32 aoa_destination_elevation_fom = 12; 458 uint32 slot_index = 13; 459 uint32 rssi = 14; 460} 461 462// Represent uwb_uci_packets::ShortAddressOwrAoaRangingMeasurement or 463// uwb_uci_packets::ExtendedAddressOwrAoaRangingMeasurement. 464message OwrAoaRangingMeasurement { 465 uint64 mac_address = 1; 466 StatusCode status = 2; 467 uint32 nlos = 3; 468 uint32 block_index = 4; 469 uint32 frame_sequence_number = 5; 470 uint32 aoa_azimuth = 6; 471 uint32 aoa_azimuth_fom = 7; 472 uint32 aoa_elevation = 8; 473 uint32 aoa_elevation_fom = 9; 474} 475 476// Represent uwb_uci_packets::ShortAddressDlTdoaRangingMeasurement or 477// uwb_uci_packets::ExtendedAddressDlTdoaRangingMeasurement. 478message DlTDoARangingMeasurement { 479 uint64 mac_address = 1; 480 StatusCode status = 2; 481 uint32 message_control = 3; 482 uint32 block_index = 4; 483 uint32 round_index = 5; 484 uint32 nlos = 6; 485 uint32 aoa_azimuth = 7; 486 uint32 aoa_azimuth_fom = 8; 487 uint32 aoa_elevation = 9; 488 uint32 aoa_elevation_fom = 10; 489 uint32 rssi = 11; 490 uint64 tx_timestamp = 12; 491 uint64 rx_timestamp = 13; 492 uint32 anchor_cfo = 14; 493 uint32 cfo = 15; 494 uint32 initiator_reply_time = 16; 495 uint32 responder_reply_time = 17; 496 uint32 initiator_responder_tof = 18; 497 repeated uint32 dt_anchor_location = 19; 498 repeated uint32 ranging_rounds = 20; 499} 500 501// Represent uwb_core::uci::notification::SessionRangeData; 502message SessionRangeData { 503 uint32 sequence_number = 1; 504 uint32 session_id = 2; 505 uint32 current_ranging_interval_ms = 3; 506 RangingMeasurementType ranging_measurement_type = 4; 507 repeated TwoWayRangingMeasurement twoway_ranging_measurements = 5; 508 repeated DlTDoARangingMeasurement dltdoa_ranging_measurements = 6; 509 OwrAoaRangingMeasurement owraoa_ranging_measurement = 7; 510} 511 512// Represent uwb_uci_packets::PowerStats; 513message PowerStats { 514 StatusCode status = 1; 515 uint32 idle_time_ms = 2; 516 uint32 tx_time_ms = 3; 517 uint32 rx_time_ms = 4; 518 uint32 total_wake_count = 5; 519} 520 521// Response of the UwbService::enable() method. 522message EnableResponse { 523 Status status = 1; 524} 525 526// Response of the UwbService::disable() method. 527message DisableResponse { 528 Status status = 1; 529} 530 531// Argument of the UwbService::SetLoggerMode() method. 532message SetLoggerModeRequest { 533 UciLoggerMode logger_mode = 1; 534} 535 536// Response of the UwbService::SetLoggerMode() method. 537message SetLoggerModeResponse { 538 Status status = 1; 539} 540 541// Argument of the UwbService::InitSession() method. 542message InitSessionRequest { 543 uint32 session_id = 1; 544 SessionType session_type = 2; 545 FiraAppConfigParams params = 3; 546} 547 548// Response of the UwbService::InitSession() method. 549message InitSessionResponse { 550 Status status = 1; 551} 552 553// Argument of the UwbService::DeinitSession() method. 554message DeinitSessionRequest { 555 uint32 session_id = 1; 556} 557 558// Response of the UwbService::DeinitSession() method. 559message DeinitSessionResponse { 560 Status status = 1; 561} 562 563// Argument of the UwbService::StartRanging() method. 564message StartRangingRequest { 565 uint32 session_id = 1; 566} 567 568// Response of the UwbService::StartRanging() method. 569message StartRangingResponse { 570 Status status = 1; 571} 572 573// Argument of the UwbService::StopRanging() method. 574message StopRangingRequest { 575 uint32 session_id = 1; 576} 577 578// Response of the UwbService::StopRanging() method. 579message StopRangingResponse { 580 Status status = 1; 581} 582 583// Argument of the UwbService::SessionParams() method. 584message SessionParamsRequest { 585 uint32 session_id = 1; 586} 587 588// Response of the UwbService::SessionParams() method. 589message SessionParamsResponse { 590 Status status = 1; 591 FiraAppConfigParams params = 2; 592} 593 594// Argument of the UwbService::Reconfigure() method. 595message ReconfigureRequest { 596 uint32 session_id = 1; 597 FiraAppConfigParams params = 2; 598} 599 600// Response of the UwbService::Reconfigure() method. 601message ReconfigureResponse { 602 Status status = 1; 603} 604 605// Argument of the UwbService::UpdateControllerMulticastList() method. 606message UpdateControllerMulticastListRequest { 607 uint32 session_id = 1; 608 UpdateMulticastListAction action = 2; 609 repeated Controlee controlees = 3; 610} 611 612// Response of the UwbService::UpdateControllerMulticastList() method. 613message UpdateControllerMulticastListResponse { 614 Status status = 1; 615} 616 617// Argument of the UwbService::AndroidSetCountryCode() method. 618message AndroidSetCountryCodeRequest { 619 string country_code = 1; 620} 621 622// Response of the UwbService::AndroidSetCountryCode() method. 623message AndroidSetCountryCodeResponse { 624 Status status = 1; 625} 626 627// Response of the UwbService::AndroidGetPowerStats() method. 628message AndroidGetPowerStatsResponse { 629 Status status = 1; 630 PowerStats power_stats = 2; 631} 632 633// Argument of the UwbService::SendVendorCmd() method. 634message SendVendorCmdRequest { 635 uint32 gid = 1; 636 uint32 oid = 2; 637 bytes payload = 3; 638 uint32 mt = 4; 639} 640 641// Response of the UwbService::SendVendorCmd() method. 642message SendVendorCmdResponse { 643 Status status = 1; 644 uint32 gid = 2; 645 uint32 oid = 3; 646 bytes payload = 4; 647} 648 649// Argument of the UwbServiceCallback::onServiceReset() method. 650message ServiceResetSignal { 651 bool success = 1; 652} 653 654// Argument of the UwbServiceCallback::onUciDeviceStatusChanged() method. 655message UciDeviceStatusChangedSignal { 656 DeviceState state = 1; 657} 658 659// Argument of the UwbServiceCallback::onSessionStateChanged() method. 660message SessionStateChangedSignal { 661 uint32 session_id = 1; 662 SessionState session_state = 2; 663 ReasonCode reason_code = 3; 664} 665 666// Argument of the UwbServiceCallback::onRangeDataReceived() method. 667message RangeDataReceivedSignal { 668 uint32 session_id = 1; 669 SessionRangeData range_data = 2; 670} 671 672// Argument of the UwbServiceCallback::onVendorNotificationReceived() method. 673message VendorNotificationReceivedSignal { 674 uint32 gid = 1; 675 uint32 oid = 2; 676 bytes payload = 3; 677} 678