src.bluetooth_sig.gatt.characteristics.plx_continuous_measurement

PLX Continuous Measurement characteristic implementation.

Attributes

Name

Description

logger

Classes

Name

Description

PLXContinuousData

Parsed PLX continuous measurement data (Table 3.6 PLXS v1.0.1).

PLXContinuousFlags

PLX Continuous measurement flags (Table 3.7 PLXS v1.0.1).

PLXContinuousMeasurementCharacteristic

PLX Continuous Measurement characteristic (0x2A5F).

PLXDeviceAndSensorStatus

PLX Device and Sensor Status flags (24-bit, Table 3.5 PLXS v1.0.1).

PLXMeasurementStatus

PLX Measurement Status flags (16-bit, Table 3.4 PLXS v1.0.1).

Module Contents

class src.bluetooth_sig.gatt.characteristics.plx_continuous_measurement.PLXContinuousData

Bases: msgspec.Struct

Parsed PLX continuous measurement data (Table 3.6 PLXS v1.0.1).

continuous_flags: PLXContinuousFlags
device_and_sensor_status: PLXDeviceAndSensorStatus | None = None
measurement_status: PLXMeasurementStatus | None = None
pulse_amplitude_index: float | None = None
pulse_rate: float
pulse_rate_fast: float | None = None
pulse_rate_slow: float | None = None
spo2: float
spo2_fast: float | None = None
spo2_slow: float | None = None
supported_features: src.bluetooth_sig.gatt.characteristics.plx_features.PLXFeatureFlags | None = None
class src.bluetooth_sig.gatt.characteristics.plx_continuous_measurement.PLXContinuousFlags

Bases: enum.IntFlag

PLX Continuous measurement flags (Table 3.7 PLXS v1.0.1).

DEVICE_AND_SENSOR_STATUS_PRESENT = 8
MEASUREMENT_STATUS_PRESENT = 4
PULSE_AMPLITUDE_INDEX_PRESENT = 16
SPO2PR_FAST_PRESENT = 1
SPO2PR_SLOW_PRESENT = 2
class src.bluetooth_sig.gatt.characteristics.plx_continuous_measurement.PLXContinuousMeasurementCharacteristic

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

PLX Continuous Measurement characteristic (0x2A5F).

Used to transmit continuous SpO2 (blood oxygen saturation) and pulse rate measurements from pulse oximetry devices.

Format (Table 3.6): Flags(1) + SpO2PR-Normal(4) + [SpO2PR-Fast(4)] + [SpO2PR-Slow(4)] + [Measurement Status(2)] + [Device and Sensor Status(3)] + [Pulse Amplitude Index(2)]

allow_variable_length: bool = True
max_length: int | None = 20
min_length: int | None = 5
class src.bluetooth_sig.gatt.characteristics.plx_continuous_measurement.PLXDeviceAndSensorStatus

Bases: enum.IntFlag

PLX Device and Sensor Status flags (24-bit, Table 3.5 PLXS v1.0.1).

EQUIPMENT_MALFUNCTION_DETECTED = 2
ERRATIC_SIGNAL_DETECTED = 64
EXTENDED_DISPLAY_UPDATE_ONGOING = 1
INADEQUATE_SIGNAL_DETECTED = 8
LOW_PERFUSION_DETECTED = 32
NON_PULSATILE_SIGNAL_DETECTED = 128
POOR_SIGNAL_DETECTED = 16
QUESTIONABLE_PULSE_DETECTED = 256
SENSOR_DISCONNECTED = 32768
SENSOR_DISPLACED = 8192
SENSOR_INTERFERENCE_DETECTED = 1024
SENSOR_MALFUNCTIONING = 16384
SENSOR_UNCONNECTED_TO_USER = 2048
SIGNAL_ANALYSIS_ONGOING = 512
SIGNAL_PROCESSING_IRREGULARITY = 4
UNKNOWN_SENSOR_CONNECTED = 4096
class src.bluetooth_sig.gatt.characteristics.plx_continuous_measurement.PLXMeasurementStatus

Bases: enum.IntFlag

PLX Measurement Status flags (16-bit, Table 3.4 PLXS v1.0.1).

Bits 0-4 are RFU. Status bits start at bit 5.

CALIBRATION_ONGOING = 4096
DATA_FOR_DEMONSTRATION = 1024
DATA_FOR_TESTING = 2048
DATA_FROM_MEASUREMENT_STORAGE = 512
EARLY_ESTIMATED_DATA = 64
FULLY_QUALIFIED_DATA = 256
INVALID_MEASUREMENT_DETECTED = 32768
MEASUREMENT_ONGOING = 32
MEASUREMENT_UNAVAILABLE = 8192
QUESTIONABLE_MEASUREMENT_DETECTED = 16384
VALIDATED_DATA = 128
src.bluetooth_sig.gatt.characteristics.plx_continuous_measurement.logger