Bluetooth GATT Characteristic Reference
CGM Feature (0x2AA8)
CGM Feature is defined in the Bluetooth GATT XML specification with type org.bluetooth.characteristic.cgm_feature and UUID 0x2AA8.
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 | CGM Feature |
| UUID | 0x2AA8 |
| Type | org.bluetooth.characteristic.cgm_feature |
| XML Root | Characteristic |
| Source File | org.bluetooth.characteristic.cgm_feature.xml |
| Field Count | 4 |
Field Specification
Parsed field definitions from the source XML value structure.
| Field | Requirement | Format | Unit | Exponent | Notes |
|---|---|---|---|---|---|
| CGM Feature | Mandatory | 24bit | - | 0 | Byte Order - LSO...MSO |
| CGM Type | Mandatory | 4bit | - | - | See Note number 2 below. |
| CGM Sample Location | Mandatory | 4bit | - | - | See Note number 2 below. |
| E2E-CRC | Mandatory | uint16 | - | 0 | If the device supports E2E-safety (E2E-CRC Supported bit is set in CGM Feature), the feature are secured by a CRC calculated over all data. This field is mandatory in this characteristic. If the device doesn?t support E2E-safety the value of the field shall be set to 0xFFFF. |
Bit Map
Bit-level enumerations extracted from the XML BitField definition.
| Field | Bit | Size | Name | 0 Means | 1 Means |
|---|---|---|---|---|---|
| CGM Feature | 0 | 1 | Calibration Supported | False | True |
| CGM Feature | 1 | 1 | Patient High/Low Alerts supported | False | True |
| CGM Feature | 2 | 1 | Hypo Alerts supported | False | True |
| CGM Feature | 3 | 1 | Hyper Alerts supported | False | True |
| CGM Feature | 4 | 1 | Rate of Increase/Decrease Alerts supported | False | True |
| CGM Feature | 5 | 1 | Device Specific Alert supported | False | True |
| CGM Feature | 6 | 1 | Sensor Malfunction Detection supported | False | True |
| CGM Feature | 7 | 1 | Sensor Temperature High-Low Detection supported | False | True |
| CGM Feature | 8 | 1 | Sensor Result High-Low Detection supported | False | True |
| CGM Feature | 9 | 1 | Low Battery Detection supported | False | True |
| CGM Feature | 10 | 1 | Sensor Type Error Detection supported | False | True |
| CGM Feature | 11 | 1 | General Device Fault supported | False | True |
| CGM Feature | 12 | 1 | E2E-CRC supported | False | True |
| CGM Feature | 13 | 1 | Multiple Bond supported | False | True |
| CGM Feature | 14 | 1 | Multiple Sessions supported | False | True |
| CGM Feature | 15 | 1 | CGM Trend Information supported | False | True |
| CGM Feature | 16 | 1 | CGM Quality supported | False | True |
Byte Layout and Decode
Payload length is profile-defined or variable based on field formats.
function decodePayload(dataView, offset = 0) {
// Parse cgm_feature (24bit) according to Bluetooth format rules.
// Parse cgm_type (4bit) according to Bluetooth format rules.
// Parse cgm_sample_location (4bit) according to Bluetooth format rules.
const e2e_crc = dataView.getUint16(offset + 0, true);
return { cgm_feature, cgm_type, cgm_sample_location, e2e_crc };
}
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 CGM Feature in Bluetooth GATT?
CGM Feature is defined as a Bluetooth GATT characteristic entry with type org.bluetooth.characteristic.cgm_feature and UUID 0x2AA8.
What UUID identifies CGM Feature?
The UUID for CGM Feature is 0x2AA8.
How should I parse CGM Feature?
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.