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