I have a project where I'm using the BLE whitelist.
In order to do that I'm using the aci_gap_set_undirected_connectable API.
However, the BLE beacon does not seems to advertised, only the scan response seems to be shown by my phone.
When I tried to use the aci_gap_set_discoverable, beacon was shown as expected.
Am I missing something?
Any help will be appreciated.
The project runs on STM32WB55.
I used both ST BLE toolbox and nRF connect applications on my android phone to view the advertise data.
The code that does not advertise the beacon:
uint8_t AdvertiseBeacon[] = {ADVERTISE_BEACON};
uint8_t ScanResponse[] = {SCAN_RESPONSE};
hci_le_set_advertising_data(beaconSize, (uint8_t*)&AdvertiseBeacon);
hci_le_set_scan_response_data(sizeof(ScanResponse), ScanResponse);
aci_gap_set_undirected_connectable(advertiseInterval_min,
advertiseInterval_max,
GAP_RESOLVABLE_PRIVATE_ADDR,
NO_WHITE_LIST_USE);
The code that does advertise the beacon:
uint8_t AdvertiseBeacon[] = {ADVERTISE_BEACON};
uint8_t ScanResponse[] = {SCAN_RESPONSE};
hci_le_set_advertising_data(beaconSize, (uint8_t*)&AdvertiseBeacon);
hci_le_set_scan_response_data(sizeof(ScanResponse), ScanResponse);
aci_gap_set_discoverable(ADV_IND,
advertiseInterval_min,
advertiseInterval_max,
GAP_PUBLIC_ADDR,
NO_WHITE_LIST_USE,
0,
0,
0,
NULL,
connectionInterval_min,
connectionInterval_max);