3 Replies Latest reply on Jul 18, 2016 6:51 AM by George.Riggall_1541811

    Accessing Custom Service Characteristic UUID

    tdbconsulting_1416776

      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: