src.bluetooth_sig.gatt.characteristics.cycling_power_vector

Cycling Power Vector characteristic implementation.

Classes

Name

Description

CrankRevolutionData

Crank revolution data from cycling power vector.

CyclingPowerVectorCharacteristic

Cycling Power Vector characteristic (0x2A64).

CyclingPowerVectorData

Parsed data from Cycling Power Vector characteristic.

CyclingPowerVectorFlags

Cycling Power Vector flags as per Bluetooth SIG specification.

Module Contents

class src.bluetooth_sig.gatt.characteristics.cycling_power_vector.CrankRevolutionData

Bases: msgspec.Struct

Crank revolution data from cycling power vector.

crank_revolutions: int
last_crank_event_time: float
class src.bluetooth_sig.gatt.characteristics.cycling_power_vector.CyclingPowerVectorCharacteristic

Bases: src.bluetooth_sig.gatt.characteristics.base.BaseCharacteristic[CyclingPowerVectorData]

Cycling Power Vector characteristic (0x2A64).

Used to transmit detailed cycling power vector data including force and torque measurements at different crank angles.

allow_variable_length = True
min_length = 7
class src.bluetooth_sig.gatt.characteristics.cycling_power_vector.CyclingPowerVectorData

Bases: msgspec.Struct

Parsed data from Cycling Power Vector characteristic.

Used for both parsing and encoding - all fields are properly typed.

crank_revolution_data: CrankRevolutionData
first_crank_measurement_angle: float
flags: CyclingPowerVectorFlags
instantaneous_force_magnitude_array: tuple[float, Ellipsis] | None = None
instantaneous_torque_magnitude_array: tuple[float, Ellipsis] | None = None
class src.bluetooth_sig.gatt.characteristics.cycling_power_vector.CyclingPowerVectorFlags

Bases: enum.IntFlag

Cycling Power Vector flags as per Bluetooth SIG specification.

INSTANTANEOUS_FORCE_MAGNITUDE_ARRAY_PRESENT = 1
INSTANTANEOUS_TORQUE_MAGNITUDE_ARRAY_PRESENT = 2