src.bluetooth_sig.gatt.characteristics.cgm_feature¶
CGM Feature characteristic implementation.
Implements the CGM Feature characteristic (0x2AA8). Fixed-size structure of 6 bytes: 24-bit feature flags + packed nibble type/location + 16-bit E2E-CRC.
- Structure (from GSS YAML):
CGM Feature (3 bytes, boolean[24]) CGM Type-Sample Location (1 byte, two 4-bit nibbles packed) E2E-CRC (2 bytes, uint16) – always present per spec
References
Bluetooth SIG Continuous Glucose Monitoring Service org.bluetooth.characteristic.cgm_feature (GSS YAML)
Classes¶
Name | Description |
|---|---|
CGM Feature characteristic (0x2AA8). |
|
Parsed data from CGM Feature characteristic. |
|
CGM Feature flags (24-bit). |
|
CGM sample location (upper nibble). |
|
CGM sample type (lower nibble). |
Module Contents¶
- class src.bluetooth_sig.gatt.characteristics.cgm_feature.CGMFeatureCharacteristic¶
Bases:
src.bluetooth_sig.gatt.characteristics.base.BaseCharacteristic[CGMFeatureData]CGM Feature characteristic (0x2AA8).
Reports the supported features, sample type, sample location, and E2E-CRC for a CGM sensor. Fixed 6-byte structure.
- expected_type¶
- class src.bluetooth_sig.gatt.characteristics.cgm_feature.CGMFeatureData¶
Bases:
msgspec.StructParsed data from CGM Feature characteristic.
- features¶
24-bit CGM feature flags.
- cgm_type¶
CGM sample type.
- sample_location¶
CGM sample location.
- e2e_crc¶
E2E-CRC value.
- features: CGMFeatureFlags¶
- sample_location: CGMSampleLocation¶
- class src.bluetooth_sig.gatt.characteristics.cgm_feature.CGMFeatureFlags¶
Bases:
enum.IntFlagCGM Feature flags (24-bit).
- CALIBRATION_SUPPORTED = 1¶
- CGM_QUALITY_SUPPORTED = 65536¶
- CGM_TREND_INFORMATION_SUPPORTED = 32768¶
- DEVICE_SPECIFIC_ALERT = 32¶
- E2E_CRC_SUPPORTED = 4096¶
- GENERAL_DEVICE_FAULT = 2048¶
- HYPER_ALERTS = 8¶
- HYPO_ALERTS = 4¶
- LOW_BATTERY_DETECTION = 512¶
- MULTIPLE_BOND_SUPPORTED = 8192¶
- MULTIPLE_SESSIONS_SUPPORTED = 16384¶
- PATIENT_HIGH_LOW_ALERTS = 2¶
- RATE_ALERTS = 16¶
- SENSOR_MALFUNCTION_DETECTION = 64¶
- SENSOR_RESULT_HIGH_LOW_DETECTION = 256¶
- SENSOR_TEMP_HIGH_LOW_DETECTION = 128¶
- SENSOR_TYPE_ERROR_DETECTION = 1024¶
- class src.bluetooth_sig.gatt.characteristics.cgm_feature.CGMSampleLocation¶
Bases:
enum.IntEnumCGM sample location (upper nibble).
- ALTERNATE_SITE_TEST = 2¶
- CONTROL_SOLUTION = 4¶
- EARLOBE = 3¶
- FINGER = 1¶
- NOT_AVAILABLE = 15¶
- SUBCUTANEOUS_TISSUE = 5¶
- class src.bluetooth_sig.gatt.characteristics.cgm_feature.CGMType¶
Bases:
enum.IntEnumCGM sample type (lower nibble).
- ARTERIAL_PLASMA = 6¶
- ARTERIAL_WHOLE_BLOOD = 5¶
- CAPILLARY_PLASMA = 2¶
- CAPILLARY_WHOLE_BLOOD = 1¶
- CONTROL_SOLUTION = 10¶
- INTERSTITIAL_FLUID = 9¶
- UNDETERMINED_PLASMA = 8¶
- UNDETERMINED_WHOLE_BLOOD = 7¶
- VENOUS_PLASMA = 4¶
- VENOUS_WHOLE_BLOOD = 3¶