<?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>Query related to pairing NRF24 Device to HOST using button.</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/67864/query-related-to-pairing-nrf24-device-to-host-using-button</link><description>Dear all, 
 Greetings!!! 
 I am using the NRF24LE1E module. I want to pair my device with host using a button. Button is available on device side. Please help me to do it. Please share the solution links related to this task.</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Fri, 13 Nov 2020 04:02:32 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/67864/query-related-to-pairing-nrf24-device-to-host-using-button" /><item><title>RE: Query related to pairing NRF24 Device to HOST using button.</title><link>https://devzone.nordicsemi.com/thread/279838?ContentTypeID=1</link><pubDate>Fri, 13 Nov 2020 04:02:32 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:770e374e-6130-4d33-8de0-a126d500aff5</guid><dc:creator>Nitesh Dubey</dc:creator><description>&lt;p&gt;Thank you for the clarifications.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Query related to pairing NRF24 Device to HOST using button.</title><link>https://devzone.nordicsemi.com/thread/279745?ContentTypeID=1</link><pubDate>Thu, 12 Nov 2020 13:43:16 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:639177e6-af48-4df1-8dbe-218148cf7fca</guid><dc:creator>H&amp;#229;kon Alseth</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
[quote user="Nitesh Dubey"]If I will press buttons on H1 and D2 then they will get paired and H1 and D1 will get free.[/quote]
&lt;p&gt;H1 and D2 can pair because they share&amp;nbsp;the same configuration, just like H2 and D1 does as well.&lt;/p&gt;
&lt;p&gt;Gazell was designed for desktop usages (keyboard, mice, remotes etc) in such a way that your devices should be able to re-pair again, if the user wanted this.&lt;/p&gt;
&lt;p&gt;You can have a check in your application, where you set a variable when a host_id has been accepted, and afterwards reject any incoming&amp;nbsp;HostID requests. However; this method needs added logic in case you really want to re-pair the host and&amp;nbsp;the device further down the line. I would recommend doing specific tests on this, to understand what gazell can offer, and what it does not offer, in your specific scenario.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Kind regards,&lt;/p&gt;
&lt;p&gt;Håkon&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Query related to pairing NRF24 Device to HOST using button.</title><link>https://devzone.nordicsemi.com/thread/279715?ContentTypeID=1</link><pubDate>Thu, 12 Nov 2020 12:42:18 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e5ece178-8a2c-4fce-b5a5-85b7b813de94</guid><dc:creator>Nitesh Dubey</dc:creator><description>&lt;p&gt;Thanks for your support.&amp;nbsp;I am using more than two pairs of host and device. Let me explain again, I named them as D1 and D2 to two devices and H1 and H2 to two hosts. There is buttons on host and devices for pairing. Now, If I want to pair H1 with D1 then I will press the buttons on H1 and D1 and&amp;nbsp;same for H2 and D2.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;If I will press buttons on H1 and D2 then they will get paired and H1 and D1 will get free.&lt;/p&gt;
&lt;p&gt;Please suggest some solutions and ideas if any.&lt;/p&gt;
&lt;p&gt;It will be appreciable.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Query related to pairing NRF24 Device to HOST using button.</title><link>https://devzone.nordicsemi.com/thread/279704?ContentTypeID=1</link><pubDate>Thu, 12 Nov 2020 12:20:14 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:8d69b271-732a-4420-9af4-3f042cdc01b9</guid><dc:creator>H&amp;#229;kon Alseth</dc:creator><description>&lt;p&gt;This is a restriction with gazell and gzp.&lt;/p&gt;
&lt;p&gt;There is only one device that can be used for an encrypted pipe. If you allow two devices to connect and request the &amp;quot;Host ID&amp;quot;, the former will be overwritten.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Query related to pairing NRF24 Device to HOST using button.</title><link>https://devzone.nordicsemi.com/thread/279663?ContentTypeID=1</link><pubDate>Thu, 12 Nov 2020 10:22:17 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:307b199b-9fbe-4bdd-a701-3ad3762df992</guid><dc:creator>Nitesh Dubey</dc:creator><description>&lt;p&gt;Thanks for your support. But, still the problem is same. Two or more deices getting paired with on host. This causes the out to fluctuate.&lt;pre class="ui-code" data-mode="text"&gt;#include &amp;quot;gzll_mcu.h&amp;quot;
#include &amp;quot;gzll.h&amp;quot;
#include &amp;quot;gzp.h&amp;quot;

#ifdef GZP_CRYPT_DISABLE
#error This example project uses gzp_crypt, please remove the definition &amp;quot;GZP_CRYPT_DISABLE&amp;quot;.
#endif

void main(void)
{
  bool send_crypt_data = false;
  bool tx_success = false;
  gzp_id_req_res_t id_req_status;
  uint8_t payload[GZLL_MAX_PAYLOAD_LENGTH];
  
  mcu_init();
  
  // Initialize Gazell Link Layer
  gzll_init();
  
  // Initialize Gazell Pairing Library
  gzp_init();

  EA = 1;

  for(;;)
  {      
    payload[0] = P0;
    
    // Send every other packet as encrypted data  
    
    if(send_crypt_data)
    {
      // Send encrypted packet using the Gazell pairing library
      tx_success = gzp_crypt_data_send(payload, GZP_ENCRYPTED_USER_DATA_MAX_LENGTH);
    }

    else
    
    {
      // Send packet as plaintext on pipe 2
      gzll_tx_data(payload, GZLL_MAX_FW_PAYLOAD_LENGTH, 2);   
      while(gzll_get_state() != GZLL_IDLE){
      }
      tx_success = gzll_tx_success();
    }
    send_crypt_data = !send_crypt_data;

    // If data transfer failed
    if(!tx_success)
    {
      // Send &amp;quot;system address request&amp;quot;. Needed for sending any user data to Host.
      gzp_address_req_send();
      
      // Send &amp;quot;Host ID request&amp;quot;. Needed for sending encrypted user data to host.
      id_req_status = gzp_id_req_send();
    }

    // If waiting for Host to grant or reject ID request
    if(id_req_status == GZP_ID_RESP_PENDING)
    {
      // Send new ID request for fetching response
      id_req_status = gzp_id_req_send();
    }
  }  
}&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;//program for device

#include &amp;quot;gzll_mcu.h&amp;quot;
#include &amp;quot;gzll.h&amp;quot;
#include &amp;quot;gzp.h&amp;quot;

#ifdef GZP_CRYPT_DISABLE
#error This example project uses gzp_crypt, please remove the definition &amp;quot;GZP_CRYPT_DISABLE&amp;quot;.
#endif

void main(void)
{
  bool send_crypt_data = false;
  bool tx_success = false;
  gzp_id_req_res_t id_req_status;
  uint8_t payload[GZLL_MAX_PAYLOAD_LENGTH];
  
  mcu_init();
  
  // Initialize Gazell Link Layer
  gzll_init();
  
  // Initialize Gazell Pairing Library
  gzp_init();

  EA = 1;

  for(;;)
  {      
    payload[0] = P0;
    
    // Send every other packet as encrypted data  
    
    if(send_crypt_data)
    {
      // Send encrypted packet using the Gazell pairing library
      tx_success = gzp_crypt_data_send(payload, GZP_ENCRYPTED_USER_DATA_MAX_LENGTH);
    }

    else
    
    {
      // Send packet as plaintext on pipe 2
      gzll_tx_data(payload, GZLL_MAX_FW_PAYLOAD_LENGTH, 2);   
      while(gzll_get_state() != GZLL_IDLE){
      }
      tx_success = gzll_tx_success();
    }
    send_crypt_data = !send_crypt_data;

    // If data transfer failed
    if(!tx_success)
    {
      // Send &amp;quot;system address request&amp;quot;. Needed for sending any user data to Host.
      gzp_address_req_send();
      
      // Send &amp;quot;Host ID request&amp;quot;. Needed for sending encrypted user data to host.
      id_req_status = gzp_id_req_send();
    }

    // If waiting for Host to grant or reject ID request
    if(id_req_status == GZP_ID_RESP_PENDING)
    {
      // Send new ID request for fetching response
      id_req_status = gzp_id_req_send();
    }
  }  
}&lt;/pre&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Query related to pairing NRF24 Device to HOST using button.</title><link>https://devzone.nordicsemi.com/thread/279558?ContentTypeID=1</link><pubDate>Wed, 11 Nov 2020 15:51:37 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b17871e2-c86d-499f-a2d2-fe9f4fa9e5d3</guid><dc:creator>H&amp;#229;kon Alseth</dc:creator><description>&lt;p&gt;The device sends a request, as per the functions in my first post.&lt;/p&gt;
&lt;p&gt;The host, can choose to&amp;nbsp;accept this, like this:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;    // If Host ID request received
    if(gzp_id_req_received())
    {
      // Always grant request
      gzp_id_req_grant();
    }&lt;/pre&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;If you do not want to&amp;nbsp;disable new pairing entries, you can disable the pairing pipe on the host using the function&amp;nbsp;gzp_pairing_enable()&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Kind regards,&lt;/p&gt;
&lt;p&gt;Håkon&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Query related to pairing NRF24 Device to HOST using button.</title><link>https://devzone.nordicsemi.com/thread/279476?ContentTypeID=1</link><pubDate>Wed, 11 Nov 2020 12:11:14 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:fc69523e-ec17-479a-aafe-d8d0af473c4c</guid><dc:creator>Nitesh Dubey</dc:creator><description>&lt;p&gt;I want to give a unique ID to each device (multiple hosts and multiple devices). If I will press buttons on host and device simultaneously, then they will get paired using this unique ID. Once they will get paired, only these two will communicate and other will get restricted.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Query related to pairing NRF24 Device to HOST using button.</title><link>https://devzone.nordicsemi.com/thread/278654?ContentTypeID=1</link><pubDate>Thu, 05 Nov 2020 15:51:58 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:997eb47e-64a4-4c6d-b60f-78c112ddc839</guid><dc:creator>H&amp;#229;kon Alseth</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;In nRFgo SDK, under docs, there&amp;#39;s a documentation file nrf_sdk.chm.&lt;/p&gt;
&lt;p&gt;Here you can find detailed information about how both Gazell and GZP works, under modules -&amp;gt;firmware -&amp;gt; RF protocol -&amp;gt; Gazell Pairing Library.&lt;/p&gt;
&lt;p&gt;Here it is, in case you don&amp;#39;t have it:&lt;/p&gt;
&lt;p&gt;&lt;a href="https://devzone.nordicsemi.com/cfs-file/__key/communityserver-discussions-components-files/4/0121.docs_5F00_nrfgo_5F00_sdk_5F00_v2.3.0.10040.zip"&gt;devzone.nordicsemi.com/.../0121.docs_5F00_nrfgo_5F00_sdk_5F00_v2.3.0.10040.zip&lt;/a&gt;&lt;/p&gt;
[quote user="Nitesh Dubey"]Now I am confused about how to set the id of Host and Device. Now I am stuck at this point. If any support is provided, I will be grateful.&amp;nbsp;[/quote]
&lt;p&gt;Which ID? Is there anything specific that is unclear?&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Kind regards,&lt;/p&gt;
&lt;p&gt;Håkon&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Query related to pairing NRF24 Device to HOST using button.</title><link>https://devzone.nordicsemi.com/thread/278590?ContentTypeID=1</link><pubDate>Thu, 05 Nov 2020 12:34:16 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d1b79b6b-cae6-4b55-94da-e8c6f9c6c290</guid><dc:creator>Nitesh Dubey</dc:creator><description>&lt;p&gt;Thank you very much&amp;nbsp;&lt;a class="internal-link view-user-profile" href="https://devzone.nordicsemi.com/members/hkn"&gt;H&amp;aring;kon Alseth&lt;/a&gt;. This helped me a lot. Now I am confused about how to set the id of Host and Device. Now I am stuck at this point. If any support is provided, I will be grateful.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Thanks again,&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Nitesh Dubey&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Query related to pairing NRF24 Device to HOST using button.</title><link>https://devzone.nordicsemi.com/thread/278134?ContentTypeID=1</link><pubDate>Mon, 02 Nov 2020 15:29:41 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:7ee8b60b-6ff2-490b-a5e1-184cdf685369</guid><dc:creator>H&amp;#229;kon Alseth</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;If you look at &amp;quot;gzll_device_w_dynamic_pairing&amp;quot; example in nRFgo SDK, these two function calls are what requests the pairing procedure:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;      // Send &amp;quot;system address request&amp;quot;. Needed for sending any user data to Host.
      gzp_address_req_send();
      
      // Send &amp;quot;Host ID request&amp;quot;. Needed for sending encrypted user data to host.
      id_req_status = gzp_id_req_send();
    }

    // If waiting for Host to grant or reject ID request
    if(id_req_status == GZP_ID_RESP_PENDING)
    {
      // Send new ID request for fetching response
      id_req_status = gzp_id_req_send();
    }&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Note that the above makes use of the encrypted pipe, which is restricted to only one device on the host side. For unencrypted pairing, only call the &amp;quot;gzp_address_req_send()&amp;quot; function (remember to check the return value).&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Kind regards,&lt;/p&gt;
&lt;p&gt;Håkon&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>