BLE_Advert_Settings

Description

The data type used to set advertising behavior.

Syntax

BLE_Advert_Settings advertSettings =
{
  advertMode,
  timeout,
  interval,
  connectedBehavior
};

Parameters

advertMode: Sets the advertisement mode.

  • BLE_ADV_MODE_NONCONN: Nonconnectable undirected advertisements.
  • BLE_ADV_MODE_CONN: Connectable undirected advertisements.
  • BLE_ADV_MODE_SCANNABLE: This mode compensates for the small size of advertisement packets. A BLE central device can respond with a scan request packet to advertisements from a peripheral in this mode. The peripheral must listen for these scan request packets, which uses more power than the other two modes. Upon receiving a scan request, the peripheral sends extra data to the central device. This essentially doubles the amount of data that can be advertised at the expense of higher power consumption.

timeout: How long to advertise for in milliseconds. 0 for indefinitely.

interval: Advertising Interval (interval * 0.625 ms). 0 for 100ms default

connectedBehavior: The advertising behavior during and after connections.

  • BLE_ADV_STOP_ON_CONN: Advertising is disabled during connection and will not start after.
  • BLE_ADV_RESTART_ON_CONN_EST: Advertising will continue with non-connectable advertising when connection is established. There are separate GAP parameters for setting the connected advertising interval.
  • BLE_ADV_RESTART_ON_CONN_TERM: Advertising will restart with connectable advertising when a connection is terminated.

 

Example

Indefinite nonconnectable (e.g. for a simple beacon) advertisement every 900ms. Note that the last member, the connected behavior, of advertSettings has no effect because this is nonconnectable advertising.

#include <BLE.h>

BLE_Advert_Settings advertSettings =
{
  BLE_ADV_MODE_NONCONN,
  0,
  1440, // 1440*0.625ms = 900ms
  BLE_ADV_RESTART_ON_CONN_EST
}

void setup() {
  ble.begin();
  ble.startAdvert(&advertSettings);
}

void loop() {
  ble.handleEvents();
}

Reference Home || BLE Library