src.bluetooth_sig.gatt.descriptor_utils¶
Descriptor context utility functions.
Provides helper functions for extracting and working with descriptor information from CharacteristicContext. These functions serve as both standalone utilities and are mirrored as methods in BaseCharacteristic for convenience.
Functions¶
Name | Description |
|---|---|
Enhance error message with descriptor information for better debugging. |
|
Get a specific descriptor from context. |
|
|
Extract descriptor data from the parsing context. |
Get presentation format from descriptor context if available. |
|
|
Get user description from descriptor context if available. |
|
Get valid range from descriptor context if available. |
Validate a value against descriptor-defined valid range. |
Module Contents¶
- src.bluetooth_sig.gatt.descriptor_utils.enhance_error_message_with_descriptors(base_message: str, ctx: src.bluetooth_sig.gatt.context.CharacteristicContext | None = None) str¶
Enhance error message with descriptor information for better debugging.
- Parameters:
base_message – Original error message
ctx – Characteristic context containing descriptors
- Returns:
Enhanced error message with descriptor context
- src.bluetooth_sig.gatt.descriptor_utils.get_descriptor_from_context(ctx: src.bluetooth_sig.gatt.context.CharacteristicContext | None, descriptor_class: type[src.bluetooth_sig.gatt.descriptors.base.BaseDescriptor]) src.bluetooth_sig.types.DescriptorData | None¶
Get a specific descriptor from context.
- Parameters:
ctx – Characteristic context containing descriptors
descriptor_class – Descriptor class to look for
- Returns:
DescriptorData if found, None otherwise
- src.bluetooth_sig.gatt.descriptor_utils.get_descriptors_from_context(ctx: src.bluetooth_sig.gatt.context.CharacteristicContext | None) dict[str, Any]¶
Extract descriptor data from the parsing context.
- Parameters:
ctx – The characteristic context containing descriptor information
- Returns:
Dictionary mapping descriptor UUIDs to DescriptorData objects
- src.bluetooth_sig.gatt.descriptor_utils.get_presentation_format_from_context(ctx: src.bluetooth_sig.gatt.context.CharacteristicContext | None = None) src.bluetooth_sig.gatt.descriptors.characteristic_presentation_format.CharacteristicPresentationFormatData | None¶
Get presentation format from descriptor context if available.
- Parameters:
ctx – Characteristic context containing descriptors
- Returns:
CharacteristicPresentationFormatData if present, None otherwise
- src.bluetooth_sig.gatt.descriptor_utils.get_user_description_from_context(ctx: src.bluetooth_sig.gatt.context.CharacteristicContext | None = None) str | None¶
Get user description from descriptor context if available.
- Parameters:
ctx – Characteristic context containing descriptors
- Returns:
User description string if present, None otherwise
- src.bluetooth_sig.gatt.descriptor_utils.get_valid_range_from_context(ctx: src.bluetooth_sig.gatt.context.CharacteristicContext | None = None) tuple[int | float, int | float] | None¶
Get valid range from descriptor context if available.
- Parameters:
ctx – Characteristic context containing descriptors
- Returns:
Tuple of (min, max) values if Valid Range descriptor present, None otherwise
- src.bluetooth_sig.gatt.descriptor_utils.validate_value_against_descriptor_range(value: int | float, ctx: src.bluetooth_sig.gatt.context.CharacteristicContext | None = None) bool¶
Validate a value against descriptor-defined valid range.
- Parameters:
value – Value to validate
ctx – Characteristic context containing descriptors
- Returns:
True if value is within valid range or no range defined, False otherwise