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_TX_DELAY_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 // All vendor reason code will be mapped to ERROR_VENDOR_SPECIFIC. 178 ERROR_RFU_OR_VENDOR_SPECIFIC = 255; 179} 180 181// Represent uwb_uci_packets::RangingMeasurementType. 182enum RangingMeasurementType { 183 ONE_WAY = 0; 184 TWO_WAY = 1; 185 DL_TDOA = 2; 186 OWR_AOA = 3; 187} 188 189// Represent uwb_uci_packets::SessionType. 190enum SessionType { 191 FIRA_RANGING_SESSION = 0x00; 192 FIRA_RANGING_AND_IN_BAND_DATA_SESSION = 0x01; 193 FIRA_DATA_TRANSFER = 0x02; 194 FIRA_RANGING_ONLY_PHASE = 0x03; 195 FIRA_IN_BAND_DATA_PHASE = 0x04; 196 FIRA_RANGING_WITH_DATA_PHASE = 0x05; 197 CCC = 0xA0; 198 RADAR_SESSION = 0xA1; 199 ALIRO = 0xA2; 200 DEVICE_TEST_MODE = 0xD0; 201} 202 203// Represent uwb_uci_packets::UpdateMulticastListAction. 204enum UpdateMulticastListAction { 205 ADD_CONTROLEE = 0; 206 REMOVE_CONTROLEE = 1; 207 ADD_CONTROLEE_WITH_SHORT_SUB_SESSION_KEY = 2; 208 ADD_CONTROLEE_WITH_LONG_SUB_SESSION_KEY = 3; 209} 210 211// Represent uwb_uci_packets::MacAddressIndicator. 212enum MacAddressIndicator { 213 SHORT_ADDRESS = 0x00; 214 EXTENDED_ADDRESS = 0x01; 215} 216 217// Represent uwb_core::params::fira_app_config_params::DeviceType. 218enum DeviceType { 219 CONTROLEE = 0; 220 CONTROLLER = 1; 221} 222 223// Represent uwb_core::params::fira_app_config_params::RangingRoundUsage. 224enum RangingRoundUsage { 225 SS_TWR = 0; 226 DS_TWR = 1; 227 SS_TWR_NON = 2; 228 DS_TWR_NON = 3; 229} 230 231// Represent uwb_core::params::fira_app_config_params::StsConfig. 232enum StsConfig { 233 STATIC = 0; 234 DYNAMIC = 1; 235 DYNAMIC_FOR_CONTROLEE_INDIVIDUAL_KEY = 2; 236} 237 238// Represent uwb_core::params::fira_app_config_params::MultiNodeMode. 239enum MultiNodeMode { 240 UNICAST = 0; 241 ONE_TO_MANY = 1; 242 MANY_TO_MANY = 2; 243} 244 245// Represent uwb_core::params::fira_app_config_params::UwbChannel. 246enum UwbChannel { 247 CHANNEL_5 = 0; 248 CHANNEL_6 = 1; 249 CHANNEL_8 = 2; 250 CHANNEL_9 = 3; 251 CHANNEL_10 = 4; 252 CHANNEL_12 = 5; 253 CHANNEL_13 = 6; 254 CHANNEL_14 = 7; 255} 256 257// Represent uwb_core::params::fira_app_config_params::MacFcsType. 258enum MacFcsType { 259 CRC_16 = 0; 260 CRC_32 = 1; 261} 262 263// Represent uwb_core::params::fira_app_config_params::AoaResultRequest. 264enum AoaResultRequest { 265 NO_AOA_REPORT = 0; 266 REQ_AOA_RESULTS = 1; 267 REQ_AOA_RESULTS_AZIMUTH_ONLY = 2; 268 REQ_AOA_RESULTS_ELEVATION_ONLY = 3; 269 REQ_AOA_RESULTS_INTERLEAVED = 4; 270} 271 272// Represent uwb_core::params::fira_app_config_params::RangeDataNtfConfig. 273enum RangeDataNtfConfig { 274 RANGE_DATA_NTF_CONFIG_DISABLE = 0; 275 RANGE_DATA_NTF_CONFIG_ENABLE = 1; 276 RANGE_DATA_NTF_CONFIG_ENABLE_PROXIMITY = 2; 277} 278 279// Represent uwb_core::params::fira_app_config_params::DeviceRole. 280enum DeviceRole { 281 RESPONDER = 0; 282 INITIATOR = 1; 283} 284 285// Represent uwb_core::params::fira_app_config_params::RframeConfig. 286enum RframeConfig { 287 SP0 = 0; 288 SP1 = 1; 289 SP3 = 3; 290} 291 292// Represent uwb_core::params::fira_app_config_params::PsduDataRate. 293enum PsduDataRate { 294 RATE_6M_81 = 0; 295 RATE_7M_80 = 1; 296 RATE_27M_2 = 2; 297 RATE_31M_2 = 3; 298 RATE_850K = 4; 299} 300 301// Represent uwb_core::params::fira_app_config_params::PreambleDuration. 302enum PreambleDuration { 303 T32_SYMBOLS = 0; 304 T64_SYMBOLS = 1; 305} 306 307// Represent uwb_core::params::fira_app_config_params::RangingTimeStruct. 308enum RangingTimeStruct { 309 INTERVAL_BASED_SCHEDULING = 0; 310 BLOCK_BASED_SCHEDULING = 1; 311} 312 313// Represent uwb_core::params::fira_app_config_params::TxAdaptivePayloadPower. 314enum TxAdaptivePayloadPower { 315 TX_ADAPTIVE_PAYLOAD_POWER_DISABLE = 0; 316 TX_ADAPTIVE_PAYLOAD_POWER_ENABLE = 1; 317} 318 319// Represent uwb_core::params::fira_app_config_params::PrfMode. 320enum PrfMode { 321 BPRF = 0; 322 HPRF_WITH_124_8_MHZ = 1; 323 HPRF_WITH_249_6_MHZ = 2; 324} 325 326// Represent uwb_core::params::fira_app_config_params::ScheduledMode. 327enum ScheduledMode { 328 TIME_SCHEDULED_RANGING = 0; 329} 330 331// Represent uwb_core::params::fira_app_config_params::KeyRotation. 332enum KeyRotation { 333 KEY_ROTATION_DISABLE = 0; 334 KEY_ROTATION_ENABLE = 1; 335} 336 337// Represent uwb_core::params::fira_app_config_params::MacAddressMode. 338enum MacAddressMode { 339 MAC_ADDRESS_2_BYTES = 0; 340 MAC_ADDRESS_8_BYTES_2_BYTES_HEADER = 1; 341 MAC_ADDRESS_8_BYTES = 2; 342} 343 344// Represent uwb_core::params::fira_app_config_params::HoppingMode. 345enum HoppingMode { 346 HOPPING_MODE_DISABLE = 0; 347 FIRA_HOPPING_ENABLE = 1; 348} 349 350// Represent uwb_core::params::fira_app_config_params::BprfPhrDataRate. 351enum BprfPhrDataRate { 352 BPRF_PHR_DATA_RATE_850K = 0; 353 BPRF_PHR_DATA_RATE_6M_81 = 1; 354} 355 356// Represent uwb_core::params::fira_app_config_params::StsLength. 357enum StsLength { 358 LENGTH_32 = 0; 359 LENGTH_64 = 1; 360 LENGTH_128 = 2; 361} 362 363// Represent uwb_core::uci::uci_logger::UciLoggerMode. 364enum UciLoggerMode { 365 UCI_LOGGER_MODE_DISABLED = 0; 366 UCI_LOGGER_MODE_UNFILTERED = 1; 367 UCI_LOGGER_MODE_FILTERED = 2; 368} 369 370// Represent uwb_core::params::fira_app_config_params::RangingRoundControl. 371message RangingRoundControl { 372 bool ranging_result_report_message = 1; 373 bool control_message = 2; 374 bool measurement_report_message = 3; 375} 376 377// Represent uwb_core::params::fira_app_config_params::ResultReportConfig. 378message ResultReportConfig { 379 bool tof = 1; 380 bool aoa_azimuth = 2; 381 bool aoa_elevation = 3; 382 bool aoa_fom = 4; 383} 384 385// Represent uwb_core::params::fira_app_config_params::FiraAppConfigParams. 386message FiraAppConfigParams { 387 DeviceType device_type = 1; 388 RangingRoundUsage ranging_round_usage = 2; 389 StsConfig sts_config = 3; 390 MultiNodeMode multi_node_mode = 4; 391 UwbChannel channel_number = 5; 392 bytes device_mac_address = 6; 393 repeated bytes dst_mac_address = 7; 394 uint32 slot_duration_rstu = 8; 395 uint32 ranging_duration_ms = 9; 396 MacFcsType mac_fcs_type = 10; 397 RangingRoundControl ranging_round_control = 11; 398 AoaResultRequest aoa_result_request = 12; 399 RangeDataNtfConfig range_data_ntf_config = 13; 400 uint32 range_data_ntf_proximity_near_cm = 14; 401 uint32 range_data_ntf_proximity_far_cm = 15; 402 DeviceRole device_role = 16; 403 RframeConfig rframe_config = 17; 404 uint32 preamble_code_index = 18; 405 uint32 sfd_id = 19; 406 PsduDataRate psdu_data_rate = 20; 407 PreambleDuration preamble_duration = 21; 408 RangingTimeStruct ranging_time_struct = 22; 409 uint32 slots_per_rr = 23; 410 TxAdaptivePayloadPower tx_adaptive_payload_power = 24; 411 uint32 responder_slot_index = 25; 412 PrfMode prf_mode = 26; 413 ScheduledMode scheduled_mode = 27; 414 KeyRotation key_rotation = 28; 415 uint32 key_rotation_rate = 29; 416 uint32 session_priority = 30; 417 MacAddressMode mac_address_mode = 31; 418 bytes vendor_id = 32; 419 bytes static_sts_iv = 33; 420 uint32 number_of_sts_segments = 34; 421 uint32 max_rr_retry = 35; 422 uint32 uwb_initiation_time_ms = 36; 423 HoppingMode hopping_mode = 37; 424 uint32 block_stride_length = 38; 425 ResultReportConfig result_report_config = 39; 426 uint32 in_band_termination_attempt_count = 40; 427 uint32 sub_session_id = 41; 428 BprfPhrDataRate bprf_phr_data_rate = 42; 429 uint32 max_number_of_measurements = 43; 430 StsLength sts_length = 44; 431 uint32 number_of_range_measurements = 45; 432 uint32 number_of_aoa_azimuth_measurements = 46; 433 uint32 number_of_aoa_elevation_measurements = 47; 434} 435 436// Represent uwb_uci_packets::Controlee. 437message Controlee { 438 uint32 short_address = 1; 439 uint32 subsession_id = 2; 440} 441 442// Represent uwb_uci_packets::ShortAddressTwoWayRangingMeasurement or 443// uwb_uci_packets::ExtendedAddressTwoWayRangingMeasurement. 444message TwoWayRangingMeasurement { 445 uint64 mac_address = 1; 446 StatusCode status = 2; 447 uint32 nlos = 3; 448 uint32 distance = 4; 449 uint32 aoa_azimuth = 5; 450 uint32 aoa_azimuth_fom = 6; 451 uint32 aoa_elevation = 7; 452 uint32 aoa_elevation_fom = 8; 453 uint32 aoa_destination_azimuth = 9; 454 uint32 aoa_destination_azimuth_fom = 10; 455 uint32 aoa_destination_elevation = 11; 456 uint32 aoa_destination_elevation_fom = 12; 457 uint32 slot_index = 13; 458 uint32 rssi = 14; 459} 460 461// Represent uwb_uci_packets::ShortAddressOwrAoaRangingMeasurement or 462// uwb_uci_packets::ExtendedAddressOwrAoaRangingMeasurement. 463message OwrAoaRangingMeasurement { 464 uint64 mac_address = 1; 465 StatusCode status = 2; 466 uint32 nlos = 3; 467 uint32 block_index = 4; 468 uint32 frame_sequence_number = 5; 469 uint32 aoa_azimuth = 6; 470 uint32 aoa_azimuth_fom = 7; 471 uint32 aoa_elevation = 8; 472 uint32 aoa_elevation_fom = 9; 473} 474 475// Represent uwb_uci_packets::ShortAddressDlTdoaRangingMeasurement or 476// uwb_uci_packets::ExtendedAddressDlTdoaRangingMeasurement. 477message DlTDoARangingMeasurement { 478 uint64 mac_address = 1; 479 StatusCode status = 2; 480 uint32 message_control = 3; 481 uint32 block_index = 4; 482 uint32 round_index = 5; 483 uint32 nlos = 6; 484 uint32 aoa_azimuth = 7; 485 uint32 aoa_azimuth_fom = 8; 486 uint32 aoa_elevation = 9; 487 uint32 aoa_elevation_fom = 10; 488 uint32 rssi = 11; 489 uint64 tx_timestamp = 12; 490 uint64 rx_timestamp = 13; 491 uint32 anchor_cfo = 14; 492 uint32 cfo = 15; 493 uint32 initiator_reply_time = 16; 494 uint32 responder_reply_time = 17; 495 uint32 initiator_responder_tof = 18; 496 repeated uint32 dt_anchor_location = 19; 497 repeated uint32 ranging_rounds = 20; 498} 499 500// Represent uwb_core::uci::notification::SessionRangeData; 501message SessionRangeData { 502 uint32 sequence_number = 1; 503 uint32 session_id = 2; 504 uint32 current_ranging_interval_ms = 3; 505 RangingMeasurementType ranging_measurement_type = 4; 506 repeated TwoWayRangingMeasurement twoway_ranging_measurements = 5; 507 repeated DlTDoARangingMeasurement dltdoa_ranging_measurements = 6; 508 OwrAoaRangingMeasurement owraoa_ranging_measurement = 7; 509} 510 511// Represent uwb_uci_packets::PowerStats; 512message PowerStats { 513 StatusCode status = 1; 514 uint32 idle_time_ms = 2; 515 uint32 tx_time_ms = 3; 516 uint32 rx_time_ms = 4; 517 uint32 total_wake_count = 5; 518} 519 520// Response of the UwbService::enable() method. 521message EnableResponse { 522 Status status = 1; 523} 524 525// Response of the UwbService::disable() method. 526message DisableResponse { 527 Status status = 1; 528} 529 530// Argument of the UwbService::SetLoggerMode() method. 531message SetLoggerModeRequest { 532 UciLoggerMode logger_mode = 1; 533} 534 535// Response of the UwbService::SetLoggerMode() method. 536message SetLoggerModeResponse { 537 Status status = 1; 538} 539 540// Argument of the UwbService::InitSession() method. 541message InitSessionRequest { 542 uint32 session_id = 1; 543 SessionType session_type = 2; 544 FiraAppConfigParams params = 3; 545} 546 547// Response of the UwbService::InitSession() method. 548message InitSessionResponse { 549 Status status = 1; 550} 551 552// Argument of the UwbService::DeinitSession() method. 553message DeinitSessionRequest { 554 uint32 session_id = 1; 555} 556 557// Response of the UwbService::DeinitSession() method. 558message DeinitSessionResponse { 559 Status status = 1; 560} 561 562// Argument of the UwbService::StartRanging() method. 563message StartRangingRequest { 564 uint32 session_id = 1; 565} 566 567// Response of the UwbService::StartRanging() method. 568message StartRangingResponse { 569 Status status = 1; 570} 571 572// Argument of the UwbService::StopRanging() method. 573message StopRangingRequest { 574 uint32 session_id = 1; 575} 576 577// Response of the UwbService::StopRanging() method. 578message StopRangingResponse { 579 Status status = 1; 580} 581 582// Argument of the UwbService::SessionParams() method. 583message SessionParamsRequest { 584 uint32 session_id = 1; 585} 586 587// Response of the UwbService::SessionParams() method. 588message SessionParamsResponse { 589 Status status = 1; 590 FiraAppConfigParams params = 2; 591} 592 593// Argument of the UwbService::Reconfigure() method. 594message ReconfigureRequest { 595 uint32 session_id = 1; 596 FiraAppConfigParams params = 2; 597} 598 599// Response of the UwbService::Reconfigure() method. 600message ReconfigureResponse { 601 Status status = 1; 602} 603 604// Argument of the UwbService::UpdateControllerMulticastList() method. 605message UpdateControllerMulticastListRequest { 606 uint32 session_id = 1; 607 UpdateMulticastListAction action = 2; 608 repeated Controlee controlees = 3; 609} 610 611// Response of the UwbService::UpdateControllerMulticastList() method. 612message UpdateControllerMulticastListResponse { 613 Status status = 1; 614} 615 616// Argument of the UwbService::AndroidSetCountryCode() method. 617message AndroidSetCountryCodeRequest { 618 string country_code = 1; 619} 620 621// Response of the UwbService::AndroidSetCountryCode() method. 622message AndroidSetCountryCodeResponse { 623 Status status = 1; 624} 625 626// Response of the UwbService::AndroidGetPowerStats() method. 627message AndroidGetPowerStatsResponse { 628 Status status = 1; 629 PowerStats power_stats = 2; 630} 631 632// Argument of the UwbService::SendVendorCmd() method. 633message SendVendorCmdRequest { 634 uint32 gid = 1; 635 uint32 oid = 2; 636 bytes payload = 3; 637 uint32 mt = 4; 638} 639 640// Response of the UwbService::SendVendorCmd() method. 641message SendVendorCmdResponse { 642 Status status = 1; 643 uint32 gid = 2; 644 uint32 oid = 3; 645 bytes payload = 4; 646} 647 648// Argument of the UwbServiceCallback::onServiceReset() method. 649message ServiceResetSignal { 650 bool success = 1; 651} 652 653// Argument of the UwbServiceCallback::onUciDeviceStatusChanged() method. 654message UciDeviceStatusChangedSignal { 655 DeviceState state = 1; 656} 657 658// Argument of the UwbServiceCallback::onSessionStateChanged() method. 659message SessionStateChangedSignal { 660 uint32 session_id = 1; 661 SessionState session_state = 2; 662 ReasonCode reason_code = 3; 663} 664 665// Argument of the UwbServiceCallback::onRangeDataReceived() method. 666message RangeDataReceivedSignal { 667 uint32 session_id = 1; 668 SessionRangeData range_data = 2; 669} 670 671// Argument of the UwbServiceCallback::onVendorNotificationReceived() method. 672message VendorNotificationReceivedSignal { 673 uint32 gid = 1; 674 uint32 oid = 2; 675 bytes payload = 3; 676} 677