3 Replies Latest reply on Jul 18, 2016 6:51 AM by geric_1541811

    Accessing Custom Service Characteristic UUID

      Hello Cypress BLE World:

         

      A Custom Profile Service UUID may be viewed in the Configure BLE, Profiles tab, Custom Service window as, for example, UUID: AAAAAAAA-AAAA-AAAA-AAAA-AAAAAAAAAAAA

         

      An associated Custom Service Characteristic UUID may be viewed in the associated Custom Characteristic window as, for example, UUID: 11111111-1111-1111-1111-111111111111

         

      The Custom Profile Service UUID value resides in the BLE_gatt.c file in the const uint8 cyBle_attUuid128[][16u] variable as:

         

          { 0xAAu, 0xAAu, 0xAAu, 0xAAu, 0xAAu, 0xAAu, 0xAAu, 0xAAu, 0xAAu, 0xAAu, 0xAAu, 0xAAu, 0xAAu, 0xAAu, 0xAAu, 0xAAu },

         

      The Custom Characteristic UUID resides in that variable as:

         

          { 0x11u, 0x11u, 0x11u, 0x11u, 0x11u, 0x11u, 0x11u, 0x11u, 0x11u, 0x11u, 0x11u, 0x11u, 0x11u, 0x11u, 0x11u, 0x11u },

         

      The Custom Profile Service UUID may be read using the Macro CYBLE_GATT_DB_ATTR_GET_GEN_VALUE.

         

      However, using that Macro to read the Custom Characteristic UUID gives the Characteristic Value and not the UUID.

         

      The defined constants in BLE_custom.h do not include the Characteristics UUID handles from which to read the Characteristics UUID from the database.

         

      This is proven by working backwards from where the Custom Characteristic UUID resides in the database as described and shown in the attached graphic for the remainder of this post:

        • 1. Re: Accessing Custom Service Characteristic UUID

          In regard to the previous post:

             

          QUESTION:

             

          Since the defined constants provided in BLE_custom.h do not include the handles for the Characteristic UUID’s, how can those UUIDs be read (or written)?

             

          Thank you,

             

          Tim

          • 2. Re: Accessing Custom Service Characteristic UUID

            For those who access BLE UUIDs as discussed above, a Cypress Support Case was created and their response follows:

               

            Hello Tim,

            Thanks for your feedback, we will add such define in BLE v3.0 component.

            Having said that the Characteristic declaration handle is always "-1" from characteristic value handle which we already have.
            So you could use it to read characteristic UUID for example by adding following macro:

            #define CYBLE_CUSTOM_SERVICE_CUSTOM_CHARACTERISTIC_CHAR_DECL_HANDLE (CYBLE_CUSTOM_SERVICE_CUSTOM_CHARACTERISTIC_CHAR_HANDLE - 1u)

            Hope this helps.Thanks again for your feedback, greatly appreciated.Let me know if you have any other queries.
            Thanks
            Bharadhwaj

             

            • 3. Re: Accessing Custom Service Characteristic UUID

              Hello,

                 

              I am using the BLE Pioneer kit (CY8CKIT-042-BLE) and the BLE component in my project is at v2.20. Is it possible for me to update to BLE v3.10? I'd like to make use of custom services and it sounds like BLE v.3+ will make this easier.

                 

              If I use the component update tool the latest version I can see is BLE v2.20.

                 

              Thanks,
              George