import { type DataViewReader } from "./data-view-reader.js"; import { type DateTime } from "./date-time.js"; /**
The Navigation characteristic is a variable length structure containing a Flags field, a Bearing field, a Heading field and, based on the contents of the Flags field, may contain a combination of data fields listed below.
*/ export interface Navigation { /** *Format: `uint16`
*Unit: `org.bluetooth.unit.plane_angle.degree`
*Unit is in degrees with a resolution of 1/100
*/ bearing: number; /** * | value | description | * | ----- | ----------- | * | 0 | False | * | 1 | True | */ destinationReached: number; /**Smallest units in seconds
*/ estimatedTimeOfArrival?: DateTime | undefined; /** * | value | description | * | ----- | ----------- | * | 0 | False | * | 1 | True | */ estimatedTimeOfArrivalPresent: number; /** *Format: `16bit`
* * Bit field: * * | index | size | name | * | ----- | ---- | ----------------------------------- | * | 0 | 1 | Remaining Distance Present | * | 1 | 1 | Remaining Vertical Distance Present | * | 2 | 1 | Estimated Time of Arrival Present | * | 3 | 2 | Position Status | * | 5 | 1 | Heading Source | * | 6 | 1 | Navigation Indicator Type | * | 7 | 1 | Waypoint Reached | * | 8 | 1 | Destination Reached | * | 9 | 7 | Reserved for future use | * */ flags: number; /** *Format: `uint16`
*Unit: `org.bluetooth.unit.plane_angle.degree`
*Unit is in degrees with a resolution of 1/100
*/ heading: number; /** * | value | description | * | ----- | --------------------------------- | * | 0 | Heading based on movement | * | 1 | Heading based on magnetic compass | */ headingSource: number; /** * | value | description | * | ----- | -------------- | * | 0 | To Waypoint | * | 1 | To Destination | */ navigationIndicatorType: number; /** * | value | description | * | ----- | ------------------- | * | 0 | No Position | * | 1 | Position Ok | * | 2 | Estimated Position | * | 3 | Last Known Position | */ positionStatus: number; /** *Format: `uint24`
*Unit: `org.bluetooth.unit.length.meter`
*Unit is in meters with a resolution of 1/10
*/ remainingDistance?: number | undefined; /** * | value | description | * | ----- | ----------- | * | 0 | False | * | 1 | True | */ remainingDistancePresent: number; /** *Format: `sint24`
*Unit: `org.bluetooth.unit.length.meter`
*Unit is in meters with a resolution of 1/100
*/ remainingVerticalDistance?: number | undefined; /** * | value | description | * | ----- | ----------- | * | 0 | False | * | 1 | True | */ remainingVerticalDistancePresent: number; /** * | value | description | * | ----- | ----------- | * | 0 | False | * | 1 | True | */ waypointReached: number; } /** @see {@link https://raw.githubusercontent.com/oesmith/gatt-xml/refs/heads/master/org.bluetooth.characteristic.navigation.xml | Navigation} */ export declare class NavigationImpl implements Navigation { static readonly UUID_PREFIX = 10856; static readonly TYPE_NAME = "org.bluetooth.characteristic.navigation"; static readonly NAME = "Navigation"; /** Parse from a DataView into {@link Navigation}. */ static fromDataView(dataView: DataView | DataViewReader, indexStart?: number | undefined): NavigationImpl; readonly bearing: number; readonly destinationReached: number; readonly estimatedTimeOfArrival?: DateTime | undefined; readonly estimatedTimeOfArrivalPresent: number; readonly flags: number; readonly heading: number; readonly headingSource: number; readonly navigationIndicatorType: number; readonly positionStatus: number; readonly remainingDistance?: number | undefined; readonly remainingDistancePresent: number; readonly remainingVerticalDistance?: number | undefined; readonly remainingVerticalDistancePresent: number; readonly waypointReached: number; constructor(navigation: Navigation); } /** Parse from a DataView into {@link Navigation}. */ export declare function navigationFromDataView(dataView: DataView | DataViewReader, indexStart?: number): Navigation; //# sourceMappingURL=navigation.d.ts.map