4 posts / 0 new
Last post
quangng
Offline
Last seen:8 months 1 week ago
加入:2015-10-29 22:03
About Beacon project

Hi Dialog team!

I have a few questions about the Beacon software.
1. So from BLE spec, the advertising interval is ranged from 20 ms to 10.24 s. In the code (app_dialog_beacon_proj.h header file). I tried to reduce the energy consumption by reducing the advertising interval as follows:
#define APP_BEACON_INT_MIN 0x78 // 120 * 0.625 = 75ms
#define APP_BEACON_INT_MAX 0x78 // 120 * 0.625 = 75ms
I've tried a few different advertising intervals which are smaller than 100ms. Any interval <= 100ms makes the beacon device stall. Only intervals >=100ms will work. Could you please give me advice why this happened?

2. Is it possible to detect/ catch when a scan response request is sent from the observer? Based on the scan response request, the advertiser will decide whether or not to send a scan response data to the observer. My idea here is to implement a 3-way handshake communication like in TCP 3-way handshake. The advertiser sends an advertisement packet, then the observer receives the advertisement packet and decides whether or not to sends back a scan response request. Finally, if the observer decides to send a scan response request, and the advertiser (beacon device) receives this scan response request, the beacon device will detect this request (from the user space) and sends back a scan response data (as an acknowledgement). Please advice on this to realize the idea!

Device:
Gongyu_Dialog
Offline
Last seen:6 days 3 hours ago
加入:2016-04-27 07:07
1. Accroding to the

1. Accroding to the requirement of the Bluetooth specification,”The Advertising_Interval_Min and Advertising_Interval_Max shall not be set to
less than 0x00A0 (100 ms) if the Advertising_Type is set to 0x02 (ADV_SCAN_IND) or 0x03 (ADV_NONCONN_IND).“ The default adv packet settings for the beacon is ADV_NONCONN_IND

2. Regarding as beacon project, since the packet type is "ADV_NONCONN_IND", there is no response for the scan_req packet. If for ADV_IND type, the advertiser side will response automatically within 150us after receiving the packet scan_req, so no app layer code is involved. If you want to control, I may advise to change the packet of the adv type if needed.

Thanks

quangng
Offline
Last seen:8 months 1 week ago
加入:2015-10-29 22:03
Hi Gongyu_Dialog!

Hi Gongyu_Dialog!

About point 2, yes please advice me how to control this so I will be about to know when the advertiser receives a scan request from an observer

Gongyu_Dialog
Offline
Last seen:6 days 3 hours ago
加入:2016-04-27 07:07
Only in the observer side,

Only in the observer side, with the msg GAPM_ADV_REPORT_IND , can we get the scan result info.
But in the peripheral side, in my opinion, we have no method to get the info that whether there is a msg of "scan_req" coming or not. The procedure is done totally in the lower layer of the chip.

Topic locked