• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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