Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Fork of nRF51822 by
Diff: btle/custom/custom_helper.cpp
- Revision:
- 9:3794dc9540f0
- Parent:
- 8:2214f1df6a6a
- Child:
- 10:68c0e6cabe07
diff -r 2214f1df6a6a -r 3794dc9540f0 btle/custom/custom_helper.cpp --- a/btle/custom/custom_helper.cpp Wed May 28 17:27:23 2014 +0100 +++ b/btle/custom/custom_helper.cpp Wed May 28 17:46:58 2014 +0100 @@ -17,6 +17,26 @@ #include "custom_helper.h" /** + * lookup the cache of previously converted 128-bit UUIDs to find a type value. + * @param uuid long UUID + * @param recoveredType the type field of the 3-byte nRF's uuid. + * @return true if a match is found. + */ +static bool +lookupConvertedUUIDTable(const uint8_t uuid[UUID::LENGTH_OF_LONG_UUID], + uint8_t *recoveredType) +{ + return false; +} + +static void +addToConvertedUUIDTable(const uint8_t uuid[UUID::LENGTH_OF_LONG_UUID], + uint8_t recoveredType) +{ + /* empty for now */ +} + +/** * The nRF transport has its own 3-byte representation of a UUID. If the user- * specified UUID is 128-bits wide, then the UUID base needs to be added to the * soft-device and converted to a 3-byte handle before being used further. This @@ -39,7 +59,10 @@ if (uuid.type == UUID::UUID_TYPE_SHORT) { transportUUID.type = BLE_UUID_TYPE_BLE; } else { - transportUUID.type = custom_add_uuid_base(uuid.base); + if (!lookupConvertedUUIDTable(uuid.base, &transportUUID.type)) { + transportUUID.type = custom_add_uuid_base(uuid.base); + addToConvertedUUIDTable(uuid.base, transportUUID.type); + } } return transportUUID;