src.bluetooth_sig.gatt.characteristics.enhanced_intermediate_cuff_pressure

Enhanced Intermediate Cuff Pressure characteristic implementation.

Implements the Enhanced Intermediate Cuff Pressure characteristic (0x2B35). Reports a single intermediate cuff pressure reading (medfloat16) during an ongoing measurement, with enhanced optional fields matching the Enhanced Blood Pressure Measurement pattern.

Flag-bit assignments (from GSS YAML):

Bit 0: Units (0=mmHg, 1=kPa) Bit 1: Time Stamp present (uint32 seconds since epoch) Bit 2: Pulse Rate present (medfloat16) Bit 3: User ID present (uint8) Bit 4: Measurement Status present (boolean[16]) Bit 5: User Facing Time present (uint32 seconds since epoch) Bit 6: Epoch Start 2000 (0=1900, 1=2000) Bit 7: Reserved

References

Bluetooth SIG Blood Pressure Service 1.1 org.bluetooth.characteristic.enhanced_intermediate_cuff_pressure (GSS YAML)

Classes

Name

Description

EnhancedIntermediateCuffPressureCharacteristic

Enhanced Intermediate Cuff Pressure characteristic (0x2B35).

EnhancedIntermediateCuffPressureData

Parsed data from Enhanced Intermediate Cuff Pressure characteristic.

Module Contents

class src.bluetooth_sig.gatt.characteristics.enhanced_intermediate_cuff_pressure.EnhancedIntermediateCuffPressureCharacteristic(info: src.bluetooth_sig.types.CharacteristicInfo | None = None, validation: src.bluetooth_sig.gatt.characteristics.characteristic_meta.ValidationConfig | None = None)

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

Enhanced Intermediate Cuff Pressure characteristic (0x2B35).

Reports a single intermediate cuff pressure reading during an ongoing blood pressure measurement, with enhanced timestamps and epoch flag.

allow_variable_length: bool = True
expected_type
min_length: int = 3
class src.bluetooth_sig.gatt.characteristics.enhanced_intermediate_cuff_pressure.EnhancedIntermediateCuffPressureData

Bases: msgspec.Struct

Parsed data from Enhanced Intermediate Cuff Pressure characteristic.

flags

Raw 8-bit flags field.

cuff_pressure

Current intermediate cuff pressure value.

unit

Pressure unit (mmHg or kPa).

timestamp

Seconds since epoch start. None if absent.

pulse_rate

Pulse rate in BPM. None if absent.

user_id

User ID (0-255). None if absent.

measurement_status

16-bit measurement status flags. None if absent.

user_facing_time

User-facing time in seconds since epoch. None if absent.

epoch_year

Epoch start year (1900 or 2000).

cuff_pressure: float
epoch_year: src.bluetooth_sig.gatt.characteristics.enhanced_blood_pressure_measurement.EpochYear
flags: src.bluetooth_sig.gatt.characteristics.enhanced_blood_pressure_measurement.EnhancedBloodPressureFlags
measurement_status: src.bluetooth_sig.gatt.characteristics.blood_pressure_measurement.BloodPressureMeasurementStatus | None = None
pulse_rate: float | None = None
timestamp: int | None = None
unit: bluetooth_sig.types.units.PressureUnit
user_facing_time: int | None = None
user_id: int | None = None