<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://devzone.nordicsemi.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Characteristic Discovery with 128bit UUID</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/82805/characteristic-discovery-with-128bit-uuid</link><description>Hi, 
 
 We are evaluating the possibility to connect our nRF52840 to another BLE device but we are facing issues with UUID Nordic handling strategy. 
 
 Quickly: 
 
 We have a central nRF and two pheripheral. The first is Nordic the second is system in</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Wed, 22 Dec 2021 08:31:46 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/82805/characteristic-discovery-with-128bit-uuid" /><item><title>RE: Characteristic Discovery with 128bit UUID</title><link>https://devzone.nordicsemi.com/thread/344736?ContentTypeID=1</link><pubDate>Wed, 22 Dec 2021 08:31:46 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ea8563eb-eb58-4ebd-af96-f421bc2c6d08</guid><dc:creator>Simonr</dc:creator><description>&lt;p&gt;Hi&lt;/p&gt;
&lt;p&gt;You can check out the ble_bas_on_db_disc_evt() in the nRF5 SDK that handles sevice and characteristic discovery of the BAS service, you can make a similar function for your custom UUID as well. It&amp;#39;s important to note that while registering the 128-bit UUID using sd_ble_uuid_vs_add(), and choose what 16-bit UUID you want to use for service and characteristic discovery.&lt;/p&gt;
&lt;p&gt;If you need a better understanding before trying to implement this on the central side, please check out the &lt;a href="https://devzone.nordicsemi.com/guides/short-range-guides/b/bluetooth-low-energy/posts/ble-central-tutorial"&gt;BLE central tutorial &lt;/a&gt;which explains scanning, connecting and service discovery from a central perspective. It is somewhat dated, but it has been updated for SDK v15, so it is still relevant.&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Simon&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Characteristic Discovery with 128bit UUID</title><link>https://devzone.nordicsemi.com/thread/344562?ContentTypeID=1</link><pubDate>Tue, 21 Dec 2021 11:03:43 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:7f8b5466-9742-4e38-8513-78957051f308</guid><dc:creator>AlessandroADG</dc:creator><description>&lt;p&gt;Hi Simon,&lt;/p&gt;
&lt;p&gt;before my answer I wanted to say:&lt;/p&gt;
&lt;p&gt;I bought a nRF52840 Dongle and with nRF Connect Desktop it performs the service discovery correctly.&lt;/p&gt;
&lt;p&gt;So now I am sure it&amp;#39;s possible. I have only to understand how.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Coming to your our.&lt;/p&gt;
&lt;p&gt;In the example provided by Nordic the central software to start the discovery&lt;/p&gt;
&lt;p&gt;- Declare the UUID128 service address (with&amp;nbsp;&lt;span&gt;sd_ble_uuid_vs_add()&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;- Declare the UUID16 base address of the characteristic to be discovered (with&amp;nbsp;ble_db_discovery_evt_register() )&lt;/p&gt;
&lt;p&gt;I cannot do the same as I have UUID128 also for characteristics.&lt;/p&gt;
&lt;p&gt;So what I have to do?&lt;/p&gt;
&lt;p&gt;I tried simply to call the&amp;nbsp;&lt;span&gt;sd_ble_uuid_vs_add also for the characteristic UUID128 but it doesn&amp;#39;t work.&lt;br /&gt;I cannot go ahead shooting bling. .&lt;br /&gt;I also tried to read documentation but unfortunately Nordic documentation always forward to example and no example cover my&amp;nbsp; situation (at least I not found it).&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Happy holidays and happy new year!&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Alessandro&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Characteristic Discovery with 128bit UUID</title><link>https://devzone.nordicsemi.com/thread/344500?ContentTypeID=1</link><pubDate>Tue, 21 Dec 2021 08:08:14 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:a66d9393-d650-4f82-9810-02d29a435c2f</guid><dc:creator>Simonr</dc:creator><description>&lt;p&gt;Hi&lt;/p&gt;
&lt;p&gt;We will be short on staff during the Holiday period, and delayed replies must be expected. We will be back to full staff on January 3rd. Happy holidays and happy new year!&lt;/p&gt;
&lt;p&gt;I&amp;#39;m not sure I understand your question here, but you need to declare what UUID type you&amp;#39;re adding to the service/characteristic the first time around using &amp;quot;sd_ble_uuid_vs_add&amp;quot;, but after they have been added, the SoftDevice will keep track of them for you.&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Simon&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Characteristic Discovery with 128bit UUID</title><link>https://devzone.nordicsemi.com/thread/344307?ContentTypeID=1</link><pubDate>Mon, 20 Dec 2021 10:25:33 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:2ac36144-68c9-486c-b245-e1eea7ec6439</guid><dc:creator>AlessandroADG</dc:creator><description>&lt;p&gt;Hi Simon,&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;happy to know it&amp;#39;s possible.&lt;/p&gt;
&lt;p&gt;Justo to be clear.&lt;/p&gt;
&lt;p&gt;First of all I have to add the different UUID with&amp;nbsp;&lt;span&gt;sd_ble_uuid_vs_add&lt;/span&gt;&lt;span&gt;() with something like this&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;So, I will add all my UUID128 (service and characteristics).&lt;/span&gt;&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;pre class="ui-code" data-mode="text"&gt;    err_code = sd_ble_uuid_vs_add(&amp;amp;ads_base_uuid, &amp;amp;p_ble_ads_c-&amp;gt;uuid_type);

    VERIFY_SUCCESS(err_code);&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Later I will have to register the UUID for the discovery event.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;But here my question: I have to do it?&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;All the characteristic have the same 16bit UUID so I need to use the 128UUID.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Here the code I am using up to now. This function accept only 16UUID not 128UUID&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;    ads_uuid.type = p_ble_ads_c-&amp;gt;uuid_type;
    ads_uuid.uuid = ADS_SERVICE_UUID;

    return ble_db_discovery_evt_register(&amp;amp;ads_uuid);&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;This is why I am asking your support.&lt;/p&gt;
&lt;p&gt;Alessandro&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Characteristic Discovery with 128bit UUID</title><link>https://devzone.nordicsemi.com/thread/344281?ContentTypeID=1</link><pubDate>Mon, 20 Dec 2021 09:45:03 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:8a2ebae6-7b8c-4418-ba31-49e3c359ec05</guid><dc:creator>Simonr</dc:creator><description>&lt;p&gt;Hi Alessandro&lt;/p&gt;
&lt;p&gt;Yes, it should be possible as long as you reference the correct UUID tag (&lt;span&gt;sd_ble_uuid_vs_add())&lt;/span&gt;as I mentioned in my last reply.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Simon&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Characteristic Discovery with 128bit UUID</title><link>https://devzone.nordicsemi.com/thread/344140?ContentTypeID=1</link><pubDate>Fri, 17 Dec 2021 12:27:41 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:00d868c2-8070-4180-aae3-6f388cf3e682</guid><dc:creator>AlessandroADG</dc:creator><description>&lt;p&gt;Hi Simon,&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;sorry I notice now I mixed text with explanation related to a test log of another test.&lt;/p&gt;
&lt;p&gt;Here the pheripheral service&amp;nbsp; UUID and the characteristic service UUID&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;#define PHERIPHERAL_SERVICE_UUID_BASE               \
    {                                       \
        0xB7, 0x5C, 0x49, 0xD2, 0x04, 0xA3, \
            0x40, 0x71,                     \
            0xA0, 0xB5,                     \
            0x35, 0x83,                     \
            0x3E, 0xB0, 0x83, 0x07          \
    }


#define PHERIPHERAL_CHARACTERISTIC_UUID_BASE               \
    {                                       \
        0xB8, 0x5C, 0x49, 0xD2, 0x04, 0xA3, \
            0x40, 0x71,                     \
            0xA0, 0xB5,                     \
            0x35, 0x83,                     \
            0x3E, 0xB0, 0x83, 0x07          \
    }&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;By the way&amp;nbsp;I am not asking support to debug my code as I simply perfor some test.&lt;/p&gt;
&lt;p&gt;I was shooting blind as there I found no documentation at all about this.&lt;/p&gt;
&lt;p&gt;My real question is:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="text-decoration:underline;"&gt;Is it possible with nRF52 to perform characteristic di&lt;span&gt;scovery&amp;nbsp;&lt;/span&gt;with 128UUID totally indipendent from the 128UIID of the service?&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;Possible answers are:&amp;nbsp;&lt;/p&gt;
&lt;p&gt;No it&amp;#39;s not possible for limitation in the SD and I will drop my attempt.&lt;/p&gt;
&lt;p&gt;Yes it&amp;#39;s possible using this SD function call and I will write new code based on your suggestion.&lt;/p&gt;
&lt;p&gt;Regards&lt;/p&gt;
&lt;p&gt;Alessandro&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Characteristic Discovery with 128bit UUID</title><link>https://devzone.nordicsemi.com/thread/344136?ContentTypeID=1</link><pubDate>Fri, 17 Dec 2021 11:58:31 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d3008c57-49d1-4c5a-b841-7d5b563a9e88</guid><dc:creator>Simonr</dc:creator><description>&lt;p&gt;Hi again&lt;/p&gt;
&lt;p&gt;I see, so the Service UUID not found message actually states &amp;quot;&lt;em&gt;Service UUID 0x3540 not found&amp;quot;&lt;/em&gt; correct? What might be happening is that you&amp;#39;re using the wrong UUID tag when registering the service UUID with the discovery module. This tag is returned by sd_ble_uuid_vs_add(), so please make sure you&amp;#39;re referencing the correct UUID tag here.&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Simon&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Characteristic Discovery with 128bit UUID</title><link>https://devzone.nordicsemi.com/thread/344070?ContentTypeID=1</link><pubDate>Fri, 17 Dec 2021 07:57:35 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:4f0f1546-55ee-4bb9-b2a0-1480e08805b1</guid><dc:creator>AlessandroADG</dc:creator><description>&lt;p&gt;Hi Simon,&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;sorry my cut&amp;amp;paste error.&lt;/p&gt;
&lt;p&gt;The service UUID I tried to provide was 0x3540 (12-13 octet of the UUID_128 service) but unfortunately also the same of all the characteristics.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Regards&lt;/p&gt;
&lt;p&gt;Alessandro&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Characteristic Discovery with 128bit UUID</title><link>https://devzone.nordicsemi.com/thread/344065?ContentTypeID=1</link><pubDate>Fri, 17 Dec 2021 07:33:15 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:afdd4b78-be04-4ad0-b689-2e4fc916e8f5</guid><dc:creator>Simonr</dc:creator><description>&lt;p&gt;Hi Alessandro&lt;/p&gt;
&lt;p&gt;I think this should be possible, but I need to ask the developers to make sure. Do you know where the Service UUID 0xB03E comes from? Because this doesn&amp;#39;t seem to be part of the service/characteristic UUID you mention initially.&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Simon&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Characteristic Discovery with 128bit UUID</title><link>https://devzone.nordicsemi.com/thread/343815?ContentTypeID=1</link><pubDate>Thu, 16 Dec 2021 09:17:32 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:8fb2b4f0-f66c-476e-97d5-37bdf1b04334</guid><dc:creator>AlessandroADG</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;I want to change the first octet as the device I have to connect to do this.&lt;br /&gt;&lt;br /&gt;We cannot change the pheripheral as already in production so we need to develop a flexible central.&lt;/p&gt;
&lt;p&gt;If not possible to do with Nordic a central reading generic 128bit UUID I will have to move to another option.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;If I well understand the topic you refer to is related to a pheripheral.&amp;nbsp;I have the issue on the central.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Best Regards&lt;/p&gt;
&lt;p&gt;Alessandro&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Characteristic Discovery with 128bit UUID</title><link>https://devzone.nordicsemi.com/thread/343795?ContentTypeID=1</link><pubDate>Thu, 16 Dec 2021 07:02:29 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:558eb2b1-5bc1-4ead-aded-ed6effea89cb</guid><dc:creator>Simonr</dc:creator><description>&lt;p&gt;Hi&lt;/p&gt;
&lt;p&gt;Is there a specific reason you want to change the first octets instead of the 12th and 13th? This question has already been asked in &lt;a href="https://devzone.nordicsemi.com/f/nordic-q-a/74632/instead-of-octets-12-13-of-128-bit-uuid-can-we-use-octets-1-2"&gt;this case&lt;/a&gt;, so please check out the discussion here for more details.&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Simon&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>