import { type DataViewReader } from "./data-view-reader.js"; /**
The PLX Continuous Measurement characteristic, if supported, is used to send periodic pulse oximetry measurements. This characteristic is a variable length structure containing the Flags field (to indicate presence of optional fields), the SpO2PR-Normal field, and depending on the contents of the Flags field, the SpO2PR-Fast field, the SpO2PR-Slow field, the Measurement Status field, the Device and Sensor Status field, and/or the Pulse Amplitude Index field.
*/ export interface PlxContinuousMeasurement { /** * | value | description | * | ----- | ----------- | * | 0 | False | * | 1 | True | */ calibrationOngoing: number; /** * | value | description | * | ----- | ----------- | * | 0 | False | * | 1 | True | */ dataForDemonstration: number; /** * | value | description | * | ----- | ----------- | * | 0 | False | * | 1 | True | */ dataForTesting: number; /** * | value | description | * | ----- | ----------- | * | 0 | False | * | 1 | True | */ dataFromMeasurementStorage: number; /** *Format: `24bit`
* * Bit field: * * | index | size | name | * | ----- | ---- | ----------------------------------------------------- | * | 0 | 1 | Extended Display Update Ongoing bit supported | * | 1 | 1 | Equipment Malfunction Detected bit supported | * | 2 | 1 | Signal Processing Irregularity Detected bit supported | * | 3 | 1 | Inadequite Signal Detected bit supported | * | 4 | 1 | Poor Signal Detected bit supported | * | 5 | 1 | Low Perfusion Detected bit supported | * | 6 | 1 | Erratic Signal Detected bit supported | * | 7 | 1 | Nonpulsatile Signal Detected bit supported | * | 8 | 1 | Questionable Pulse Detected bit supported | * | 9 | 1 | Signal Analysis Ongoing bit supported | * | 10 | 1 | Sensor Interference Detected bit supported | * | 11 | 1 | Sensor Unconnected to User bit supported | * | 12 | 1 | Unknown Sensor Connected bit supported | * | 13 | 1 | Sensor Displaced bit supported | * | 14 | 1 | Sensor Malfunctioning bit supported | * | 15 | 1 | Sensor Disconnected bit supported | * | 16 | 8 | Reserved for future use | * */ deviceAndSensorStatus: number; /** * | value | description | * | ----- | ----------- | * | 0 | False | * | 1 | True | */ earlyEstimatedData: number; /** * | value | description | * | ----- | ----------- | * | 0 | False | * | 1 | True | */ equipmentMalfunctionDetectedBitSupported: number; /** * | value | description | * | ----- | ----------- | * | 0 | False | * | 1 | True | */ erraticSignalDetectedBitSupported: number; /** * | value | description | * | ----- | ----------- | * | 0 | False | * | 1 | True | */ extendedDisplayUpdateOngoingBitSupported: number; /** *Format: `8bit`
* * Bit field: * * | index | size | req | name | * | ----- | ---- | --- | ----------------------------------------- | * | 0 | 1 | C1 | SpO2PR?Fast field is present | * | 1 | 1 | C2 | SpO2PR-Slow field is present | * | 2 | 1 | C3 | Measurement Status field is present | * | 3 | 1 | C4 | Device and Sensor Status field is present | * | 4 | 1 | C5 | Pulse Amplitude Index field is present | * | 5 | 3 | | Reserved for future use | * */ flags: number; /** * | value | description | * | ----- | ----------- | * | 0 | False | * | 1 | True | */ fullyQualifiedData: number; /** * | value | description | * | ----- | ----------- | * | 0 | False | * | 1 | True | */ inadequiteSignalDetectedBitSupported: number; /** * | value | description | * | ----- | ----------- | * | 0 | False | * | 1 | True | */ invalidMeasurementDetected: number; /** * | value | description | * | ----- | ----------- | * | 0 | False | * | 1 | True | */ lowPerfusionDetectedBitSupported: number; /** * | value | description | * | ----- | ----------- | * | 0 | False | * | 1 | True | */ measurementOngoing: number; /** *Format: `16bit`
* * Bit field: * * | index | size | name | * | ----- | ---- | --------------------------------- | * | 5 | 1 | Measurement Ongoing | * | 6 | 1 | Early Estimated Data | * | 7 | 1 | Validated Data | * | 8 | 1 | Fully Qualified Data | * | 9 | 1 | Data from Measurement Storage | * | 10 | 1 | Data for Demonstration | * | 11 | 1 | Data for Testing | * | 12 | 1 | Calibration Ongoing | * | 13 | 1 | Measurement Unavailable | * | 14 | 1 | Questionable Measurement Detected | * | 15 | 1 | Invalid Measurement Detected | * | 0 | 5 | Reserved for future use | * */ measurementStatus: number; /** * | value | description | * | ----- | ----------- | * | 0 | False | * | 1 | True | */ measurementUnavailable: number; /** * | value | description | * | ----- | ----------- | * | 0 | False | * | 1 | True | */ nonpulsatileSignalDetectedBitSupported: number; /** * | value | description | * | ----- | ----------- | * | 0 | False | * | 1 | True | */ poorSignalDetectedBitSupported: number; /** *Format: `SFLOAT`
*Unit: `org.bluetooth.unit.percentage`
*Unit is percentage with a resolution of 1
*/ pulseAmplitudeIndex?: number | undefined; /** * | value | description | * | ----- | ----------- | * | 0 | False | * | 1 | True | */ questionableMeasurementDetected: number; /** * | value | description | * | ----- | ----------- | * | 0 | False | * | 1 | True | */ questionablePulseDetectedBitSupported: number; /** * | value | description | * | ----- | ----------- | * | 0 | False | * | 1 | True | */ sensorDisconnectedBitSupported: number; /** * | value | description | * | ----- | ----------- | * | 0 | False | * | 1 | True | */ sensorDisplacedBitSupported: number; /** * | value | description | * | ----- | ----------- | * | 0 | False | * | 1 | True | */ sensorInterferenceDetectedBitSupported: number; /** * | value | description | * | ----- | ----------- | * | 0 | False | * | 1 | True | */ sensorMalfunctioningBitSupported: number; /** * | value | description | * | ----- | ----------- | * | 0 | False | * | 1 | True | */ sensorUnconnectedToUserBitSupported: number; /** * | value | description | * | ----- | ----------- | * | 0 | False | * | 1 | True | */ signalAnalysisOngoingBitSupported: number; /** * | value | description | * | ----- | ----------- | * | 0 | False | * | 1 | True | */ signalProcessingIrregularityDetectedBitSupported: number; /** *Format: `SFLOAT`
*Unit: `org.bluetooth.unit.period.beats_per_minute`
*Unit is beats per minute with a resolution of 1
*/ spo2prFastPR?: number | undefined; /** *Format: `SFLOAT`
*Unit: `org.bluetooth.unit.percentage`
*Unit is percentage with a resolution of 1
*/ spo2prFastSpO2?: number | undefined; /** *Format: `SFLOAT`
*Unit: `org.bluetooth.unit.period.beats_per_minute`
*Unit is beats per minute with a resolution of 1
*/ spo2prNormalPR: number; /** *Format: `SFLOAT`
*Unit: `org.bluetooth.unit.percentage`
*Unit is percentage with a resolution of 1
*/ spo2prNormalSpO2: number; /** *Format: `SFLOAT`
*Unit: `org.bluetooth.unit.period.beats_per_minute`
*Unit is beats per minute with a resolution of 1
*/ spo2prSlowPR?: number | undefined; /** *Format: `SFLOAT`
*Unit: `org.bluetooth.unit.percentage`
*Unit is percentage with a resolution of 1
*/ spo2prSlowSpO2?: number | undefined; /** * | value | description | * | ----- | ----------- | * | 0 | False | * | 1 | True | */ unknownSensorConnectedBitSupported: number; /** * | value | description | * | ----- | ----------- | * | 0 | False | * | 1 | True | */ validatedData: number; } /** * The fields in the above table, reading from top to bottom, are shown in the order of LSO to MSO, where LSO = Least Significant Octet and MSO = Most Significant Octet. * @see {@link https://raw.githubusercontent.com/oesmith/gatt-xml/refs/heads/master/org.bluetooth.characteristic.plx_continuous_measurement.xml | Plx Continuous Measurement} */ export declare class PlxContinuousMeasurementImpl implements PlxContinuousMeasurement { static readonly UUID_PREFIX = 10847; static readonly TYPE_NAME = "org.bluetooth.characteristic.plx_continuous_measurement"; static readonly NAME = "PLX Continuous Measurement Characteristic"; /** Parse from a DataView into {@link PlxContinuousMeasurement}. */ static fromDataView(dataView: DataView | DataViewReader, indexStart?: number | undefined): PlxContinuousMeasurementImpl; readonly calibrationOngoing: number; readonly dataForDemonstration: number; readonly dataForTesting: number; readonly dataFromMeasurementStorage: number; readonly deviceAndSensorStatus: number; readonly earlyEstimatedData: number; readonly equipmentMalfunctionDetectedBitSupported: number; readonly erraticSignalDetectedBitSupported: number; readonly extendedDisplayUpdateOngoingBitSupported: number; readonly flags: number; readonly fullyQualifiedData: number; readonly inadequiteSignalDetectedBitSupported: number; readonly invalidMeasurementDetected: number; readonly lowPerfusionDetectedBitSupported: number; readonly measurementOngoing: number; readonly measurementStatus: number; readonly measurementUnavailable: number; readonly nonpulsatileSignalDetectedBitSupported: number; readonly poorSignalDetectedBitSupported: number; readonly pulseAmplitudeIndex?: number | undefined; readonly questionableMeasurementDetected: number; readonly questionablePulseDetectedBitSupported: number; readonly sensorDisconnectedBitSupported: number; readonly sensorDisplacedBitSupported: number; readonly sensorInterferenceDetectedBitSupported: number; readonly sensorMalfunctioningBitSupported: number; readonly sensorUnconnectedToUserBitSupported: number; readonly signalAnalysisOngoingBitSupported: number; readonly signalProcessingIrregularityDetectedBitSupported: number; readonly spo2prFastPR?: number | undefined; readonly spo2prFastSpO2?: number | undefined; readonly spo2prNormalPR: number; readonly spo2prNormalSpO2: number; readonly spo2prSlowPR?: number | undefined; readonly spo2prSlowSpO2?: number | undefined; readonly unknownSensorConnectedBitSupported: number; readonly validatedData: number; constructor(plxContinuousMeasurement: PlxContinuousMeasurement); } /** Parse from a DataView into {@link PlxContinuousMeasurement}. */ export declare function plxContinuousMeasurementFromDataView(dataView: DataView | DataViewReader, indexStart?: number): PlxContinuousMeasurement; //# sourceMappingURL=plx-continuous-measurement.d.ts.map