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