cancel
Showing results for 
Search instead for 
Did you mean: 

What is advertisement_interval_min,advertisement_interval_max, connection_interval_min and connection_interval_max in BLE terminology?

Akram
Associate

My question is with reference to the following API.

aci_gap_set_discoverable(uint8_t Advertising_Type,

                  uint16_t Advertising_Interval_Min,

                  uint16_t Advertising_Interval_Max,

                  uint8_t Own_Address_Type,

                  uint8_t Advertising_Filter_Policy,

                  uint8_t Local_Name_Length,

                  uint8_t Local_Name[],

                  uint8_t Service_Uuid_length,

                  uint8_t Service_Uuid_List[],

                  uint16_t Slave_Conn_Interval_Min,

                  uint16_t Slave_Conn_Interval_Max);

3 REPLIES 3
Winfred LU
ST Employee

Advertisement interval: BLE advertising packets are sent periodically on each advertising channel. The time interval between packets is set with a interval and a random delay. min/max advertisement interval are used to decide the interval. It can be from 20 ms to 10.24 s, in steps of 0.625 ms

Connection interval: When a connection is established, the central and the peripheral devices will have BLE connection events periodically. The interval between two connection events is known as connection interval. It determines how often the central device and the peripheral device communicate. Having the min and max values allows that when the central device can't satisfy the min value it can also choose a value within the range. The connection interval can be between 7.5 ms and 4 s, in steps of 1.25 ms.

Thanks for the reply Winfred.

Can you be a bit more breifer on advertisement interval.

For example, If i declare it like Advertising_Interval_Min to be 100ms and Advertising_Interval_Max to be 1000ms, then the BLE node advertises itself for the first 100ms after Boot up and the next 1000ms it does not advertise. Then 1100ms to 1200ms it again advertises and the next 1200ms to 2200 ms it stops advertising and so on.

Winfred LU
ST Employee

The advertising interval is sometimes set to a fixed value, with min value equal to max value.

For example, fixing advertising interval to 500 ms means the device will advertise at each 500 ms (plus a small amount of random delay).

The advertising will not stop unless encounter events such as:

  • application/user asks it to stop (by calling ACI_GAP_SET_NON_DISCOVERABLE)
  • a connection is established (when it does not accept other central devices, there is no need to advertise)

Sometimes when you advertising at a fix rate, it increases the possibility of collisions in the air, like if other devices are using the channels or collisions from wifi or other 2.4G signals. Configuring different min and max intervals allows the controller to determine the best interval given other activities, which can increase the rate of good advertising packets transmitted.