• 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_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