VelocAI logo Bluetooth Explorer Documentation

Bluetooth GATT Descriptor Reference

Valid Range (0x2906)

org.bluetooth.descriptor.valid_range

If the Characteristic Value to which this descriptor is attached has a fixed exponent, then the values in this descriptor have the same exponent. The first value in the Valid Range descriptor represents the lower inclusive value of the range. The second value represents the higher inclusive value of the range. The data type and units for lower inclusive value and the upper inclusive value are identical to the data type and units of the characteristic for which it is used.

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.

PropertyValue
NameValid Range
UUID0x2906
Typeorg.bluetooth.descriptor.valid_range
XML RootDescriptor
Source Fileorg.bluetooth.descriptor.valid_range.xml
Field Count2

Field Specification

Parsed field definitions from the source XML value structure.

Field Requirement Format Unit Exponent Notes
Lower inclusive valueMandatorycharacteristic--The lower bound is the same format as the characteristic the descriptor describes.
Upper inclusive valueMandatorycharacteristic--The upper bound is the same format as the characteristic the descriptor describes.

Byte Layout and Decode

Payload length is profile-defined or variable based on field formats.

function decodePayload(dataView, offset = 0) {
  // Parse lower_inclusive_value (characteristic) according to Bluetooth format rules.
  // Parse upper_inclusive_value (characteristic) according to Bluetooth format rules.
  return { lower_inclusive_value, upper_inclusive_value };
}

Use Cases and Integration Notes

Descriptor Validation

Verify descriptor presence and format during integration and interoperability testing.

Client Configuration

Use descriptor semantics to configure notifications, indications, or presentation metadata.

Debug Diagnostics

Capture descriptor values alongside characteristic data for deeper BLE troubleshooting.

Implementation Checklist

  • Read descriptor metadata after characteristic discovery to confirm behavior contracts.
  • Respect descriptor read/write requirements before ATT operations.
  • Document descriptor values in exported BLE session logs for reproducibility.
  • Keep descriptor handling aligned with Bluetooth SIG format definitions.

FAQ

What is Valid Range in Bluetooth GATT?

Valid Range is defined as a Bluetooth GATT descriptor entry with type org.bluetooth.descriptor.valid_range and UUID 0x2906.

What UUID identifies Valid Range?

The UUID for Valid Range is 0x2906.

How should I parse Valid Range?

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.