<?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 host not responding to more than 3 pipes</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/6577/gzll-host-not-responding-to-more-than-3-pipes</link><description>I am trying to set up a GZLL star network on the 51822. I understand that a single GZLL host can support up to eight devices but whenever my host attempts to communicate with more than 2 devices each communicating under a unique pipe the host controller</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Wed, 29 Apr 2015 13:29:04 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/6577/gzll-host-not-responding-to-more-than-3-pipes" /><item><title>RE: GZLL host not responding to more than 3 pipes</title><link>https://devzone.nordicsemi.com/thread/22965?ContentTypeID=1</link><pubDate>Wed, 29 Apr 2015 13:29:04 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:0ecf047b-3472-41a0-8047-23b790a7e447</guid><dc:creator>H&amp;#229;kon Alseth</dc:creator><description>&lt;p&gt;This is because you have limited space in your FIFO on the host side. You cannot upload more than 3 ACK-payloads. To resolve this, you will have to handle this on the host and device side. The device can simply send the command &amp;quot;Prepare an ACK payload for me&amp;quot;, and then the host recognizes this command and uploads a packet into the host-FIFO. Then the device can send another payload to fetch the ACK-payload from the host. Or you can do this the other way around. Device can send payload #1, then if it has not received an ACK-payload, it sends dummy-payload #2 to retrieve the ACK-payload.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: GZLL host not responding to more than 3 pipes</title><link>https://devzone.nordicsemi.com/thread/22963?ContentTypeID=1</link><pubDate>Tue, 21 Apr 2015 20:09:41 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:6edc1a31-7d0a-4e20-a30b-38a317fb2e8e</guid><dc:creator>sean</dc:creator><description>&lt;p&gt;Hi Håkon, thank you for the response. I don&amp;#39;t really understand what the device sending two payloads is supposed to accomplish or how that would be implemented on the host side. My host is the one reporting the insufficient packet error so wouldn&amp;#39;t I need to be doing something on the host side to alleviate this issue?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: GZLL host not responding to more than 3 pipes</title><link>https://devzone.nordicsemi.com/thread/22964?ContentTypeID=1</link><pubDate>Tue, 21 Apr 2015 11:06:47 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:67af401b-e264-4284-a653-30f6cb4c9642</guid><dc:creator>H&amp;#229;kon Alseth</dc:creator><description>&lt;p&gt;Hi Sean, That makes sense. You have filled up your FIFO, and the device is not fetching the ack-payload fast enough. If you instead send two payloads from the device.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;prepare ACK-payload&lt;/li&gt;
&lt;li&gt;dummy-payload to fetch payload&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Then it should work properly.&lt;/p&gt;
&lt;p&gt;Cheers,
Håkon&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: GZLL host not responding to more than 3 pipes</title><link>https://devzone.nordicsemi.com/thread/22962?ContentTypeID=1</link><pubDate>Mon, 20 Apr 2015 17:44:58 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ac47494d-f5c5-4a8c-a97b-b2b037462597</guid><dc:creator>sean</dc:creator><description>&lt;p&gt;Thank you for your response Håkon. I am using the example project &amp;quot;gzll_ack_payload&amp;quot;. I have one programmed with the host firmware and three programmed with the device firmware. The pipe in each of the devices is set to 0, 1, and 2.&lt;/p&gt;
&lt;p&gt;I power up the host first. I then power up device with pipe 0 and everything is fine. I then power up device with pipe 1 and everything is fine. The moment I power up the device using pipe 2, all communications cease. This works invariably with the devices powering up in any order (e.g. If I power up 1 and 2 first and pipe 0 last then everything freezes when pipe 0 comes online).&lt;/p&gt;
&lt;p&gt;EDIT: It seems the host is returning errors on &amp;#39;nrf_gzll_add_packet_to_tx_fifo&amp;#39;. The error return value corresponds to NRF_GZLL_ERROR_CODE_INSUFFICIENT_PACKETS_AVAILABLE. This only happens when the third pipe tries to communicate with the host.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: GZLL host not responding to more than 3 pipes</title><link>https://devzone.nordicsemi.com/thread/22961?ContentTypeID=1</link><pubDate>Mon, 20 Apr 2015 14:39:31 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ce522300-6f9f-4c37-b26f-cfb92c0ba49d</guid><dc:creator>H&amp;#229;kon Alseth</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;It is correct that each device shall communicate with the host using an unique pipe. If you setup two devices on the same pipe (ie: same RF address), you will get a collision and your communication will not work properly.&lt;/p&gt;
&lt;p&gt;If I understand correctly, the communication works with 8 devices -&amp;gt; 1 host, but the ACK payload is unreliable? If yes, could you please elaborate on what&amp;#39;s happening?&lt;/p&gt;
&lt;p&gt;Note that the host only has a 3 payload deep buffer in the FIFO. This means that if you upload 3 payloads on one pipe, where the device seldom sends payloads to the host (device does not poll the host often enough compared to other devices), you will use up all the space and block other devices from receiving an ack-payload.&lt;/p&gt;
&lt;p&gt;In general; it is very important to check your error codes given by the gazell function calls to see if there is anything that&amp;#39;s failing.&lt;/p&gt;
&lt;p&gt;Cheers,
Håkon&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>