Welcome Guest,Register Now
Log In

ANT Forum

Welcome guest, please Login or Register

   

ANT continuous scan mode will impact BLE advertising

Rank

Total Posts: 2

Joined 2018-11-23

PM

I encountered an issue, please kindly refer to the attachment for the detail.(The project is too big to upload.)

"''
The problem is:
a> Run demo on PCA10056 (BLE adv & ANT continuous scan).
b> ANT Dongle B broadcasts messages.
c> ANT Dongle A scans and sends acknowledged msg to B.
d> BLE advertising interval changes from 187ms to 1933ms automatically. (monitored by 'nrf Connect' App)
e> To recover the BLE advertising, the only way is resetting ANT stack by calling sd_ant_stack_reset().
f> ANT background scan mode wouldn't cause this problem.

The probability of this problem is 100%.
"''

So I guess maybe there is something wrong in the ANT & BLE co-existed Softdevice, such as S340 and S332.
Can someone help me? Thank you in advance.

     

File Attachments

Rank

Total Posts: 2

Joined 2018-11-23

PM

Thanks to Kenneth, I've worked out this problem.
https://devzone.nordicsemi.com/f/nordic-q-a/60302/antcontinuous-scan-mode-will-impact-ble-advertising


Since I added the following simple code to my project, BLE advertising has been working well with ANT continuous scanning :

err_code = sd_ant_coex_config_get(ANT_SCAN_CHANNEL_NUMBER, &ant;_coex_config, NULL);
APP_ERROR_CHECK(err_code);
ant_coex_config.pucBuffer[0] = 0; //disable all configuration
err_code = sd_ant_coex_config_set(ANT_SCAN_CHANNEL_NUMBER, &ant;_coex_config, NULL);
APP_ERROR_CHECK(err_code);

But exactly, I cannot understand those parameters clearly related to ANT_BUFFER_PTR in sd_ant_coex_config_set():

/** @brief This function sets ANT radio coexistence behaviour. Supported only if ANT is sharing radio HW concurrently with another wireless protocol.
* Configuration structure is as follows:
* Byte0 = Configuration enable bitfield
* bit0 - enable/disable tx/rx channel keep alive config (Byte4/5 & Byte6/7)
* bit1 - enable/disable tx/rx channel fixed interval priority config (Byte1)
* bit2 - enable/disable transfer keep alive config (Byte2)
* bit3 - enable/disable search channel fixed interval priority config (Byte3)
* else - reserved
* Byte1 = tx/rx channel fixed interval priority configuration
* Byte2 = transfer keep alive configuration
* Byte3 = search channel fixed interval priority configuration
* Byte4(LSB)/Byte5(MSB) = tx channel keep alive configuration
* Byte6(LSB)/Byte7(MSB) = rx channel keep alive configuration
* Byte8 = ANT counts/16 spent in high priority mode during search scan.
* Byte9 = ANT counts/16 spent in low priority mode during search scan.
*
* Advanced configuration structure is as follows:
* Byte0 = Configuration enable bitfield
* bit0 - enable/disable priority override config (Byte1)
* bit1-7 - reserved
* Byte1 = ANT priority override. 0 = low, 1 = normal(default), 2 = high, 3 = critical
* Byte2 = Reserved
* Byte3 = Reserved
* Byte4 = Reserved
* Byte5 = Reserved
* Byte6 = Reserved
* Byte7 = Reserved
*/

So I'll appreciate very much if you can give more guide.

Thanks & Best Regards.