"Fast Advertising", "Slow Advertising", and indefinite advertising.

Is there any actual difference between "Fast Advertising", and "Slow Advertising" - or is it just a way to easily specify two different sets of timing parameters?

The question has been asked before; eg,


https://devzone.nordicsemi.com/f/nordic-q-a/12165/fast-advertising-and-slow-advertising (documentation link broken)


But I don't see an answer to that question.

Also, how to specify indefinite advertising; ie, with no timeout?

Various threads have suggested that a timeout of zero should do it:



But I can't see anything in any documentation which actually states that this is so.

Current (15.3.0) online Documentation: https://infocenter.nordicsemi.com/topic/com.nordic.infocenter.sdk5.v15.3.0/lib_ble_advertising.html

  • I don't think it's linked anywhere

    I eventually found this - in ble_gap.h:

    /**@brief GAP advertising parameters. */
    typedef struct
      uint16_t                 duration;                /**< Advertising duration in 10 ms units. When timeout is reached,
                                                             an event of type @ref BLE_GAP_EVT_ADV_SET_TERMINATED is raised.
                                                             @sa BLE_GAP_ADV_TIMEOUT_VALUES.
                                                             @note The SoftDevice will always complete at least one advertising
                                                                   event even if the duration is set too low. */

    The SES 'Find in Project' doesn't work on on that Doxygen cross-reference to BLE_GAP_ADV_TIMEOUT_VALUES, but some raw text searching does eventually get to:

    /**@defgroup BLE_GAP_ADV_TIMEOUT_VALUES GAP Advertising timeout values in 10 ms units
     * @{ */
    #define BLE_GAP_ADV_TIMEOUT_HIGH_DUTY_MAX     (128)   /**< Maximum high duty advertising time in 10 ms units. Corresponds to 1.28 s. */
    #define BLE_GAP_ADV_TIMEOUT_LIMITED_MAX       (18000) /**< Maximum advertising time in 10 ms units corresponding to TGAP(lim_adv_timeout) = 180 s in limited discoverable mode. */
    #define BLE_GAP_ADV_TIMEOUT_GENERAL_UNLIMITED (0)     /**< Unlimited advertising in general discoverable mode.
                                                               For high duty cycle advertising, this corresponds to @ref BLE_GAP_ADV_TIMEOUT_HIGH_DUTY_MAX. */
    /**@} */

  • Yes, that's actually how I found the documentation I linked above, but that's already in the GAP header file. I don't think there's any information about the timeouts in the header file of the advertising module.

Reply Children
No Data