<?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>Gzll protocol  lost connection if loss power occured</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/11420/gzll-protocol-lost-connection-if-loss-power-occured</link><description>Hi, I use Gzll protocol to realize 2.4G frequency hopping communication， Two Device send data to One Host on Pipe1 and Pipe2. 
 1 Two Devices occur &amp;quot;loss power&amp;quot; many times during communication,but the Host keeps on during this time, and then both of</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Tue, 26 Jan 2016 12:10:27 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/11420/gzll-protocol-lost-connection-if-loss-power-occured" /><item><title>RE: Gzll protocol  lost connection if loss power occured</title><link>https://devzone.nordicsemi.com/thread/43067?ContentTypeID=1</link><pubDate>Tue, 26 Jan 2016 12:10:27 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:bf0dd6de-535c-49d2-a56e-4f2b44b4dfef</guid><dc:creator>Kenneth</dc:creator><description>&lt;p&gt;As long as the device has not received an ACK it will continuously retransmit, thereby the host will also retransmit ACK packet. For this to work the host should stay in receive mode to ensure that the ACK packet is transmitted before switching address.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Gzll protocol  lost connection if loss power occured</title><link>https://devzone.nordicsemi.com/thread/43066?ContentTypeID=1</link><pubDate>Tue, 26 Jan 2016 01:49:27 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c319292c-9a8a-46d7-956e-e407f12fac66</guid><dc:creator>chenyu</dc:creator><description>&lt;p&gt;Thanks you for your answer, Do you mean host can re-transmit Ack automaticly if ACK payload send fail?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Gzll protocol  lost connection if loss power occured</title><link>https://devzone.nordicsemi.com/thread/43065?ContentTypeID=1</link><pubDate>Sat, 23 Jan 2016 08:19:21 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ee3a886b-abb2-4a40-b2cb-289d22cefa98</guid><dc:creator>chenyu</dc:creator><description>&lt;p&gt;Please refer to my flow chart, thank you!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Gzll protocol  lost connection if loss power occured</title><link>https://devzone.nordicsemi.com/thread/43064?ContentTypeID=1</link><pubDate>Sat, 23 Jan 2016 02:19:36 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d0b0ea64-ee51-41c2-a02f-299756d78fd9</guid><dc:creator>chenyu</dc:creator><description>&lt;p&gt;Thanks! The problem havn&amp;#39;t happend on example&amp;quot;gzll_ack_payload&amp;quot;, Since my way is different from the example, I want a Device get pair with a Host.
All my Host and Device have the same
BASE_ADDR0 and PIPE0_ADDR. A Device send pair requirement to a Host through pipe0, the Host generate a random number and then write it to BASE_ADDR1 &amp;amp; PIPE1  after it get the pair requirement from device on pipe0, and then send the random addr data as ACK to Device on pipe0. The Devcie get the new BASE_ADDR1 &amp;amp; PIPE1 data from ACK and write them to BASE_ADDR1 &amp;amp; PIPE1. After above operation, the Device and Host finish pair operation and they communicate on pipe1. The passageway can work when there is only one Device and One Host, But when the Device number increase to more than one. The problem in my question will occer.
Thank you!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Gzll protocol  lost connection if loss power occured</title><link>https://devzone.nordicsemi.com/thread/43063?ContentTypeID=1</link><pubDate>Fri, 22 Jan 2016 10:18:56 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:6eb2d9f4-679c-4736-8c15-14c01ae81ca0</guid><dc:creator>Kenneth</dc:creator><description>&lt;p&gt;This doesn&amp;#39;t sound familiar. If I understand you correct, you experience that if you power cycle the devices, then they can no longer communicate.&lt;/p&gt;
&lt;p&gt;Does it also occur with the default project in the SDK for Gazell? E.g.:&lt;/p&gt;
&lt;p&gt;\nRF5_SDK_11.0.0-2.alpha_bc3f6a0\examples\proprietary_rf\gzll\gzll_ack_payload&lt;/p&gt;
&lt;p&gt;If your protocol depends on device and host change addresses on the fly, always make sure that the device stay in receive mode for a period of time after receiving a packet from the host (e.g. 20ms). This to ensure that the ACK in reverse direction is successfully sent, in case of interference there might be re-transmissions required.&lt;/p&gt;
&lt;p&gt;So something along the lines of:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Device receive packet, and add ACK payload.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Device stay in receive mode for additional 20ms to ensure ACK is sent.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Device change address.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>