How to scan non-connectable BLE devices ?

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

cross mob
Anonymous
Not applicable

I use such call

wiced_bt_ble_scan( BTM_BLE_SCAN_TYPE_HIGH_DUTY, WICED_FALSE, ble_scan_results_cb );

to scan beacons and print info in callback:

static void ble_scan_results_cb( wiced_bt_ble_scan_results_t* p_scan_result, uint8_t* p_adv_data ) {

    int result;

    WPRINT_APP_INFO(("[App] Scan Result\n"));

    if ( p_scan_result != NULL ) {

        WPRINT_APP_INFO(("[App] address:%x %x %x %x %x %x rssi:%d bdaddrtype:%d event_type:%x\n",

                         p_scan_result->remote_bd_addr[0], p_scan_result->remote_bd_addr[1], p_scan_result->remote_bd_addr[2],

                         p_scan_result->remote_bd_addr[3], p_scan_result->remote_bd_addr[4], p_scan_result->remote_bd_addr[5],

                         p_scan_result->rssi, p_scan_result->ble_addr_type, p_scan_result->ble_evt_type));

    } else {

        WPRINT_APP_INFO(("[App] No results\n"));

        WPRINT_APP_INFO(("[App] scanning again\n"));

    }

}

But I can only get connect-able BLE device advertisment (ble_evt_type 0 and 4) instead of non-connectable BLE devices advertisment (tags, beacons..)

Any idea of possible missing parameter ?

Tested on SDK 3.5.1. 43438 based BT chip.

0 Likes
1 Solution
Anonymous
Not applicable

I confirm that by changing from wiced_bt_ble_scan to wiced_bt_ble_observe I can now see my beacons! Thanks!

View solution in original post

24 Replies