# GATT configuration parameters

Source: [https://docs.qualcomm.com/doc/80-70015-13/topic/gatt_config_params.html](https://docs.qualcomm.com/doc/80-70015-13/topic/gatt_config_params.html)

To configure the GATT server and client functions, use the server, client, and scan
        parameters.

## GATT server configuration parameters

The two types of server configuration parameters used to [perform Bluetooth
                    Low Energy GATT server functions](https://docs.qualcomm.com/doc/80-70015-13/topic/perform_ble_gatt_server_functions.html) are: advertiser and server parameters.
                These configuration parameters are handled through
                    `AdvertiserConfigFile.txt` and
                    `ServerConfigFile.txt` files, respectively.

**`AdvertiserConfigFile.txt`**

The following table lists the possible values of each advertisement parameter in the
                    `AdvertiserConfigFile.txt` file:

| Parameters | Values |
| --- | --- |
| `TxPower` | **Legacy:**<ul class="ul" id="references_1__ul_tzq_351_kbc_navyanka_05-14-24-1416-28-701"><br>                                            <li class="li"><code class="ph codeph">0</code>:<br>                                                ADVERTISE_TX_POWER_ULTRA_LOW(-21)</li><br><br>                                            <li class="li"><code class="ph codeph">1</code>: ADVERTISE_TX_POWER_LOW(-15)</li><br><br>                                            <li class="li"><code class="ph codeph">2</code>: ADVERTISE_TX_POWER_MEDIUM(-7) </li><br><br>                                            <li class="li"><code class="ph codeph">3</code>: ADVERTISE_TX_POWER_HIGH(1)</li><br><br>                                        </ul><br><br><br>                                    <br>**Extended:**<ul class="ul" id="references_1__ul_c5f_l51_kbc_navyanka_05-14-24-1417-13-846"><br>                                            <li class="li"><code class="ph codeph">0</code>: TX_POWER_ULTRA_LOW =-21</li><br><br>                                            <li class="li"><code class="ph codeph">1</code>: TX_POWER_LOW =-15</li><br><br>                                            <li class="li"><code class="ph codeph">2</code>: TX_POWER_MEDIUM =-7</li><br><br>                                            <li class="li"><code class="ph codeph">3</code>: TX_POWER_HIGH = 1</li><br><br>                                        </ul> |
| `LegacyFlag` | <ul class="ul" id="references_1__ul_n5c_451_kbc_navyanka_05-14-24-1418-4-557"><br>                                        <li class="li"><code class="ph codeph">0</code>: Use extended advertiser</li><br><br>                                        <li class="li"><code class="ph codeph">1</code>: Use legacy advertiser</li><br><br>                                    </ul> |
| `PeriodicFlag` | <ul class="ul" id="references_1__ul_uyy_451_kbc_navyanka_05-14-24-1418-19-540"><br>                                        <li class="li"><code class="ph codeph">0</code>: Disable periodic advertiser</li><br><br>                                        <li class="li"><code class="ph codeph">1</code>: Enable periodic advertiser</li><br><br>                                    </ul> |
| `ConnectableFlag` | <ul class="ul" id="references_1__ul_kqm_q51_kbc_navyanka_05-14-24-1418-46-362"><br>                                        <li class="li"><code class="ph codeph">0</code>: Enable non-connectable<br>                                            advertiser</li><br><br>                                        <li class="li"><code class="ph codeph">1</code>: Enable connectable advertiser </li><br><br>                                    </ul> |
| `ScannableFlag` | <ul class="ul" id="references_1__ul_wyy_t51_kbc_navyanka_05-14-24-1419-47-422"><br>                                        <li class="li"><code class="ph codeph">0</code>: Enable non-scannable advertiser</li><br><br>                                        <li class="li"><br>                                            <p class="p"><code class="ph codeph">1</code>: Enable scannable advertiser</p><br><br>                                            <p class="p">This value is applicable only to the extended<br>                                                advertisers. For the legacy advertisers, always set<br>                                                it to <code class="ph codeph">true</code>.</p><br><br>                                        </li><br><br>                                    </ul> |
| `AnonymousFlag` | <ul class="ul" id="references_1__ul_qry_cv1_kbc_navyanka_05-14-24-1422-25-418"><br>                                        <li class="li"><code class="ph codeph">0</code>: Use the advertiser address in all<br>                                            PDUs</li><br><br>                                        <li class="li"><code class="ph codeph">1</code>: Do not use the advertiser address in<br>                                            PDUs</li><br><br>                                    </ul> |
| `IncludePower` | <ul class="ul" id="references_1__ul_qbw_y51_kbc_navyanka_05-14-24-1421-13-346"><br>                                        <li class="li"><code class="ph codeph">0</code>: Do not include Tx power in the<br>                                            extended header</li><br><br>                                        <li class="li"><code class="ph codeph">1</code>: Include Tx power in the extended<br>                                            header</li><br><br>                                    </ul> |
| `PrimaryPhy` | <ul class="ul" id="references_1__ul_y3n_1v1_kbc_navyanka_05-14-24-1421-42-604"><br>                                        <li class="li"><code class="ph codeph">1</code>: 1 M-PHY</li><br><br>                                        <li class="li"><code class="ph codeph">3</code>: Low Energy (LE) coded PHY</li><br><br>                                    </ul> |
| `SecondaryPhy` | <ul class="ul" id="references_1__ul_jgr_1v1_kbc_navyanka_05-14-24-1421-45-241"><br>                                        <li class="li"><code class="ph codeph">1</code>: 1 M-PHY</li><br><br>                                        <li class="li"><code class="ph codeph">2</code>: 2 M-PHY</li><br><br>                                        <li class="li"><br>                                            <code class="ph codeph">3</code>: LE coded PHY</li><br><br>                                    </ul> |
| `Interval` | <ul class="ul" id="references_1__ul_rjv_1v1_kbc_navyanka_05-14-24-1421-48-31"><br>                                        <li class="li"><code class="ph codeph">160</code>: Minimum advertisement interval<br>                                            (100 ms)</li><br><br>                                        <li class="li"><code class="ph codeph">16777215</code>: Maximum advertisement<br>                                            interval (10,485 s) </li><br><br>                                    </ul> |
| `TimeOutLegacy` | <ul class="ul" id="references_1__ul_vhz_1v1_kbc_navyanka_05-14-24-1421-50-687"><br>                                        <li class="li"><code class="ph codeph">0</code>: Minimum possible value</li><br><br>                                        <li class="li"><code class="ph codeph">180000</code>: Maximum possible timeout value<br>                                            in ms </li><br><br>                                    </ul> |
| `AdvertiseMode` | <ul class="ul" id="references_1__ul_t1d_bv1_kbc_navyanka_05-14-24-1421-53-207"><br>                                        <li class="li"><code class="ph codeph">0</code>: Low-power mode</li><br><br>                                        <li class="li"><code class="ph codeph">1</code>: Balanced mode</li><br><br>                                        <li class="li"><code class="ph codeph">2</code>: Low latency mode (used for<br>                                            legacy)</li><br><br>                                    </ul><br><br>                                    <br>The advertisement interval is selected based on the<br>                                        advertiser mode as follows:<ul class="ul" id="references_1__ul_mhy_1hq_m1c"><br>                                            <li class="li">Low-power mode: 1 s advertisement interval</li><br><br>                                            <li class="li">Balanced mode: 250 ms advertisement interval</li><br><br>                                            <li class="li">Low latency mode: 100 ms advertisement interval</li><br><br>                                        </ul> |
| `BLEBtName` | The name to be displayed for that particular advertiser<br>                                    set. |

The following snippet shows an example of an advertisement
                set:

    *******************AdvertisingSet1*************** 
    TxPower:1
    LegacyFlag:1
    PeriodicFlag:0
    ConnectableFlag:1
    ScannableFlag:1
    AnonymousFlag:0
    IncludePower:1
    PrimaryPhy:1
    SecondaryPhy:1 
    Interval: 320
    TimeOutLegacy:0
    AdvertiseMode:1
    BLEBtName:Adv1   Copy to clipboard

**`ServerConfigFile.txt`**

The following table lists the possible values of each service parameter in the
                    `ServerConfigFile.txt` file:

| Parameter | Description |
| --- | --- |
| `service uuid` | The service ID. A server can have many services. |
| `characteristic uuid` | The ID of the characteristic. A service can have many<br>                                characteristics. A characteristic can have properties and<br>                                permissions. |
| `characteristic properties` | The properties of the characteristic.<br><br><br>                                <br>Combine the following characteristic properties with a logical OR<br>                                    argument, as<br>                                    required:<br><br>    PROPERTY_BROADCAST = 0x01;<br>    PROPERTY_READ = 0x02;<br>    PROPERTY_WRITE_NO_RESPONSE = 0x04;<br>    PROPERTY_WRITE = 0x08;<br>    PROPERTY_NOTIFY = 0x10;<br>    PROPERTY_INDICATE = 0x20;<br>    PROPERTY_SIGNED_WRITE = 0x40;<br>    PROPERTY_EXTENDED_PROPS = 0x80;Copy to clipboard |
| `characteristic permissions` | The permissions of the characteristic.<br><br><br>                                <br>Combine the following characteristic permissions with a logical<br>                                    OR argument, as required:<br>                                    <br><br>    PERMISSION_READ = 0x01;<br>    PERMISSION_READ_ENCRYPTED = 0x02;<br>    PERMISSION_READ_ENCRYPTED_MITM = 0x04;<br>    PERMISSION_WRITE = 0x10;<br>    PERMISSION_WRITE_ENCRYPTED = 0x20;<br>    PERMISSION_WRITE_ENCRYPTED_MITM = 0x40;<br>    PERMISSION_WRITE_SIGNED = 0x80;<br>    PERMISSION_WRITE_SIGNED_MITM = 0x100;Copy to clipboard |
| `descriptor uuid` | The ID of the descriptor. A characteristic can have many<br>                                descriptors. A descriptor can have permissions. |
| `descriptor permissions` | The permissions of the descriptor. |

The following snippet shows an example of a service in the GATT
                server:

    **************Server1*************
    Service1:[service uuid],[characteristic uuid],[characteristic properties],[characteristic permissions],[descriptor uuid],[descriptor permissions]
    Service1:00001200-0000-1000-8000-00805f9b34fb, 00001101-0000-1000-8000-00805f9b34fb,26,31,00002a06-0000-1000-8000-00805f9b34fb,17
    ManufacturerId:0
    ManufacturerData:AAAA
    **************End of service*************Copy to clipboard

## GATT client configuration parameters

The following table lists the connection parameters used to configure the GATT
                client:

| Parameter | Values | Notes |
| --- | --- | --- |
| `isAuto` | <ul class="ul" id="references_1__ul_pp5_bx1_kbc_navyanka_05-14-24-1437-19-37"><br>                                    <li class="li"><code class="ph codeph">0</code>: Connects directly</li><br><br>                                    <li class="li"><code class="ph codeph">1</code>: Connects automatically as soon as a<br>                                        remote device is available</li><br><br>                                </ul> | If this parameter is set to `1`, ensure that the<br>                                devices are bonded for auto connection. |
| `isOpportunistic` | <ul class="ul" id="references_1__ul_mxx_bx1_kbc_navyanka_05-14-24-1437-21-270"><br>                                    <li class="li"><code class="ph codeph">0</code>: Connects directly</li><br><br>                                    <li class="li"><code class="ph codeph">1</code>: Provides the handle if it is already<br>                                        connected based on the address and transport</li><br><br>                                </ul> | If this parameter is set to `1`, it does not start<br>                                the connection if it is not already present. |
| `Tx_Phy` | <ul class="ul" id="references_1__ul_mv1_cx1_kbc_navyanka_05-14-24-1437-23-246"><br>                                    <li class="li"><code class="ph codeph">1</code>: 1 M-PHY</li><br><br>                                    <li class="li"><code class="ph codeph">2</code>: 2 M-PHY</li><br><br>                                    <li class="li"><code class="ph codeph">4</code>: LE coded PHY</li><br><br>                                    <li class="li"><code class="ph codeph">7</code>: All PHYs</li><br><br>                                </ul> | – |
| `Rx_Phy` | <ul class="ul" id="references_1__ul_itd_cx1_kbc_navyanka_05-14-24-1437-25-218"><br>                                    <li class="li"><code class="ph codeph">1</code>: 1 M-PHY</li><br><br>                                    <li class="li"><code class="ph codeph">2</code>: 2 M-PHY</li><br><br>                                    <li class="li"><code class="ph codeph">4</code>: LE coded PHY</li><br><br>                                    <li class="li"><code class="ph codeph">7</code>: All PHYs</li><br><br>                                </ul> | – |
| `Phy_Opt:00` | <ul class="ul" id="references_1__ul_pqg_cx1_kbc_navyanka_05-14-24-1437-27-175"><br>                                    <li class="li"><code class="ph codeph">0</code>: Host preferred coding scheme</li><br><br>                                    <li class="li"><code class="ph codeph">1</code>: Use S = 2 (500 Kbps) coding scheme </li><br><br>                                    <li class="li"><code class="ph codeph">2</code>: Use S = 8 (125 Kbps) coding scheme. Use<br>                                        it only when the PHY is LE coded.</li><br><br>                                </ul> | – |
| `Mtu_Size` | <ul class="ul" id="references_1__ul_hvk_cx1_kbc_navyanka_05-14-24-1437-30-1"><br>                                    <li class="li">The minimum value is <code class="ph codeph">23</code>.</li><br><br>                                    <li class="li">The maximum value is <code class="ph codeph">512</code>.</li><br><br>                                </ul> | – |

## Scan settings

The following table lists the scan settings used to configure the GATT client:

| Scan types | Values | Notes |
| --- | --- | --- |
| `1: Scan_mode` | <ul class="ul" id="references_1__ul_bbd_rfb_kbc_navyanka_05-14-24-1542-44-191"><br>                                    <li class="li"><code class="ph codeph">-1</code>: Opportunistic mode</li><br><br>                                    <li class="li"><code class="ph codeph">0</code>: Low-power mode</li><br><br>                                    <li class="li"><code class="ph codeph">1</code>: Balanced mode</li><br><br>                                    <li class="li"><code class="ph codeph">2</code>: Low latency mode</li><br><br>                                </ul><br><br>                                <br><br>                                    **Regular scan:**<br><br><br>                                <ul class="ul" id="references_1__ul_udf_sfb_kbc_navyanka_05-14-24-1543-3-190"><br>                                    <li class="li"><code class="ph codeph">0</code>: Scan window (512 ms); scan interval<br>                                        (5120 ms)</li><br><br>                                    <li class="li"><code class="ph codeph">1</code>: Scan window (1024 ms); scan interval<br>                                        (4096 ms)</li><br><br>                                    <li class="li"><code class="ph codeph">2</code>: Scan window (4096 ms); scan interval<br>                                        (4096 ms)</li><br><br>                                </ul><br><br>                                <br>**Batch scan:**<br><br><br>                                <ul class="ul" id="references_1__ul_stj_sfb_kbc_navyanka_05-14-24-1543-6-308"><br>                                    <li class="li"><code class="ph codeph">0</code>: Scan window (1500 ms); scan interval<br>                                        (150,000 ms)</li><br><br>                                    <li class="li"><code class="ph codeph">1</code>: Scan window (1500 ms); scan interval<br>                                        (15,000 ms)</li><br><br>                                    <li class="li"><code class="ph codeph">2</code>: Scan window (1500 ms); scan interval<br>                                        (5000 ms)</li><br><br>                                </ul> | – |
| `2: CallbackType` | <ul class="ul" id="references_1__ul_shp_sfb_kbc_navyanka_05-14-24-1543-10-52"><br>                                    <li class="li"><code class="ph codeph">1</code>: Initiates a callback to all the<br>                                        advertisements matched</li><br><br>                                    <li class="li"><code class="ph codeph">2</code>: Initiates a callback to the first<br>                                        advertisement matched</li><br><br>                                    <li class="li"><code class="ph codeph">4</code>: Initiates a callback when a previously<br>                                        detected device stops sending advertisements.</li><br><br>                                </ul> | – |
| `3: ResultType` | <ul class="ul" id="references_1__ul_bkt_sfb_kbc_navyanka_05-14-24-1543-12-817"><br>                                    <li class="li"><code class="ph codeph">0</code>: Provides full scan results that have the<br>                                        device, RSSI, advertising data, scan response and, scan<br>                                        timestamps.</li><br><br>                                    <li class="li"><code class="ph codeph">1</code>: Provides scan results that have the<br>                                        device, RSSI, and scan timestamps.</li><br><br>                                </ul> | – |
| `4: ScanPhy` | <ul class="ul" id="references_1__ul_dww_sfb_kbc_navyanka_05-14-24-1543-15-159"><br>                                    <li class="li"><code class="ph codeph">1</code>: 1 M-PHY</li><br><br>                                    <li class="li"><code class="ph codeph">3</code>: LE coded PHY. Use it for extended<br>                                        scanning only. </li><br><br>                                    <li class="li"><code class="ph codeph">255</code>: All supported PHYs</li><br><br>                                </ul> | Currently, it is hard coded to 255 in the application<br>                                code. |
| `5: Legacy` | <ul class="ul" id="references_1__ul_oh1_tfb_kbc_navyanka_05-14-24-1543-17-484"><br>                                    <li class="li"><code class="ph codeph">True</code>: Legacy scanning</li><br><br>                                    <li class="li"><br>                                        <p class="p"><code class="ph codeph">False</code>: Extended scanning</p><br><br>                                    </li><br><br>                                </ul> | – |
| `6: ReportDelay` | <ul class="ul" id="references_1__ul_sb2_tfb_kbc_navyanka_05-14-24-1543-20-36"><br>                                    <li class="li"><code class="ph codeph">0</code>: Deliver reports immediately </li><br><br>                                    <li class="li"><code class="ph codeph">&gt;0</code>: Accumulate scan results and deliver<br>                                        them after the delay mentioned (in ms) or if buffers are<br>                                        full (batch scan).</li><br><br>                                </ul> | – |
| `7: MatchMode` | <ul class="ul" id="references_1__ul_xxh_tfb_kbc_navyanka_05-14-24-1543-22-641"><br>                                    <li class="li"><br>                                        <p class="p"><code class="ph codeph">1</code>: Aggressive match mode. The hardware<br>                                            finds a match even with feeble signal strength.</p><br><br>                                        <p class="p"><code class="ph codeph">2</code>: Sticky match mode. It requires a<br>                                            higher threshold of signal strength.</p><br><br>                                    </li><br><br>                                </ul> | – |
| `8: NumOfAdvMatches` | <ul class="ul" id="references_1__ul_pnl_tfb_kbc_navyanka_05-14-24-1543-25-77"><br>                                    <li class="li"><code class="ph codeph">1</code>: Matches one advertisement per filter </li><br><br>                                    <li class="li"><code class="ph codeph">2</code>: Matches few advertisements according to<br>                                        availability of hardware resources</li><br><br>                                    <li class="li"><code class="ph codeph">3</code>: Matches as many advertisements as the<br>                                        hardware allows</li><br><br>                                </ul> | – |

**Parent Topic:** [General Attribute Profile](https://docs.qualcomm.com/doc/80-70015-13/topic/set_up_ble_gatt.html)

Last Published: Oct 14, 2024

[Previous Topic
Perform Bluetooth Low Energy GATT client functions](https://docs.qualcomm.com/bundle/publicresource/80-70015-13/topics/perform_ble_gatt_client_functions.md) [Next Topic
Advanced Audio Distribution Profile](https://docs.qualcomm.com/bundle/publicresource/80-70015-13/topics/set-up-a2dp.md)