My HTC Nexus 9 tablet OS 7.0.1 does not see the advertisements from an nRF5840 dongle running the BleHeartRateMonitor demo from pc-ble-driver. All my other Androids do. Is this a known issue with the HTC tablet?
My HTC Nexus 9 tablet OS 7.0.1 does not see the advertisements from an nRF5840 dongle running the BleHeartRateMonitor demo from pc-ble-driver. All my other Androids do. Is this a known issue with the HTC tablet?
Did you remember to manually enable "coarse location" privilege for the app? Android apps need this in order to be able to receive BLE advertisements.
I would suggest adding the following code to the BleHeartRateMonitor
// Set the flags - important to indicate no EDR/BR support for some Androids
data_buffer[index++] = 2; // length of flags data type
data_buffer[index++] = BLE_GAP_AD_TYPE_FLAGS;
data_buffer[index++] = 6; // No EDR/BR support and general discoverable
to add the flags to the advertisement. This will stop Androids from falling back to their default behavior of selecting EDR/BR when nothing is provided. (This is a behavior of the Broadcom stack as I understand it.)
I would suggest adding the following code to the BleHeartRateMonitor
// Set the flags - important to indicate no EDR/BR support for some Androids
data_buffer[index++] = 2; // length of flags data type
data_buffer[index++] = BLE_GAP_AD_TYPE_FLAGS;
data_buffer[index++] = 6; // No EDR/BR support and general discoverable
to add the flags to the advertisement. This will stop Androids from falling back to their default behavior of selecting EDR/BR when nothing is provided. (This is a behavior of the Broadcom stack as I understand it.)