import { type DataViewReader } from "./data-view-reader.js"; /**

The Cross Trainer Data characteristic is used to send training-related data to the Client from a cross trainer (Server).

*/ export interface CrossTrainerData { /** *

Format: `sint16`

*

Unit: `org.bluetooth.unit.power.watt`

*

Watts with a resolution of 1

*/ averagePower?: number | undefined; /** *

Format: `uint16`

*

Unit: `org.bluetooth.unit.velocity.kilometre_per_hour`

*

Kilometer per hour with a resolution of 0.01

*/ averageSpeed?: number | undefined; /** *

Format: `uint16`

*

Unit: `org.bluetooth.unit.step_per_minute`

*

Step/minute with a resolution of 1

*/ averageStepRate?: number | undefined; /** *

Format: `uint16`

*

Unit: `org.bluetooth.unit.time.second`

*

Second with a resolution of 1

*/ elapsedTime?: number | undefined; /** *

Format: `uint16`

*

Unit: `org.bluetooth.unit.energy.kilogram_calorie`

*

Kilo Calorie with a resolution of 1

*/ energyPerHour?: number | undefined; /** *

Format: `uint8`

*

Unit: `org.bluetooth.unit.energy.kilogram_calorie`

*

Kilo Calorie with a resolution of 1

*/ energyPerMinute?: number | undefined; /** *

Format: `24bit`

* * Bit field: * * | index | size | req | name | * | ----- | ---- | --- | ------------------------------------------ | * | 0 | 1 | C1 | More Data | * | 1 | 1 | C2 | Average Speed present | * | 2 | 1 | C3 | Total Distance Present | * | 3 | 1 | C4 | Step Count present | * | 4 | 1 | C5 | Stride Count present | * | 5 | 1 | C6 | Elevation Gain present | * | 6 | 1 | C7 | Inclination and Ramp Angle Setting present | * | 7 | 1 | C8 | Resistance Level Present | * | 8 | 1 | C9 | Instantaneous Power present | * | 9 | 1 | C10 | Average Power present | * | 10 | 1 | C11 | Expended Energy present | * | 11 | 1 | C12 | Heart Rate present | * | 12 | 1 | C13 | Metabolic Equivalent present | * | 13 | 1 | C14 | Elapsed Time present | * | 14 | 1 | C15 | Remaining Time present | * | 15 | 1 | | Movement Direction | * | 16 | 8 | | Reserved for future use | * */ flags: number; /** *

Format: `uint8`

*

Unit: `org.bluetooth.unit.period.beats_per_minute`

*

Beats per minute with a resolution of 1

*/ heartRate?: number | undefined; /** *

Format: `sint16`

*

Unit: `org.bluetooth.unit.percentage`

*

Percent with a resolution of 0.1

*/ inclination?: number | undefined; /** *

Format: `sint16`

*

Unit: `org.bluetooth.unit.power.watt`

*

Watts with a resolution of 1

*/ instantaneousPower?: number | undefined; /** *

Format: `uint16`

*

Unit: `org.bluetooth.unit.velocity.kilometre_per_hour`

*

Kilometer per hour with a resolution of 0.01

*/ instantaneousSpeed?: number | undefined; /** *

Format: `uint8`

*

Unit: `org.bluetooth.unit.metabolic_equivalent`

*

Metabolic Equivalent with a resolution of 0.1

*/ metabolicEquivalent?: number | undefined; /** * | value | description | * | ----- | ----------- | * | 0 | Forward | * | 1 | Backward | */ movementDirection: number; /** *

Format: `uint16`

*

Unit: `org.bluetooth.unit.length.metre`

*

Meters with a resolution of 1

*/ negativeElevationGain?: number | undefined; /** *

Format: `uint16`

*

Unit: `org.bluetooth.unit.length.metre`

*

Meters with a resolution of 1

*/ positiveElevationGain?: number | undefined; /** *

Format: `sint16`

*

Unit: `org.bluetooth.unit.plane_angle.degree`

*

Degree with a resolution of 0.1

*/ rampAngleSetting?: number | undefined; /** *

Format: `uint16`

*

Unit: `org.bluetooth.unit.time.second`

*

Second with a resolution of 1

*/ remainingTime?: number | undefined; /** *

Format: `sint16`

*

Unit: `org.bluetooth.unit.unitless`

*

Unitless with a resolution of 0.1

*/ resistanceLevel?: number | undefined; /** *

Format: `uint16`

*

Unit: `org.bluetooth.unit.step_per_minute`

*

Step/minute with a resolution of 1

*/ stepPerMinute?: number | undefined; /** *

Format: `uint16`

*

Unit: `org.bluetooth.unit.unitless`

*

Unitless with a resolution of 0.1

*/ strideCount?: number | undefined; /** *

Format: `uint24`

*

Unit: `org.bluetooth.unit.length.metre`

*

Meters with a resolution of 1

*/ totalDistance?: number | undefined; /** *

Format: `uint16`

*

Unit: `org.bluetooth.unit.energy.kilogram_calorie`

*

Kilo Calorie with a resolution of 1

*/ totalEnergy?: number | undefined; } /** @see {@link https://raw.githubusercontent.com/oesmith/gatt-xml/refs/heads/master/org.bluetooth.characteristic.cross_trainer_data.xml | Cross Trainer Data} */ export declare class CrossTrainerDataImpl implements CrossTrainerData { static readonly UUID_PREFIX = 10958; static readonly TYPE_NAME = "org.bluetooth.characteristic.cross_trainer_data"; static readonly NAME = "Cross Trainer Data"; /** Parse from a DataView into {@link CrossTrainerData}. */ static fromDataView(dataView: DataView | DataViewReader, indexStart?: number | undefined): CrossTrainerDataImpl; readonly averagePower?: number | undefined; readonly averageSpeed?: number | undefined; readonly averageStepRate?: number | undefined; readonly elapsedTime?: number | undefined; readonly energyPerHour?: number | undefined; readonly energyPerMinute?: number | undefined; readonly flags: number; readonly heartRate?: number | undefined; readonly inclination?: number | undefined; readonly instantaneousPower?: number | undefined; readonly instantaneousSpeed?: number | undefined; readonly metabolicEquivalent?: number | undefined; readonly movementDirection: number; readonly negativeElevationGain?: number | undefined; readonly positiveElevationGain?: number | undefined; readonly rampAngleSetting?: number | undefined; readonly remainingTime?: number | undefined; readonly resistanceLevel?: number | undefined; readonly stepPerMinute?: number | undefined; readonly strideCount?: number | undefined; readonly totalDistance?: number | undefined; readonly totalEnergy?: number | undefined; constructor(crossTrainerData: CrossTrainerData); } /** Parse from a DataView into {@link CrossTrainerData}. */ export declare function crossTrainerDataFromDataView(dataView: DataView | DataViewReader, indexStart?: number): CrossTrainerData; //# sourceMappingURL=cross-trainer-data.d.ts.map