PSoC™ 4 and PSoC™ 6 with AIROC™ Bluetooth® LE: Disable Adv Random Delay - KBA235802
- Subscribe to RSS Feed
- Mark as New
- Mark as Read
- Bookmark
- Subscribe
- Printer Friendly Page
- Report Inappropriate Content
Community Translation: PSoC™ 4 および PSoC™ with AIROC™ Bluetooth® LE:アドバタイズ・ランダム・ディレイの無効化 - KBA235802
Version: **
The time between the start of the two consecutive advertising events (T_adv_event) is specified as follows:
T_adv_event = advInterval + advDelay
advDelay is a pseudo random value with a range 0 ms to 10 ms generated by the Link Layer for each advertising event. This advDelay can be removed using the CYREG_BLE_BLELL_ADV_CONFIG register as follows.
For PSoC™ 4 CY8C4x47xx-BLxxxx MCU with AIROC™ Bluetooth® LE:
In PSoC™ 4 Bluetooth® LE devices, we can disable advDelay in the CYREG_BLE_BLELL_ADV_CONFIG register (see the following sample code segment).
#define ADV_RAND_DISABLE_MASK 0x100
uint32_t advRand;
advRand = CY_GET_XTND_REG32(CYREG_BLE_BLELL_ADV_CONFIG);
advRand |= ADV_RAND_DISABLE_MASK;
CY_SET_XTND_REG32(CYREG_BLE_BLELL_ADV_CONFIG, advRand);
For PSoC™ 6 CY8C63x7 MCU with AIROC™ Bluetooth® LE:
In PSoC™ 6 Bluetooth® LE devices, we can disable advDelay in the CYREG_BLE_BLELL_ADV_CONFIG register (see the following sample code segment).
#define ADV_RAND_DISABLE_MASK 0x100
uint32_t advRand;
advRand = CY_GET_REG32(CYREG_BLE_BLELL_ADV_CONFIG);
advRand |= ADV_RAND_DISABLE_MASK;
CY_SET_REG32(CYREG_BLE_BLELL_ADV_CONFIG, advRand);
Note: According to the Bluetooth® LE spec, adv random delay (advDelay) is used to avoid interference. This randomness reduces the possibility of collisions between advertisements of different devices. Disabling adv random delay (advDelay) is not recommended for use in production builds. This can be used for internal testing purpose only, for example, measuring the current consumption for fixed advertisement intervals.