I realize that this code is "experimental", but we are trying to utilize it as a reference and having problems with its stability and scan results.
Specifically, we are just compiling and running the project at: \examples\ble_peripheral\experimental_ble_app_multiactivity_beacon\hrs_scanner
We are building and running on an nRF51 DK with S130 2.0.
We are using nRF5 SDK (ver 11).
We are logging the MAC address retrieved from within decode_advertising() (within scanner_beacon_timeslot.c)
for (i = 0; i < 6; i++) { sprintf(tmpString, " %02X ", adv_packet->addr.addr[i]); SEGGER_RTT_WriteString(0, tmpString);
} SEGGER_RTT_WriteString(0, "\r\n");
return NRF_SUCCESS;
We have inserted our Segger logging at the end of decode_advertising()
This is showing us MAC addresses with errors. See this portion of our log.
0> BB 9C 91 CF E5 E0 0> F9 09 B3 5E B8 F4
0> 5D 86 91 CF FE EC <------
0> 5D 86 91 CF E5 E0 <------
0> BB 9C 91 00 00 00 00 00 00
0> 10 96 10 7E FE EC
0> 10 96 10 7E FE EC
0> DF D1 69 4F 8D C7
0> 90 95 10 7E FE EC
0> 5D 86 91 CF E5 E0
0> BB 9C 00 00 00 00 00 00
0> F9 09 B3 5E B8 F4
0> F9 09 B3 5E B8 F4
When we can scan these devices with other peers, we can see that one of the returned addresses is correct and the other is not. It appears that the MAC address data is being corrupted.
The other issue is that the device continually restarts (shown by 00 bytes in the log).
This problem should be easily reproducible as it is just a compile of the example project with a few SEGGER_RTT_WriteString() calls added (see above).