I created an App with one 16 bit service and some manufacturer data, but the maximum length of manufacturer data that doesn't cause an error is 16 bytes, when in theory it should be at least 20 bytes
If I construct the advertising data manually, I need
0x02,0x01,0x06 // Flags - 3 bytes taken for this
0x03,0x03,0x00,0x18 //Service ID (0x1800) - 4 bytes taken for this
0x17,0xff,......... ( 20 bytes of advertising data) - 22 bytes taken this
However if I use ble_advertising_init what it sends to the SD is
0x03,0x19,0x00,0x00,
0x02,0x01,0x06,
0x03,0x03,0x00,0x18,
0x13,0xff, (16 bytes of advertising data)
The difference is that ble_advertising_init() creates
0x03,0x19,0x00,0x00
at the start of the advertising data
Looking at the received data on my Android phone, The advertising data does not seem to contain this additional data.
Can someone tell me what this is, and why its being send to the SD (if its not actually being transmitted), because it appears to be wasting 4 bytes which I could use for additional manufacturer data
Thanks
Edit.
I cant find code 0x19 the BLE spec