I have merged the codes of scan function used at "EFR32BG13P Thermo Client" project into the "mesh provisioner" project (provisioner firmware run at EFR32BG13P EVK) and try to scan the traditional BLE gatt server device but fail to get any gatt server devices information after the scan period time-out. But I can scan the mesh nodes per the same mesh provisioner firmware. So how can I successfully scan the traditional BLE gatt server devices by the "mesh provisioner" ? What else functions should I need to add to support this function ? Thanks.
Bluetooth Mesh traffic is differentiated from the regular BLE traffic through the AD types that the Mesh advertising packets uses. We have a comprehensive article about using BLE functionalities in a BT mesh node (Scanning BLE beacons in Bluetooth Mesh). It is available for both Simplicity Studio 4 (BT Mesh SDK v1.7.x) and Simplicity Studio 5 (BT Mesh SDK v2.x). They are going to be released in the near future but I'm sending the unreleased versions to you via email.
I have merged te codes of scan & connect functions used at "EFR32BG13P Thermo Client" project into the "mesh provisioner" project (provisioner firmware run at EFR32BG13P EVK) and can scan the traditional BLE device (EFR32BG13P Thermo Client firmware run at another EFR32BG13P EVK) but it would disconnect when I try to connect the scanned devices. The reason code for disconnect shown at the console of traditional BLE device is 0x23e ( bg_err_bt_connection_failed_to_be_established : LL initiated a connection but the connection has failed to be established. Controller did not receive any packets from remote end). When I change gecko_peek_event as gecko_wait_event and do the same thing "scan", the system would hang (i.e. I can not key-in any command at the console). Can you let me know the root cause and how to resolve this issue ? Thanks.