src.bluetooth_sig.gatt.characteristics.enhanced_blood_pressure_measurement¶
Enhanced Blood Pressure Measurement characteristic implementation.
Implements the Enhanced Blood Pressure Measurement characteristic (0x2B34). Extends the regular Blood Pressure Measurement with uint32 timestamps (seconds since epoch), a User Facing Time field, and an Epoch Start flag.
- 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_blood_pressure_measurement (GSS YAML)
Classes¶
Name | Description |
|---|---|
Parsed data from Enhanced Blood Pressure Measurement characteristic. |
|
Enhanced Blood Pressure Measurement flags. |
|
Enhanced Blood Pressure Measurement characteristic (0x2B34). |
|
Epoch start year for Enhanced Blood Pressure timestamps. |
Module Contents¶
- class src.bluetooth_sig.gatt.characteristics.enhanced_blood_pressure_measurement.EnhancedBloodPressureData¶
Bases:
msgspec.StructParsed data from Enhanced Blood Pressure Measurement characteristic.
- flags¶
Raw 8-bit flags field.
- systolic¶
Systolic pressure value.
- diastolic¶
Diastolic pressure value.
- mean_arterial_pressure¶
Mean arterial 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).
- flags: EnhancedBloodPressureFlags¶
- measurement_status: src.bluetooth_sig.gatt.characteristics.blood_pressure_measurement.BloodPressureMeasurementStatus | None = None¶
- class src.bluetooth_sig.gatt.characteristics.enhanced_blood_pressure_measurement.EnhancedBloodPressureFlags¶
Bases:
enum.IntFlagEnhanced Blood Pressure Measurement flags.
- EPOCH_START_2000 = 64¶
- MEASUREMENT_STATUS_PRESENT = 16¶
- PULSE_RATE_PRESENT = 4¶
- TIMESTAMP_PRESENT = 2¶
- UNITS_KPA = 1¶
- USER_FACING_TIME_PRESENT = 32¶
- USER_ID_PRESENT = 8¶
- class src.bluetooth_sig.gatt.characteristics.enhanced_blood_pressure_measurement.EnhancedBloodPressureMeasurementCharacteristic(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[EnhancedBloodPressureData]Enhanced Blood Pressure Measurement characteristic (0x2B34).
Enhanced variant of Blood Pressure Measurement with uint32 timestamps (seconds since epoch) instead of 7-byte DateTime, plus a new User Facing Time field and Epoch Start 2000 flag.
- expected_type¶
- class src.bluetooth_sig.gatt.characteristics.enhanced_blood_pressure_measurement.EpochYear¶
Bases:
enum.IntEnumEpoch start year for Enhanced Blood Pressure timestamps.
- EPOCH_1900 = 1900¶
- EPOCH_2000 = 2000¶