Bluetooth GATT Characteristic Reference
PLX Spot-Check Measurement (0x2A5E)
The PLX Spot-check Measurement characteristic, if supported, is used to send Spot-check measurements of SpO2 (Percent oxygen saturation of hemoglobin) and PR (pulse rate). This characteristic is a variable length structure containing the Flags field, the SpO2PR-Spot-Check field, and depending on the contents of the Flags field, the Timestamp field, the Measurement Status field, the Device and Sensor Status field, and/or the Pulse Amplitude Index field.
Quick Summary
Payload length is profile-defined or variable based on field formats. This page is generated from official GATT XML and presented as implementation-ready guidance.
At a Glance
Key reference details for BLE implementation, interoperability testing, and AI-assisted troubleshooting.
| Property | Value |
|---|---|
| Name | PLX Spot-Check Measurement |
| UUID | 0x2A5E |
| Type | org.bluetooth.characteristic.plx_spot_check_measurement |
| XML Root | Characteristic |
| Source File | org.bluetooth.characteristic.plx_spot_check_measurement.xml |
| Field Count | 7 |
Field Specification
Parsed field definitions from the source XML value structure.
| Field | Requirement | Format | Unit | Exponent | Notes |
|---|---|---|---|---|---|
| Flags | Mandatory | 8bit | - | - | These flags define which data fields are present in the Characteristic value |
| SpO2PR-Spot-Check - SpO2 | Mandatory | SFLOAT | org.bluetooth.unit.percentage | 0 | Unit is percentage with a resolution of 1 |
| SpO2PR-Spot-Check - PR | Mandatory | SFLOAT | org.bluetooth.unit.period.beats_per_minute | 0 | Unit is beats per minute with a resolution of 1 |
| Timestamp | C1 | N/A | - | - | Unit is smallest unit in seconds with a resolution of 1 |
| Measurement Status | C2 | 16bit | - | - | - |
| Device and Sensor Status | C3 | 24bit | - | - | - |
| Pulse Amplitude Index | C4 | SFLOAT | org.bluetooth.unit.percentage | 0 | Unit is percentage with a resolution of 1 |
Bit Map
Bit-level enumerations extracted from the XML BitField definition.
| Field | Bit | Size | Name | 0 Means | 1 Means |
|---|---|---|---|---|---|
| Flags | 0 | 1 | Timestamp field is present | False | True |
| Flags | 1 | 1 | Measurement Status Field Present | False | True |
| Flags | 2 | 1 | Device and Sensor Status Field Present | False | True |
| Flags | 3 | 1 | Pulse Amplitude Index field is present | False | True |
| Flags | 4 | 1 | Device Clock is Not Set | False | True |
| Measurement Status | 5 | 1 | Measurement Ongoing | False | True |
| Measurement Status | 6 | 1 | Early Estimated Data | False | True |
| Measurement Status | 7 | 1 | Validated Data | False | True |
| Measurement Status | 8 | 1 | Fully Qualified Data | False | True |
| Measurement Status | 9 | 1 | Data from Measurement Storage | False | True |
| Measurement Status | 10 | 1 | Data for Demonstration | False | True |
| Measurement Status | 11 | 1 | Data for Testing | False | True |
| Measurement Status | 12 | 1 | Calibration Ongoing | False | True |
| Measurement Status | 13 | 1 | Measurement Unavailable | False | True |
| Measurement Status | 14 | 1 | Questionable Measurement Detected | False | True |
| Measurement Status | 15 | 1 | Invalid Measurement Detected | False | True |
| Device and Sensor Status | 0 | 1 | Extended Display Update Ongoing | False | True |
| Device and Sensor Status | 1 | 1 | Equipment Malfunction Detected | False | True |
| Device and Sensor Status | 2 | 1 | Signal Processing Irregularity Detected | False | True |
| Device and Sensor Status | 3 | 1 | Inadequite Signal Detected | False | True |
| Device and Sensor Status | 4 | 1 | Poor Signal Detected | False | True |
| Device and Sensor Status | 5 | 1 | Low Perfusion Detected | False | True |
| Device and Sensor Status | 6 | 1 | Erratic Signal Detected | False | True |
| Device and Sensor Status | 7 | 1 | Nonpulsatile Signal Detected | False | True |
| Device and Sensor Status | 8 | 1 | Questionable Pulse Detected | False | True |
| Device and Sensor Status | 9 | 1 | Signal Analysis Ongoing | False | True |
| Device and Sensor Status | 10 | 1 | Sensor Interface Detected | False | True |
| Device and Sensor Status | 11 | 1 | Sensor Unconnected to User | False | True |
| Device and Sensor Status | 12 | 1 | Unknown Sensor Connected | False | True |
| Device and Sensor Status | 13 | 1 | Sensor Displaced | False | True |
| Device and Sensor Status | 14 | 1 | Sensor Malfunctioning | False | True |
| Device and Sensor Status | 15 | 1 | Sensor Disconnected | False | True |
Byte Layout and Decode
Payload length is profile-defined or variable based on field formats.
function decodePayload(dataView, offset = 0) {
// Parse flags (8bit) according to Bluetooth format rules.
// Parse spo2pr_spot_check_spo2 (SFLOAT) according to Bluetooth format rules.
// Parse spo2pr_spot_check_pr (SFLOAT) according to Bluetooth format rules.
// Parse timestamp (N/A) according to Bluetooth format rules.
// Parse measurement_status (16bit) according to Bluetooth format rules.
// Parse device_and_sensor_status (24bit) according to Bluetooth format rules.
// Parse pulse_amplitude_index (SFLOAT) according to Bluetooth format rules.
return { flags, spo2pr_spot_check_spo2, spo2pr_spot_check_pr, timestamp, measurement_status, device_and_sensor_status };
}
Use Cases and Integration Notes
BLE Telemetry
Map characteristic values into dashboards and alerts for device observability.
Firmware Regression
Compare decoded fields across builds to detect protocol or scaling changes.
App Integration
Build stable parsing paths that convert raw payloads into typed app models.
Implementation Checklist
- Validate payload length and mandatory fields before decode.
- Decode with Bluetooth-specified signedness, unit, and exponent handling.
- Convert units at presentation boundaries to avoid drift in business logic.
- Persist raw packets and decoded values for reproducible troubleshooting.
FAQ
What is PLX Spot-Check Measurement in Bluetooth GATT?
PLX Spot-Check Measurement is defined as a Bluetooth GATT characteristic entry with type org.bluetooth.characteristic.plx_spot_check_measurement and UUID 0x2A5E.
What UUID identifies PLX Spot-Check Measurement?
The UUID for PLX Spot-Check Measurement is 0x2A5E.
How should I parse PLX Spot-Check Measurement?
Payload length is profile-defined or variable based on field formats.
Where does this definition come from?
This page is generated from the Bluetooth SIG mirror XML in the oesmith/gatt-xml repository.
How does this page support BLE implementation?
The page combines structured tables, practical Q&A, and JSON-LD metadata to help teams validate integrations and troubleshoot consistently.