Openwear requires RC oscillator to be used

Fork of nRF51822 by Nordic Semiconductor

Files at this revision

API Documentation at this revision

Comitter:
Rohit Grover
Date:
Wed May 28 17:27:23 2014 +0100
Parent:
7:dd6465921aaa
Child:
9:3794dc9540f0
Commit message:
convert_to_transport_uuid() now works with 128bit uuids

Changed in this revision

btle/custom/custom_helper.cpp Show annotated file Show diff for this revision Revisions of this file
btle/custom/custom_helper.h Show annotated file Show diff for this revision Revisions of this file
nRF51GattServer.cpp Show annotated file Show diff for this revision Revisions of this file
--- a/btle/custom/custom_helper.cpp	Wed May 28 16:45:23 2014 +0100
+++ b/btle/custom/custom_helper.cpp	Wed May 28 17:27:23 2014 +0100
@@ -16,6 +16,35 @@
 
  #include "custom_helper.h"
 
+/**
+ * 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
+ * function is responsible for this translation of user-specified UUIDs into
+ * nRF's representation.
+ *
+ * @param[in]  uuid
+ *                 user-specified UUID
+ * @return nRF
+ *              3-byte UUID (containing a type and 16-bit UUID) representation
+ *              to be used with SVC calls.
+ */
+ble_uuid_t custom_convert_to_transport_uuid(const UUID &uuid)
+{
+    ble_uuid_t transportUUID = {
+        .uuid = uuid.value,
+        .type = BLE_UUID_TYPE_UNKNOWN /* to be set below */
+    };
+
+    if (uuid.type == UUID::UUID_TYPE_SHORT) {
+        transportUUID.type = BLE_UUID_TYPE_BLE;
+    } else {
+        transportUUID.type = custom_add_uuid_base(uuid.base);
+    }
+
+    return transportUUID;
+}
+
 /**************************************************************************/
 /*!
     @brief      Adds the base UUID to the custom service. All UUIDs used
--- a/btle/custom/custom_helper.h	Wed May 28 16:45:23 2014 +0100
+++ b/btle/custom/custom_helper.h	Wed May 28 17:27:23 2014 +0100
@@ -23,10 +23,12 @@
 
 #include "common/common.h"
 #include "ble.h"
+#include "UUID.h"
 
 uint8_t custom_add_uuid_base(uint8_t const *const p_uuid_base);
 error_t custom_decode_uuid(uint8_t const *const p_uuid_base,
                            ble_uuid_t          *p_uuid);
+ble_uuid_t custom_convert_to_transport_uuid(const UUID &uuid);
 
 error_t custom_add_in_characteristic(uint16_t                  service_handle,
                                      ble_uuid_t               *p_uuid,
--- a/nRF51GattServer.cpp	Wed May 28 16:45:23 2014 +0100
+++ b/nRF51GattServer.cpp	Wed May 28 17:27:23 2014 +0100
@@ -22,30 +22,6 @@
 
 #include "nRF51Gap.h"
 
-/**
- * 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
- * function is responsible for this translation of user-specified UUIDs into
- * nRF's representation.
- *
- * @param[in]  uuid
- *                 user-specified UUID
- * @return nRF
- *              3-byte UUID (containing a type and 16-bit UUID) representation
- *              to be used with SVC calls.
- */
-static ble_uuid_t
-custom_convert_to_transport_uuid(const uint16_t uuid)
-{
-    ble_uuid_t transportUUID = { /* presently we only deal with 16-bit uuids. */
-        .type = BLE_UUID_TYPE_BLE,
-        .uuid = uuid
-    };
-
-    return transportUUID;
-}
-
 /**************************************************************************/
 /*!
     @brief  Adds a new service to the GATT table on the peripheral
@@ -93,7 +69,6 @@
 
         uuid = custom_convert_to_transport_uuid(p_char->uuid);
 
-        uuid.uuid = p_char->uuid;
         ASSERT ( ERROR_NONE ==
                  custom_add_in_characteristic(service.handle,
                                               &uuid,