iOS advertisement's fields returned as 0

Hey,

upon a BLE_GAP_EVT_ADV_REPORT I call the following function: 

static void pass_adv_data(ble_gap_evt_adv_report_t const *p_adv_report).

The function checks the p_adv_report->type.scan_response flag and if it is off tries to get the following fields:

RSSI, data length, m_RMACAddress and a uuid sequence that should be included in the array pointed by p_adv_report->data.p_data.

An issue occurs when I try to connect to an iOS phone application that advertises in the background. In that case the array pointed by p_adv_report->data.p_data is all 0.

The issue does not happen if the MPA advertises while the application is in front in the phone. 

if a connection has been made (if t he application advertised in the front once), the previous background advertisements, do include the uuid field in the array.

what can cause the problem, let me know for other information I can supply.

Kobi

  • Hi

    Can you try explaining what you're doing a bit more. Is the iOS acting as an advertiser or scanner in this use case? What app are you using to scan/advertise in the background? Have you tried using the nRFConnect app

    Is the other device an nRF52840 DK or some custom board? Do you have a log file describing what is happening perhaps, with a connection error or disconnect reason perhaps?

    Best regards,

    Simon

Related