src.bluetooth_sig.gatt.characteristics.body_composition_feature

Body Composition Feature characteristic implementation.

Classes

Name

Description

BodyCompositionFeatureBits

Body Composition Feature bit field constants.

BodyCompositionFeatureCharacteristic

Body Composition Feature characteristic (0x2A9B).

BodyCompositionFeatureData

Parsed data from Body Composition Feature characteristic.

BodyCompositionFeatures

Body Composition Feature flags as per Bluetooth SIG specification.

HeightMeasurementResolution

Height measurement resolution enumeration.

MassMeasurementResolution

Mass measurement resolution enumeration.

Module Contents

class src.bluetooth_sig.gatt.characteristics.body_composition_feature.BodyCompositionFeatureBits

Body Composition Feature bit field constants.

HEIGHT_RESOLUTION_BIT_WIDTH = 3
HEIGHT_RESOLUTION_START_BIT = 15
MASS_RESOLUTION_BIT_WIDTH = 4
MASS_RESOLUTION_START_BIT = 11
class src.bluetooth_sig.gatt.characteristics.body_composition_feature.BodyCompositionFeatureCharacteristic

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

Body Composition Feature characteristic (0x2A9B).

Used to indicate which optional features and measurements are supported by the body composition device. This is a read-only characteristic that describes device capabilities.

allow_variable_length: bool = False
expected_length: int = 4
max_length: int = 4
min_length: int = 4
class src.bluetooth_sig.gatt.characteristics.body_composition_feature.BodyCompositionFeatureData

Bases: msgspec.Struct

Parsed data from Body Composition Feature characteristic.

basal_metabolism_supported: bool
body_water_mass_supported: bool
fat_free_mass_supported: bool
features: BodyCompositionFeatures
height_measurement_resolution: HeightMeasurementResolution
height_supported: bool
impedance_supported: bool
mass_measurement_resolution: MassMeasurementResolution
multiple_users_supported: bool
muscle_mass_supported: bool
muscle_percentage_supported: bool
soft_lean_mass_supported: bool
timestamp_supported: bool
weight_supported: bool
class src.bluetooth_sig.gatt.characteristics.body_composition_feature.BodyCompositionFeatures

Bases: enum.IntFlag

Body Composition Feature flags as per Bluetooth SIG specification.

BASAL_METABOLISM_SUPPORTED = 4
BODY_WATER_MASS_SUPPORTED = 128
FAT_FREE_MASS_SUPPORTED = 32
HEIGHT_SUPPORTED = 1024
IMPEDANCE_SUPPORTED = 256
MULTIPLE_USERS_SUPPORTED = 2
MUSCLE_MASS_SUPPORTED = 8
MUSCLE_PERCENTAGE_SUPPORTED = 16
SOFT_LEAN_MASS_SUPPORTED = 64
TIMESTAMP_SUPPORTED = 1
WEIGHT_SUPPORTED = 512
class src.bluetooth_sig.gatt.characteristics.body_composition_feature.HeightMeasurementResolution

Bases: enum.IntEnum

Height measurement resolution enumeration.

M_0_001_OR_INCH_0_1 = 3
M_0_005_OR_INCH_0_5 = 2
M_0_01_OR_INCH_1 = 1
NOT_SPECIFIED = 0
class src.bluetooth_sig.gatt.characteristics.body_composition_feature.MassMeasurementResolution

Bases: enum.IntEnum

Mass measurement resolution enumeration.

KG_0_005_OR_LB_0_01 = 7
KG_0_01_OR_LB_0_02 = 6
KG_0_02_OR_LB_0_05 = 5
KG_0_05_OR_LB_0_1 = 4
KG_0_1_OR_LB_0_2 = 3
KG_0_2_OR_LB_0_5 = 2
KG_0_5_OR_LB_1 = 1
NOT_SPECIFIED = 0