We are looking to add some device info into the advertising package, or scan response package depending on space. When looking for a way to do this in a standardised way I stumbled upon a Nordic example which is adding Battery Service Data and Termometer Data to the advertising package (https://github.com/NordicSemiconductor/nrf51-ble-app-temp/blob/master/main.c)
The relevant section looks like this:
service_data[0].service_uuid = BLE_UUID_BATTERY_SERVICE;
service_data[0].data.size = sizeof(battery_data);
service_data[0].data.p_data = &battery_data;
service_data[1].service_uuid = BLE_UUID_HEALTH_THERMOMETER_SERVICE;
service_data[1].data.size = sizeof(temperature_data);
service_data[1].data.p_data = (uint8_t *) &temperature_data;
My question is if this is really valid with the standard to put a 16 bit Service UUID in the service data like this? From what I have learned there are only very limited set of valid UUIDs that can go into the Advertising Package and anything else should be implemented as a 128bit custom service.
Can anyone with deeper knowledge of BLE and Bluetooth standards please clarify?