BLE Scan locks up rarely in busy environment

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Panometric
Level 5
Level 5
100 sign-ins 100 replies posted 10 solutions authored

We have deployed a design that uses only BLE scanning to continuously look for specific advertisements using a CYBLE-012011-00 with component BLE_v3_30, a fixed stack bootloader, and scanning set to 30ms window, 30ms interval. It generally works at most locations we've tried.

But in a few field situations the BLE stack locks up after 2-8 hours. If we don't start the BLE scanning,  the problem goes away.

We've done a site survey and found a surprisingly high number of random address advertisements, like 30 or 40 are active. We suspect this busyness is breaking the BLE stack.

1. Has this been observed elsewhere?

2. Are there any corrections released since then that might be relevant?

3. Are there specific settings we can check or change to reduce this likelihood?

0 Likes
1 Solution
Yugandhar
Moderator
Moderator
Moderator
500 solutions authored 1000 replies posted 5 likes given

Hello,

I have not observed the BLE scan stuck in any PSoC/PRoC Device. Could you please refer to the below points ?

1. Could you please check on how frequently you are calling the Cy_Ble_ProcessEvents() function ? This function must be called at least once for every connection interval or scan interval, whichever is smaller. This function checks the internal task queue in the BLE Stack, and pending operation of the BLE Stack, if any.

2. If you are not calling Cy_Ble_ProcessEvents function for enough time in the FW, then you can set a timer and call the CyBle_ProcessEvents function inside it.

3. ECO capacitance trim is required to supply the correct capacitance load to achive 0 ppm for the ECO. By default, the ECO capacitance trim values are set to the trim values of PSoC 4 BLE / PRoC 4 BLE modules. If any other BLE module is used (such as, EZ-BLE module), the trim values should be changed to the values provided by that module’s datasheet. Please refer to this KBA ECO Capacitance Trim Values for EZ-BLE™ Modules - KBA218990  for the CAPTRIM Register value.

4. Your scanning parameters are fine, setting the scan interval equal to the scan window will make the device to scan continuously.

5. It is recommended to upgrade the BLE component to the latest version v3.65. Please upgrade your BLE component and check the project. Also, please ensure that the BLE subsystem (BLESS) interrupt has the highest priority.

Please let me know if this helps.

Thanks,

P Yugandhar.

View solution in original post

0 Likes
1 Reply
Yugandhar
Moderator
Moderator
Moderator
500 solutions authored 1000 replies posted 5 likes given

Hello,

I have not observed the BLE scan stuck in any PSoC/PRoC Device. Could you please refer to the below points ?

1. Could you please check on how frequently you are calling the Cy_Ble_ProcessEvents() function ? This function must be called at least once for every connection interval or scan interval, whichever is smaller. This function checks the internal task queue in the BLE Stack, and pending operation of the BLE Stack, if any.

2. If you are not calling Cy_Ble_ProcessEvents function for enough time in the FW, then you can set a timer and call the CyBle_ProcessEvents function inside it.

3. ECO capacitance trim is required to supply the correct capacitance load to achive 0 ppm for the ECO. By default, the ECO capacitance trim values are set to the trim values of PSoC 4 BLE / PRoC 4 BLE modules. If any other BLE module is used (such as, EZ-BLE module), the trim values should be changed to the values provided by that module’s datasheet. Please refer to this KBA ECO Capacitance Trim Values for EZ-BLE™ Modules - KBA218990  for the CAPTRIM Register value.

4. Your scanning parameters are fine, setting the scan interval equal to the scan window will make the device to scan continuously.

5. It is recommended to upgrade the BLE component to the latest version v3.65. Please upgrade your BLE component and check the project. Also, please ensure that the BLE subsystem (BLESS) interrupt has the highest priority.

Please let me know if this helps.

Thanks,

P Yugandhar.

0 Likes