• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (C) 2021 The Android Open Source Project
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 package com.android.server.uwb.data;
17 
18 import java.util.Arrays;
19 
20 public class UwbRangingData {
21     public long mSeqCounter;
22     public long mSessionId;
23     public int mRcrIndication;
24     public long mCurrRangingInterval;
25     public int mRangingMeasuresType;
26     public long mHusPrimarySessionId;
27     public int mMacAddressMode;
28     public int mNoOfRangingMeasures;
29     public UwbTwoWayMeasurement[] mRangingTwoWayMeasures;
30     public byte[] mRawNtfData;
31     public UwbOwrAoaMeasurement mRangingOwrAoaMeasure;
32     public UwbDlTDoAMeasurement[] mUwbDlTDoAMeasurements;
33 
UwbRangingData(long seqCounter, long sessionId, int rcrIndication, long currRangingInterval, int rangingMeasuresType, long husPrimarySessionId, int macAddressMode, int noOfRangingMeasures, UwbTwoWayMeasurement[] rangingTwoWayMeasures, byte[] rawNtfData)34     public UwbRangingData(long seqCounter, long sessionId, int rcrIndication,
35             long currRangingInterval, int rangingMeasuresType, long husPrimarySessionId,
36             int macAddressMode, int noOfRangingMeasures,
37             UwbTwoWayMeasurement[] rangingTwoWayMeasures, byte[] rawNtfData) {
38         this.mSeqCounter = seqCounter;
39         this.mSessionId = sessionId;
40         this.mRcrIndication = rcrIndication;
41         this.mCurrRangingInterval = currRangingInterval;
42         this.mRangingMeasuresType = rangingMeasuresType;
43         this.mHusPrimarySessionId = husPrimarySessionId;
44         this.mMacAddressMode = macAddressMode;
45         this.mNoOfRangingMeasures = noOfRangingMeasures;
46         this.mRangingTwoWayMeasures = rangingTwoWayMeasures;
47         this.mRawNtfData = rawNtfData;
48     }
49 
UwbRangingData(long seqCounter, long sessionId, int rcrIndication, long currRangingInterval, int rangingMeasuresType, long husPrimarySessionId, int macAddressMode, int noOfRangingMeasures, UwbOwrAoaMeasurement rangingOwrAoaMeasure, byte[] rawNtfData)50     public UwbRangingData(long seqCounter, long sessionId, int rcrIndication,
51             long currRangingInterval, int rangingMeasuresType, long husPrimarySessionId,
52             int macAddressMode, int noOfRangingMeasures, UwbOwrAoaMeasurement rangingOwrAoaMeasure,
53             byte[] rawNtfData) {
54         this.mSeqCounter = seqCounter;
55         this.mSessionId = sessionId;
56         this.mRcrIndication = rcrIndication;
57         this.mCurrRangingInterval = currRangingInterval;
58         this.mRangingMeasuresType = rangingMeasuresType;
59         this.mHusPrimarySessionId = husPrimarySessionId;
60         this.mMacAddressMode = macAddressMode;
61         this.mNoOfRangingMeasures = noOfRangingMeasures;
62         this.mRangingOwrAoaMeasure = rangingOwrAoaMeasure;
63         this.mRawNtfData = rawNtfData;
64     }
65 
UwbRangingData(long seqCounter, long sessionId, int rcrIndication, long currRangingInterval, int rangingMeasuresType, long husPrimarySessionId, int macAddressMode, int noOfRangingMeasures, UwbDlTDoAMeasurement[] uwbDlTDoAMeasurements, byte[] rawNtfData)66     public UwbRangingData(long seqCounter, long sessionId, int rcrIndication,
67             long currRangingInterval, int rangingMeasuresType, long husPrimarySessionId,
68             int macAddressMode, int noOfRangingMeasures,
69             UwbDlTDoAMeasurement[] uwbDlTDoAMeasurements, byte[] rawNtfData) {
70         this.mSeqCounter = seqCounter;
71         this.mSessionId = sessionId;
72         this.mRcrIndication = rcrIndication;
73         this.mCurrRangingInterval = currRangingInterval;
74         this.mRangingMeasuresType = rangingMeasuresType;
75         this.mHusPrimarySessionId = husPrimarySessionId;
76         this.mMacAddressMode = macAddressMode;
77         this.mNoOfRangingMeasures = noOfRangingMeasures;
78         this.mUwbDlTDoAMeasurements = uwbDlTDoAMeasurements;
79         this.mRawNtfData = rawNtfData;
80     }
81 
getSequenceCounter()82     public long getSequenceCounter() {
83         return mSeqCounter;
84     }
85 
getSessionId()86     public long getSessionId() {
87         return mSessionId;
88     }
89 
getRcrIndication()90     public int getRcrIndication() {
91         return mRcrIndication;
92     }
93 
getCurrRangingInterval()94     public long getCurrRangingInterval() {
95         return mCurrRangingInterval;
96     }
97 
getRangingMeasuresType()98     public int getRangingMeasuresType() {
99         return mRangingMeasuresType;
100     }
101 
getHusPrimarySessionId()102     public long getHusPrimarySessionId() {
103         return mHusPrimarySessionId;
104     }
105 
getMacAddressMode()106     public int getMacAddressMode() {
107         return mMacAddressMode;
108     }
109 
getNoOfRangingMeasures()110     public int getNoOfRangingMeasures() {
111         return mNoOfRangingMeasures;
112     }
113 
getRangingTwoWayMeasures()114     public UwbTwoWayMeasurement[] getRangingTwoWayMeasures() {
115         return mRangingTwoWayMeasures;
116     }
117 
getRawNtfData()118     public byte[] getRawNtfData() {
119         return mRawNtfData;
120     }
121 
getRangingOwrAoaMeasure()122     public UwbOwrAoaMeasurement getRangingOwrAoaMeasure() {
123         return mRangingOwrAoaMeasure;
124     }
125 
getUwbDlTDoAMeasurements()126     public UwbDlTDoAMeasurement[] getUwbDlTDoAMeasurements() {
127         return mUwbDlTDoAMeasurements;
128     }
129 
toString()130     public String toString() {
131         if (mRangingMeasuresType == UwbUciConstants.RANGING_MEASUREMENT_TYPE_TWO_WAY) {
132             return "UwbRangingData { "
133                     + " SeqCounter = " + mSeqCounter
134                     + ", SessionId = " + mSessionId
135                     + ", RcrIndication = " + mRcrIndication
136                     + ", CurrRangingInterval = " + mCurrRangingInterval
137                     + ", RangingMeasuresType = " + mRangingMeasuresType
138                     + ", HusPrimarySessionId = " + mHusPrimarySessionId
139                     + ", MacAddressMode = " + mMacAddressMode
140                     + ", NoOfRangingMeasures = " + mNoOfRangingMeasures
141                     + ", RangingTwoWayMeasures = " + Arrays.toString(mRangingTwoWayMeasures)
142                     + ", RawNotificationData = " + Arrays.toString(mRawNtfData)
143                     + '}';
144         } else if (mRangingMeasuresType == UwbUciConstants.RANGING_MEASUREMENT_TYPE_OWR_AOA) {
145             return "UwbRangingData { "
146                     + " SeqCounter = " + mSeqCounter
147                     + ", SessionId = " + mSessionId
148                     + ", RcrIndication = " + mRcrIndication
149                     + ", CurrRangingInterval = " + mCurrRangingInterval
150                     + ", RangingMeasuresType = " + mRangingMeasuresType
151                     + ", HusPrimarySessionId = " + mHusPrimarySessionId
152                     + ", MacAddressMode = " + mMacAddressMode
153                     + ", NoOfRangingMeasures = " + mNoOfRangingMeasures
154                     + ", RangingOwrAoaMeasure = " + mRangingOwrAoaMeasure.toString()
155                     + ", RawNotificationData = " + Arrays.toString(mRawNtfData)
156                     + '}';
157         } else if (mRangingMeasuresType == UwbUciConstants.RANGING_MEASUREMENT_TYPE_DL_TDOA) {
158             return "UwbRangingData { "
159                     + " SeqCounter = " + mSeqCounter
160                     + ", SessionId = " + mSessionId
161                     + ", RcrIndication = " + mRcrIndication
162                     + ", CurrRangingInterval = " + mCurrRangingInterval
163                     + ", RangingMeasuresType = " + mRangingMeasuresType
164                     + ", HusPrimarySessionId = " + mHusPrimarySessionId
165                     + ", MacAddressMode = " + mMacAddressMode
166                     + ", NoOfRangingMeasures = " + mNoOfRangingMeasures
167                     + ", RangingDlTDoAMeasure = " + Arrays.toString(mUwbDlTDoAMeasurements)
168                     + ", RawNotificationData = " + Arrays.toString(mRawNtfData)
169                     + '}';
170         } else {
171             // TODO(jh0.jang) : ONE WAY RANGING(TDOA)?
172             return null;
173         }
174     }
175 }
176