Accept advertising packets without flags

Hello,

i have written an App that evaluates data from advertisement of different sensors. When using the simulator everything works fine and I can see the readings from my sensors. But when running on my watch (fenix 6 pro) I can see advertising devices but not my sensors. I logged the raw advertisment data and compared it to the output from the simulator and noticed that there seems to be a filter on the data on the real device. On the watch I can only see advertisment data that starts with  "[2, 1, ...]" or "[2, 1, ...]. So these packets contain flags at the beginning.

Unfortunately my sensors advertisment data start with "[Len, 0xFF, ..."] (you can't connect to them, they just advertise) and seems not to be recognized by the watch. But I don't see any information why this is the case or how to switch of this filter. Any suggestions from your side?

Thanks and best regards!

  • Ah, this is really interesting. I thought its because the flags at the beginning are missing. Since you cannot connect to the sensors the flags are not beeing transmitted (The Flags data type contains one bit Boolean flags. The Flags data type shall be included when any of the Flag bits are non-zero and the advertising packet is connectable, otherwise the Flags data type may be omitted.). But from your raw data I can see that the flags are also not in the package. What do you see with the blescan for this kind of data?

  • I see on a real device what I see in the sim (ble scan in both cases).  There will be differences, such as the order of devices.  You may also see differences in what devices are seen based on both the advertiser and the garmin device based on things like signal strength.  For example, I see the range much shorter on Edge devices vs most watches. On the other side, you may also see advertisers that your neighbors have and you don't.

    Also, remember that CIQ has only a minimal implementation of BLE.

    And the garmin won't see BT devices, only BLE, while something like nRFConnect will see both, Also Garmin might not show everything advertised.

    Go by what you see on the Garmin.  With Blescan, as you move through the devices you see, pressing select will switch to show the raw data for that device, so you can see the data (in hex).