<?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>Discovery of 128bit UUID services confusing</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/28083/discovery-of-128bit-uuid-services-confusing</link><description>Hi 
 I am using sd_ble_gattc_primary_services_discover(conn_handle,0x0001,NULL) to discover primary services on a GATT server. After the first call to this function, I get 2 BLE_GATTC_EVT_PRIM_SRVC_DISC_RSP, BLE_GATTC_EVT_CHAR_DISC_RSP and BLE_GATTC_EVT_DESC_DISC_RSP</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Thu, 15 Jun 2017 14:21:11 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/28083/discovery-of-128bit-uuid-services-confusing" /><item><title>RE: Discovery of 128bit UUID services confusing</title><link>https://devzone.nordicsemi.com/thread/110671?ContentTypeID=1</link><pubDate>Thu, 15 Jun 2017 14:21:11 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:9c07f996-3526-4337-91cc-e2f4c4a92d87</guid><dc:creator>Tielman</dc:creator><description>&lt;p&gt;Jan, that&amp;#39;s it! Even though I removed all references to db_discovery_start, the callback handler was still receiving the events from the stack via &lt;code&gt;ble_db_discovery_on_ble_evt&lt;/code&gt;. I guess this triggered the CHAR and DESC reads automatically in the background!&lt;/p&gt;
&lt;p&gt;Thanks so much!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Discovery of 128bit UUID services confusing</title><link>https://devzone.nordicsemi.com/thread/110664?ContentTypeID=1</link><pubDate>Thu, 15 Jun 2017 14:15:22 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e668e2db-62a1-49a5-9cc8-d74fb147bb18</guid><dc:creator>endnode</dc:creator><description>&lt;p&gt;It looks like there is immediately after finding 2 primary services attempt to search for characteristics. Are you sure there is no other &lt;code&gt;sd_gattc_xxx&lt;/code&gt; function call in your code or in some module you use? Eg. &lt;code&gt;ble_db_discovery&lt;/code&gt; ?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Discovery of 128bit UUID services confusing</title><link>https://devzone.nordicsemi.com/thread/110675?ContentTypeID=1</link><pubDate>Thu, 15 Jun 2017 12:53:52 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:22efef8e-9d36-4a58-96fb-44969e92eef0</guid><dc:creator>Tielman</dc:creator><description>&lt;p&gt;...but when I do the request after the LAST &lt;code&gt;BLE_GATTC_EVT_PRIM_SRVC_DISC_RSP&lt;/code&gt;, then it is SUCCESS and I get the next SET of events&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Discovery of 128bit UUID services confusing</title><link>https://devzone.nordicsemi.com/thread/110677?ContentTypeID=1</link><pubDate>Thu, 15 Jun 2017 12:52:54 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f5420836-fa96-4e13-bdad-5c4bf1346c76</guid><dc:creator>Tielman</dc:creator><description>&lt;p&gt;This is the response when doing another service request immediately after receiving the first response:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;TESTER:DEBUG:SVC DISCOVERY TO CONN 0x0 from handle 0x1&lt;/li&gt;
&lt;li&gt;TESTER:DEBUG:SVC DISCOVERY START SUCCESS.&lt;/li&gt;
&lt;li&gt;TESTER:INFO:BLE_GATTC_EVT_PRIM_SRVC_DISC_RSP: Count 0x2&lt;/li&gt;
&lt;li&gt;TESTER:INFO:=&amp;gt;Svc SVC Handles: 0x1-0x4 - type:1 - uuid:0x1801&lt;/li&gt;
&lt;li&gt;TESTER:INFO:=&amp;gt;Svc SVC Handles: 0x5-0xb - type:1 - uuid:0x1800&lt;/li&gt;
&lt;li&gt;TESTER:DEBUG:&lt;strong&gt;SVC DISCOVERY TO CONN 0x0 from handle 0xc&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;TESTER:DEBUG:&lt;strong&gt;RESPONSE: Busy.&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;TESTER:INFO:BLE_GATTC_EVT_CHAR_DISC_RSP disc 1: 0x2a05 - handle 0x3&lt;/li&gt;
&lt;li&gt;TESTER:INFO:BLE_GATTC_EVT_CHAR_DISC_RSP disc 0: 0x2a05 - handle 0x3&lt;/li&gt;
&lt;li&gt;TESTER:INFO:BLE_GATTC_EVT_DESC_DISC_RSP disc 1: 0x2902 - handle 0x4&lt;/li&gt;
&lt;li&gt;TESTER:INFO:BLE_GATTC_EVT_PRIM_SRVC_DISC_RSP: Count 0x0&lt;/li&gt;
&lt;/ul&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Discovery of 128bit UUID services confusing</title><link>https://devzone.nordicsemi.com/thread/110676?ContentTypeID=1</link><pubDate>Thu, 15 Jun 2017 12:45:04 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:3b7ab5c5-7178-4f28-86ec-cdf007f0e819</guid><dc:creator>Tielman</dc:creator><description>&lt;p&gt;Hi Jan&lt;/p&gt;
&lt;p&gt;THat is so weird. Here is my direct log from calling &lt;code&gt;sd_ble_gattc_primary_services_discover()&lt;/code&gt;only once:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;TESTER:DEBUG:SVC DISCOVERY TO CONN 0x0 from handle 0x1&lt;/li&gt;
&lt;li&gt;TESTER:DEBUG:SVC DISCOVERY START SUCCESS.&lt;/li&gt;
&lt;li&gt;TESTER:INFO:BLE_GATTC_EVT_PRIM_SRVC_DISC_RSP: Count 0x2&lt;/li&gt;
&lt;li&gt;TESTER:INFO:=&amp;gt;Svc SVC Handles: 0x1-0x4 - type:1 - uuid:0x1801&lt;/li&gt;
&lt;li&gt;TESTER:INFO:=&amp;gt;Svc SVC Handles: 0x5-0xb - type:1 - uuid:0x1800&lt;/li&gt;
&lt;li&gt;TESTER:INFO:BLE_GATTC_EVT_CHAR_DISC_RSP disc 1: 0x2a05 - handle 0x3&lt;/li&gt;
&lt;li&gt;TESTER:INFO:BLE_GATTC_EVT_CHAR_DISC_RSP disc 0: 0x2a05 - handle 0x3&lt;/li&gt;
&lt;li&gt;TESTER:INFO:BLE_GATTC_EVT_DESC_DISC_RSP disc 1: 0x2902 - handle 0x4&lt;/li&gt;
&lt;li&gt;TESTER:INFO:BLE_GATTC_EVT_PRIM_SRVC_DISC_RSP: Count 0x0&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This then seems seriously wrong and does not match the message sequece charts.&lt;/p&gt;
&lt;p&gt;Have you got the means to try and recreate this using softdevice s140?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Discovery of 128bit UUID services confusing</title><link>https://devzone.nordicsemi.com/thread/110673?ContentTypeID=1</link><pubDate>Thu, 15 Jun 2017 10:51:59 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:700b1a7e-d456-4644-af83-02479b533841</guid><dc:creator>endnode</dc:creator><description>&lt;p&gt;This is interesting question, I&amp;#39;ve never encountered &lt;code&gt;BUSY&lt;/code&gt; response when using &lt;code&gt;sd_ble_gattc_primary_services_discover&lt;/code&gt; call invoking corresponding GATT method over RF interface. I always get &lt;code&gt;BLE_GATTC_EVT_PRIM_SRVC_DISC_RSP&lt;/code&gt; event (you need to wait for that of course), analyze the response data and issue another command with modified parameters to move forward. I believe &lt;a href="http://infocenter.nordicsemi.com/topic/com.nordic.infocenter.s132.api.v4.0.2/group___b_l_e___g_a_t_t_c___p_r_i_m___s_r_v_c___d_i_s_c___m_s_c.html"&gt;this flow chart&lt;/a&gt; shows it nicely, there should be no problem or confusion when implementing it.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Discovery of 128bit UUID services confusing</title><link>https://devzone.nordicsemi.com/thread/110670?ContentTypeID=1</link><pubDate>Thu, 15 Jun 2017 10:45:23 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:5281bb6f-427b-4d99-9720-93a92105c4ff</guid><dc:creator>Tielman</dc:creator><description>&lt;p&gt;Ah, I see, so the object count is probably throwing me off (even though it does not make sense why it would sometimes end with a zero object event and sometimes not). I will give this a try while only looking at the returned handle range to keep reading until I get the 0xFFFF.&lt;/p&gt;
&lt;p&gt;When am I then supposed to issue the next services_discover command? If I issue it immediately after the &lt;code&gt;BLE_GATTC_EVT_PRIM_SRVC_DISC_RSP&lt;/code&gt; event, then it fails with a &lt;code&gt;BUSY&lt;/code&gt; because the GATT is still busy receiving the other GATT events (that it is not supposed to be giving me according to the softdevice manual). When is the right time to issue it?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Discovery of 128bit UUID services confusing</title><link>https://devzone.nordicsemi.com/thread/110669?ContentTypeID=1</link><pubDate>Thu, 15 Jun 2017 10:34:32 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:9cb3645f-8091-426b-8b55-59cfc78a7af5</guid><dc:creator>endnode</dc:creator><description>&lt;p&gt;... you find what you were looking for or until you reach end of range 0xFFFF (there typically is end of continuous handle space occupied by Primary Services - BT SIG specification requires GATT handles to be continuous at the beginning of the range! - and afterwards when you try to discover services on range 0xXYZ - 0xFFFF you get error (not found) which means that there are no more.&lt;/p&gt;
&lt;p&gt;For Characteristics and other objects it&amp;#39;s the same algorithm but only in sub-range of handles which belong to one Primary Service.&lt;/p&gt;
&lt;p&gt;Note that this time-consuming and little bit boring procedure must be done only if you are not sure which UUID you are looking for (e.g. if there might be more Services with such UUID and you want to see all) or if you want/need to map whole GATT Server &amp;quot;stack&amp;quot; (= all services). Otherwise you can use GATT method looking for particular UUID and it responds with handle range.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Discovery of 128bit UUID services confusing</title><link>https://devzone.nordicsemi.com/thread/110674?ContentTypeID=1</link><pubDate>Thu, 15 Jun 2017 10:30:16 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:fef46832-693e-4410-9e97-04a69a935ffe</guid><dc:creator>endnode</dc:creator><description>&lt;p&gt;I guess your problem is with understanding of &lt;code&gt;cnt&lt;/code&gt; (count) param: that&amp;#39;s saying how many &amp;quot;objects&amp;quot; (Services/Characteristics/whatever you were looking for) were found. But if that&amp;#39;s all or if there are more is said in start/end handle parameters. You need to go through each &amp;quot;object&amp;quot; and &amp;quot;reconstruct&amp;quot; handle space which is 1-65,535. You always issue that command on top of some range and until all objects reach the end you need to be issuing new commands with modified start parameter. Typical service discovery algorithm could look like this:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Discover Primary Services on range 0x0001 - 0xFFFF =&amp;gt; you get response with at least one Pirm Service object and handle range.&lt;/li&gt;
&lt;li&gt;Go through the response and verify that Primary Services are making &amp;quot;continuum&amp;quot;. If so then simply go back to the point one but start handle is now last Prim Service end handle + 1. Continue until...&lt;/li&gt;
&lt;/ol&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Discovery of 128bit UUID services confusing</title><link>https://devzone.nordicsemi.com/thread/110672?ContentTypeID=1</link><pubDate>Thu, 15 Jun 2017 10:12:02 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:509f3fed-648a-420a-9a0d-789b90aa3ac8</guid><dc:creator>Tielman</dc:creator><description>&lt;p&gt;Hi Jan&lt;/p&gt;
&lt;p&gt;Thanks so much for the detailed response. You definitely shed some light on steps that I might have been doing, but not fully understood. Thanks for that.&lt;/p&gt;
&lt;p&gt;I think that my original question does not quite relay my issue correctly (or maybe it does, but I just don&amp;#39;t understand it yet). I don&amp;#39;t (think) that I have an issue with the 128 bit uuid as such. I do already register my uuid using &lt;em&gt;sd_ble_uuid_vs_add&lt;/em&gt;(). I will break up my issue with the following steps that I follow:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;em&gt;ble_stack_init&lt;/em&gt;() =&amp;gt; All good&lt;/li&gt;
&lt;li&gt;err_code = &lt;em&gt;sd_ble_uuid_vs_add&lt;/em&gt;(&amp;amp;base_uuid, &amp;amp;uuid_sd_type ); // =&amp;gt; SUCCESS&lt;/li&gt;
&lt;li&gt;
&lt;h1&gt;Scan and connect to peripheral&lt;/h1&gt;
&lt;/li&gt;
&lt;li&gt;err_code = &lt;em&gt;sd_ble_gattc_primary_services_discover&lt;/em&gt;(conn_handle, 0x0001, NULL); // =&amp;gt; SUCCESS&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Now this is where it gets confusing. According to the softdevice manual, I should only be getting &lt;strong&gt;BLE_GATTC_EVT_PRIM_SRVC_DISC_RSP&lt;/strong&gt; event, yet, I am getting 3 different events:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;EVT RX: &lt;strong&gt;BLE_GATTC_EVT_PRIM_SRVC_DISC_RSP&lt;/strong&gt; =&amp;gt; svc_count = 2;
- SVC Handles: 0x1-0x4 - type:1 - uuid:0x1801
- SVC Handles: 0x5-0xb - type:1 - uuid:0x1800&lt;/li&gt;
&lt;li&gt;EVT RX: &lt;strong&gt;BLE_GATTC_EVT_CHAR_DISC_RSP&lt;/strong&gt; disc cnt=1: 0x2a05 - handle 0x3&lt;/li&gt;
&lt;li&gt;EVT RX: &lt;strong&gt;BLE_GATTC_EVT_CHAR_DISC_RSP&lt;/strong&gt; disc cnt=0: 0x2a05 - handle 0x3&lt;/li&gt;
&lt;li&gt;EVT RX: &lt;strong&gt;BLE_GATTC_EVT_DESC_DISC_RSP&lt;/strong&gt; disc cnt=1: 0x2902 - handle 0x4&lt;/li&gt;
&lt;li&gt;EVT RX: &lt;strong&gt;BLE_GATTC_EVT_PRIM_SRVC_DISC_RSP&lt;/strong&gt;: Count 0x0&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;According to what I have read, after issuing the &lt;em&gt;sd_ble_gattc_primary_services_discover&lt;/em&gt;() api call, I will receive &lt;strong&gt;BLE_GATTC_EVT_PRIM_SRVC_DISC_RSP&lt;/strong&gt; event. If the count is more than 0, there are more services to read and I need to do another call. If count=0, then there are no more services to read. Simple enough, except that I receive all of the above events with a single API call, ending with another &lt;strong&gt;BLE_GATTC_EVT_PRIM_SRVC_DISC_RSP&lt;/strong&gt; event, but with count=0.&lt;/p&gt;
&lt;p&gt;This does not line up with the softdevice manual at all and I don&amp;#39;t understand why:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;I&amp;#39;m getting the additional events&lt;/li&gt;
&lt;li&gt;why I get the second &lt;strong&gt;BLE_GATTC_EVT_PRIM_SRVC_DISC_RSP&lt;/strong&gt; event saying there are no more services, yet there are more events (btw, I get the exact same response sequence when I start reading from a handle that is a 128bit service)&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Please help&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Discovery of 128bit UUID services confusing</title><link>https://devzone.nordicsemi.com/thread/110668?ContentTypeID=1</link><pubDate>Wed, 14 Jun 2017 21:09:07 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ca9136fd-547a-41e6-ad7b-1a2219557009</guid><dc:creator>endnode</dc:creator><description>&lt;p&gt;Hi Tielman,&lt;/p&gt;
&lt;p&gt;As David suggested Nordic Soft Device work on (G)ATT layer with UUIDs represented as 128-bit base + 16-bit &amp;quot;short&amp;quot; UUID. All base UUIDs are listed in &amp;quot;virtual&amp;quot; table inside SD and instead of values APP can only get base UUID &amp;quot;index&amp;quot; + short UUID whenever it uses GATT API. By default when SD is initialized after boot it knows only one base UUID = BT SIG default 128-bit UUID (that&amp;#39;s quite logical). All other UUIDs will be referred as &amp;quot;UNKNOWN&amp;quot; base + short value. Now you have four options how to handle this:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;You don&amp;#39;t care about base because you work only with UUIDs defined by BT SIG in their 16-bit space.&lt;/li&gt;
&lt;li&gt;You work with any proprietary UUIDs so you will scale ATT table size during SD init properly and you provision all 128-bit bases right after it before starting to work with GATT API (note that you need to keep some internal base UUID table or system in your APP because since then SD returns only indexes and it&amp;#39;s up to the APP to link them to real UUIDs).&lt;/li&gt;
&lt;li&gt;You work with proprietary UUIDs but you cannot or don&amp;#39;t want to provision all the bases during SD init. Then you can simply wait until you discover some handle with UUID referred by SD as &amp;quot;UNKNOWN&amp;quot; base, read the Characteristic&amp;#39;s UUID handle &amp;quot;manually&amp;quot; and use response value (128-bit UUID) as base to provision SD for later use (so now it will get some specific index).&lt;/li&gt;
&lt;li&gt;Alternatively to previous point you can simply live with the fact that all proprietary UUIDs will be referred to &amp;quot;UNKNOWN&amp;quot; base and you need to verify full UUID by one (G)ATT Read method round-trip.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Btw. &lt;a href="https://devzone.nordicsemi.com/question/15930/s130-custom-uuid-service-discovery/"&gt;this thread&lt;/a&gt; has some source code examples (also with pretty old SD but I guess it still helps).&lt;/p&gt;
&lt;p&gt;Cheers Jan&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Discovery of 128bit UUID services confusing</title><link>https://devzone.nordicsemi.com/thread/110667?ContentTypeID=1</link><pubDate>Wed, 14 Jun 2017 13:56:24 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b0eaef5c-22b9-4466-9d00-81289e3d0e23</guid><dc:creator>DavidC</dc:creator><description>&lt;p&gt;The BLE_UUID_TYPE_BLE is working  fine for me, maybe this is thus the sensor has a Primary Service Declaration: Custom Service.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Discovery of 128bit UUID services confusing</title><link>https://devzone.nordicsemi.com/thread/110666?ContentTypeID=1</link><pubDate>Wed, 14 Jun 2017 13:45:11 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:eefd5903-8acf-4fd2-9ec4-84213010aab4</guid><dc:creator>Tielman</dc:creator><description>&lt;p&gt;Hi David&lt;/p&gt;
&lt;p&gt;Thanks for the answer. I am, however, already adding my 128bit UUIDs successfully. I can confirm this by doing a service discover and then seeing that the type is defined as a VENDER_SPECIFIC uuid.&lt;/p&gt;
&lt;p&gt;I edited my original post at the some moment you replied, so you might have missed some more detail.&lt;/p&gt;
&lt;p&gt;In summary, the first time a call service discovery, it responds with the ble services, characteristics and descriptors (not only services), followed by a service response with count = 0. Forcefully triggering another discovery after that works fine and does return the 128bit services, chars &amp;amp; descriptors, but this time it DOES NOT respond with the additional service event (with count = 0)&lt;/p&gt;
&lt;p&gt;PS. I noticed you declared your .type for your service as BLE_UUID_TYPE_BLE...should this not be BLE_UUID_TYPE_VENDOR_BEGIN for a 128bit UUID?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Discovery of 128bit UUID services confusing</title><link>https://devzone.nordicsemi.com/thread/110665?ContentTypeID=1</link><pubDate>Wed, 14 Jun 2017 13:35:23 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:6abd4808-3827-4fe7-8b7a-ba14ae386746</guid><dc:creator>DavidC</dc:creator><description>&lt;p&gt;Hi Tielman,&lt;/p&gt;
&lt;p&gt;I had the same problem, you need to add the SoftDevice the 128bit UUID and then ill reconize it as a 32 bit uuidd,in order to solve use
this&lt;/p&gt;
&lt;p&gt;uint32_t err_code;&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;err_code = sd_ble_uuid_vs_add(&amp;amp;quatServ128uuidd, &amp;amp;quatServ.type);

if (err_code != NRF_SUCCESS)
{
    NRF_LOG_INFO(&amp;quot;Failed to add the vendor-specific Quaternions service.\n&amp;quot;);
    return 4002;
}

// Find the Quaternios service. Calls back to on_service_discovery_response() via ble_evt_dispatch().
err_code = sd_ble_gattc_primary_services_discover(m_conn_handle[counter_conn-1],start_handle, NULL);
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;where  my uuids run as follow:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt; /**@Brief 32-bit UUID from the Quaternios service*/
 static ble_uuid_t quatServ =
 {
   .uuid = 0x0000, // this number are the bit 12 and 13 from my 128-bit uuid
    .type = BLE_UUID_TYPE_BLE
  };

 /**@Brief 128-bit UUID Quaternios service */
  ble_uuid128_t  quatServ128uuidd= {
	      {0xfb, 0x34, 0x9b, 0x5f, 0x80, 0x00, 0x00, 0x80, 0x00, 0x10, 0x00, 0x00, 0x00, 
           0x00, 0x00, 0x00}
  };
&lt;/code&gt;&lt;/pre&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>