When I try to make a custom service with the S110, how do I set the service and characteristics up to use a custom 128-bit UUID instead of a 16-bit one, based on the Bluetooth SIG base?
Using a vendor specific UUID is basically a two-step process:
Behind the scenes, sd_ble_uuid_vs_add() will add the base UUID to the softdevice's internal list of base UUIDs, and return the table index for this UUID in the type field. When using the type in a ble_uuid_t later, the softdevice can look up the base used in this same table by using this index.
I've also attached a small pseudo-code snippet that shows the essentials of this scheme.
Maybe for future SDK revisions, if you take a parameter that says or "_type" or such, it's usually a good idea to limit that to enumerables.
At first glance, this reads to me "the type of UUID". In reality, it is a handle to the stored 128b UUID in the SD. I'm renaming mine to uuid_handle to match char_handle and conn_handle. Guess it's just a philosophical point.
Maybe for future SDK revisions, if you take a parameter that says or "_type" or such, it's usually a good idea to limit that to enumerables.
At first glance, this reads to me "the type of UUID". In reality, it is a handle to the stored 128b UUID in the SD. I'm renaming mine to uuid_handle to match char_handle and conn_handle. Guess it's just a philosophical point.