DlTdoaMeasurement
class DlTdoaMeasurement : Parcelable
| kotlin.Any | |
| ↳ | android.ranging.DlTdoaMeasurement |
Represents a single measurement from a Downlink Time Difference of Arrival (DL-TDoA) ranging session.
For more details, refer to the FiRa 2.0 and FiRa 4.0 specification.
Summary
| Nested classes | |
|---|---|
|
Class to represent the anchor location. |
|
|
Represents a location in a relative coordinate system. |
|
|
Represents a location in the WGS-84 coordinate system. |
|
|
Represents a Z-element extension regarding the height of a anchor. |
|
| Constants | |
|---|---|
| static Int |
DL-TDoA Message Type: Final DTM |
| static Int |
DL-TDoA Message Type: Poll DTM |
| static Int |
DL-TDoA Message Type: Response DTM |
| Inherited constants | |
|---|---|
| Public methods | |
|---|---|
| Int | |
| Boolean | |
| MutableList<Int!> |
Returns a list of active ranging round indexes. |
| Float |
Returns the Clock Frequency Offset (CFO) of a Responder DT-Anchor. |
| DlTdoaMeasurement.AnchorLocation? |
Returns the anchor location, if available. |
| Float |
Returns the Angle of Arrival (AoA) azimuth in degrees. |
| Int |
Returns the Figure of Merit (FoM) of the AoA azimuth. |
| Float |
Returns the Angle of Arrival (AoA) elevation in degrees. |
| Int |
Returns the Figure of Merit (FoM) of the AoA elevation. |
| Int |
Returns the block index of the current ranging block. |
| Float |
getCfo()Returns the locally measured Clock Frequency Offset (CFO) by the DT-Tag. |
| Long |
Returns the time difference measured by the Initiator DT-Anchor. |
| Int |
Returns the Time of Flight (ToF) between the Responder and Initiator DT-Anchors. |
| Int |
Returns the measurement version. |
| Int |
Returns the raw MessageControl field. |
| Int |
Returns the message type of the received DL-TDoA Message (DTM). |
| Int |
getNlos()Returns an indicator of the Line of Sight (LoS) status. |
| Long |
Returns the time difference measured at the Responder DT-Anchor. |
| Int |
Returns the round index of the current ranging round within the current ranging block. |
| Int |
getRssi()Returns the Received Signal Strength Indicator (RSSI) in dBm. |
| ByteArray |
Returns the local reception timestamp of the message by the DT-Tag (Android device). |
| Int |
Returns the Supercluster ID, if available. |
| ByteArray |
Returns the transmission timestamp of the message reported by the DT-Anchor. |
| Boolean |
Returns true if Supercluster ID is present. |
| Int |
hashCode() |
| Boolean |
Returns true if TX timestamp is based on a common time base. |
| String |
toString() |
| Unit |
writeToParcel(dest: Parcel, flags: Int)Flatten this object in to a Parcel. |
| Properties | |
|---|---|
| static Parcelable.Creator<DlTdoaMeasurement!> | |
Constants
MESSAGE_TYPE_FINAL_DTM
static val MESSAGE_TYPE_FINAL_DTM: Int
DL-TDoA Message Type: Final DTM
Value: 2MESSAGE_TYPE_RESPONSE_DTM
static val MESSAGE_TYPE_RESPONSE_DTM: Int
DL-TDoA Message Type: Response DTM
Value: 1Public methods
describeContents
fun describeContents(): Int
getActiveRangingRoundIndexes
fun getActiveRangingRoundIndexes(): MutableList<Int!>
Returns a list of active ranging round indexes.
These are the rounds in which the DT-Anchor associated with this measurement result is present.
| Return | |
|---|---|
MutableList<Int!> |
The list of active ranging round indexes. An empty list is returned if active ranging round indexes are not present. This value cannot be null. |
getAnchorCfo
fun getAnchorCfo(): Float
Returns the Clock Frequency Offset (CFO) of a Responder DT-Anchor.
This offset is relative to the Initiator DT-Anchor of the ranging round, in ppm units.
| Return | |
|---|---|
Float |
The Anchor CFO as a float, or Float.NaN if not available. Value is between -32.0f and 32.0f inclusive |
getAnchorLocation
fun getAnchorLocation(): DlTdoaMeasurement.AnchorLocation?
Returns the anchor location, if available.
| Return | |
|---|---|
DlTdoaMeasurement.AnchorLocation? |
The anchor location, or null if not available. |
getAoaAzimuth
fun getAoaAzimuth(): Float
Returns the Angle of Arrival (AoA) azimuth in degrees.
This value ranges from -180 to 180 degrees. If the value is not available, it returns Float.NaN.
| Return | |
|---|---|
Float |
The AoA azimuth value in degrees, or Float.NaN if not available. Value is between -180.0f and 180.0f inclusive |
getAoaAzimuthFom
fun getAoaAzimuthFom(): Int
Returns the Figure of Merit (FoM) of the AoA azimuth.
This value ranges from 0 to 100. If the value is not available, it returns 0.
| Return | |
|---|---|
Int |
The AoA azimuth FoM value in percentage, or 0 if not available. Value is between 0 and 100 inclusive |
getAoaElevation
fun getAoaElevation(): Float
Returns the Angle of Arrival (AoA) elevation in degrees.
This value ranges from -90 to 90 degrees. If the value is not available, it returns Float.NaN.
| Return | |
|---|---|
Float |
The AoA elevation value in degrees, or Float.NaN if not available. Value is between -90.0f and 90.0f inclusive |
getAoaElevationFom
fun getAoaElevationFom(): Int
Returns the Figure of Merit (FoM) of the AoA elevation.
This value ranges from 0 to 100. If the value is not available, it returns 0.
| Return | |
|---|---|
Int |
The AoA elevation FoM value in percentage, or 0 if not available. Value is between 0 and 100 inclusive |
getBlockIndex
fun getBlockIndex(): Int
Returns the block index of the current ranging block.
This identifies the specific ranging block during which the measurement occurred.
| Return | |
|---|---|
Int |
The block index as an integer. Value is between 0 and 65535 inclusive |
getCfo
fun getCfo(): Float
Returns the locally measured Clock Frequency Offset (CFO) by the DT-Tag.
This offset is relative to the DT-Anchor that sent the message, in ppm units.
| Return | |
|---|---|
Float |
The CFO as a float, or Float.NaN if not supported. Value is between -32.0f and 32.0f inclusive |
getInitiatorReplyTime
fun getInitiatorReplyTime(): Long
Returns the time difference measured by the Initiator DT-Anchor.
It's between the RX timestamp of a Responder's DTM and the TX timestamp of the Final DTM, in Ranging Ticks (~15.65 ps). If the ranging method SS-TWR is used between DT-Anchors, then there is no Final DTM at all and this value is 0.
| Return | |
|---|---|
Long |
The Initiator Reply Time as a long. Value is between 0 and 4294967295L inclusive |
getInitiatorResponderTof
fun getInitiatorResponderTof(): Int
Returns the Time of Flight (ToF) between the Responder and Initiator DT-Anchors.
This is measured by the Responder DT-Anchor, in Ranging Ticks (~15.65 ps). This field is only valid for the Response DTM. For Poll DTM and Final DTM, this value is 0.
| Return | |
|---|---|
Int |
The Initiator-Responder ToF as an integer. Value is between 0 and 65535 inclusive |
getMeasurementVersion
fun getMeasurementVersion(): Int
Returns the measurement version.
| Return | |
|---|---|
Int |
The measurement version,e.g., DlTdoaRangingParams.MEASUREMENT_VERSION_1. Value is one of the following: |
getMessageControl
fun getMessageControl(): Int
Returns the raw MessageControl field.
Note: This is an advanced-use field. The value is a bitmask constructed according to the layout described in the FiRa 4.0 UCI specification mentioned in the DlTdoaMeasurement class documentation. The representation is version-specific and depends on the measurement version (see Table 31 for v1, and Table 32 for v2).
| Return | |
|---|---|
Int |
The integer bitmask representing message control flags. Value is between 0 and 2047 inclusive |
getMessageType
fun getMessageType(): Int
Returns the message type of the received DL-TDoA Message (DTM).
| Return | |
|---|---|
Int |
The message type, e.g., MESSAGE_TYPE_POLL_DTM. Value is one of the following: |
getNlos
fun getNlos(): Int
Returns an indicator of the Line of Sight (LoS) status.
| Return | |
|---|---|
Int |
The NLoS status as android.ranging.uwb.UwbSpecificData#LineOfSight. Value is one of the following: |
getResponderReplyTime
fun getResponderReplyTime(): Long
Returns the time difference measured at the Responder DT-Anchor.
It's between the RX timestamp of the Poll DTM and the TX timestamp of its Response DTM, in Ranging Ticks (~15.65 ps). For Poll DTM and Final DTM, this value is 0.
| Return | |
|---|---|
Long |
The Responder Reply Time as a long. Value is between 0 and 4294967295L inclusive |
getRoundIndex
fun getRoundIndex(): Int
Returns the round index of the current ranging round within the current ranging block.
This specifies the active ranging round.
| Return | |
|---|---|
Int |
The round index as an integer. Value is between 0 and 255 inclusive |
getRssi
fun getRssi(): Int
Returns the Received Signal Strength Indicator (RSSI) in dBm.
This value ranges from -127dBm to -1dBm. If the value is not available, it returns 0.
| Return | |
|---|---|
Int |
The RSSI value in negative dBm, or 0 if not available. Value is between -127 and 0 inclusive |
getRxTimestamp
fun getRxTimestamp(): ByteArray
Returns the local reception timestamp of the message by the DT-Tag (Android device).
This timestamp is measured locally in Ranging Ticks (~15.65 ps).
| Return | |
|---|---|
ByteArray |
The RX timestamp integer value as a byte array in little endian byte order. This value cannot be null. |
getSuperclusterId
fun getSuperclusterId(): Int
Returns the Supercluster ID, if available.
If this value is available, Supercluster common timebase is valid for Initiator DT-Anchors using the same Supercluster ID.
| Return | |
|---|---|
Int |
The Supercluster ID, or indeterminate value if not available. Check hasSuperclusterId() before using the return value of this method. Value is between #SUPERCLUSTER_ID_MIN_VALUE and #SUPERCLUSTER_ID_MAX_VALUE inclusive |
getTxTimestamp
fun getTxTimestamp(): ByteArray
Returns the transmission timestamp of the message reported by the DT-Anchor.
This timestamp is in Ranging Ticks (~15.65 ps).
| Return | |
|---|---|
ByteArray |
The TX timestamp integer value as a byte array in little endian byte order. This value cannot be null. |
hasSuperclusterId
fun hasSuperclusterId(): Boolean
Returns true if Supercluster ID is present.
If this value is available, Supercluster common timebase is valid for Initiator DT-Anchors using the same Supercluster ID.
| Return | |
|---|---|
Boolean |
true if Supercluster ID is present, false otherwise. |
hashCode
fun hashCode(): Int
isTxTimestampInCommonTimeBase
fun isTxTimestampInCommonTimeBase(): Boolean
Returns true if TX timestamp is based on a common time base.
This value is derived from bit 0 of the MessageControl field. If TX timestamp is not based on a common time base, it is based on the local time base and cannot be used for localization.
| Return | |
|---|---|
Boolean |
true if the TX timestamp is in the common time base, false otherwise. |
toString
fun toString(): String
writeToParcel
fun writeToParcel(
dest: Parcel,
flags: Int
): Unit
Flatten this object in to a Parcel.
| Parameters | |
|---|---|
dest |
Parcel: This value cannot be null. |
flags |
Int: Additional flags about how the object should be written. May be 0 or PARCELABLE_WRITE_RETURN_VALUE. Value is either 0 or a combination of the following:
|
Properties
CREATOR
static val CREATOR: Parcelable.Creator<DlTdoaMeasurement!>