<?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>Multiceiver with 3 Devices Using nrf24L01+</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/4424/multiceiver-with-3-devices-using-nrf24l01</link><description>I am trying to setup and use the multiceiver scenario. I have setup 4 devices, with one PRX and 3 PTX. I can only get 2 of the PTX to work, but no more. I am aware that by default only Pipe0 and Pipe1 are enabled, and I think I am enabling them all. </description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Wed, 12 Nov 2014 21:38:07 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/4424/multiceiver-with-3-devices-using-nrf24l01" /><item><title>RE: Multiceiver with 3 Devices Using nrf24L01+</title><link>https://devzone.nordicsemi.com/thread/15704?ContentTypeID=1</link><pubDate>Wed, 12 Nov 2014 21:38:07 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:1f1a58df-7b31-4962-9c7c-b10cc782b860</guid><dc:creator>Zsoftnet</dc:creator><description>&lt;p&gt;Ok, problem solved.  I was  doing 2 things wrong, and I missed it somehow in the documentation.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;The LSByte issue - I was using addresses in form  base + 1, base + 2, etc and should have used  1 + base, 2 + base to generate the pipe1-5 addresses.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;More importantly, I missed the fact that addresses 2-5 are only 1 byte, and not 5 as the rest, so I was setting  addresses  in the form above, but for  pipe address 2-5, I should have only used the 1, 2, 3 etc and not include the base in it.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Multiceiver with 3 Devices Using nrf24L01+</title><link>https://devzone.nordicsemi.com/thread/15707?ContentTypeID=1</link><pubDate>Wed, 12 Nov 2014 19:04:16 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:1cd8812d-bbd3-4e24-8a13-3e84f32b2af1</guid><dc:creator>Zsoftnet</dc:creator><description>&lt;p&gt;Just to add some clarification and what I am doing, but seems pipe1 does not have a good address?&lt;/p&gt;
&lt;p&gt;I set the addresses as follows:&lt;/p&gt;
&lt;p&gt;for (int i = 0; i &amp;lt; numberOfPipes; i++)&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;            {
                if (i == 0)
                    Execute(Commands.W_REGISTER, Registers.RX_ADDR_P0, &amp;quot;HUB00&amp;quot;);
                else if (i == 1)
                    Execute(Commands.W_REGISTER, Registers.RX_ADDR_P1, Encoding.UTF8.GetBytes(&amp;quot;NETP&amp;quot; + i));
                else if (i == 2)
                    Execute(Commands.W_REGISTER, Registers.RX_ADDR_P2, Encoding.UTF8.GetBytes(&amp;quot;NETP&amp;quot; + i));
                else if (i == 3)
                    Execute(Commands.W_REGISTER, Registers.RX_ADDR_P3, Encoding.UTF8.GetBytes(&amp;quot;NETP&amp;quot; + i));
                else if (i == 4)
                    Execute(Commands.W_REGISTER, Registers.RX_ADDR_P4, Encoding.UTF8.GetBytes(&amp;quot;NETP&amp;quot; + i));
                else if (i == 5)
                    Execute(Commands.W_REGISTER, Registers.RX_ADDR_P5, Encoding.UTF8.GetBytes(&amp;quot;NETP&amp;quot; + i));

            }
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Then the output for the registers is like this:&lt;/p&gt;
&lt;p&gt;EN_AA:      0000001100001111 HEX 0E3F&lt;/p&gt;
&lt;p&gt;EN_RXADDR:  0000001100001111 HEX 0E3F&lt;/p&gt;
&lt;p&gt;RX_ADDR_P0: 0000001100011111 HEX 0E48&lt;/p&gt;
&lt;p&gt;RX_ADDR_P1: 0000001100011111 HEX 0E4E&lt;/p&gt;
&lt;p&gt;RX_ADDR_P2: 0000001100001111 HEX 0E32&lt;/p&gt;
&lt;p&gt;RX_ADDR_P3: 0000001100001111 HEX 0E33&lt;/p&gt;
&lt;p&gt;RX_ADDR_P4: 0000001100001111 HEX 0E34&lt;/p&gt;
&lt;p&gt;RX_ADDR_P5: 0000001100001111 HEX 0E35&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Multiceiver with 3 Devices Using nrf24L01+</title><link>https://devzone.nordicsemi.com/thread/15706?ContentTypeID=1</link><pubDate>Wed, 12 Nov 2014 18:23:01 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:bf96452f-70d8-4691-aac9-30ee0acb76b0</guid><dc:creator>Zsoftnet</dc:creator><description>&lt;p&gt;Thanks for the clarification and the answer. I see that I was writing values twice and removed that.  Here is what I use to create the addresses, and then the values in the registers after that on the  PRX:&lt;/p&gt;
&lt;p&gt;//primary address of PRX&lt;/p&gt;
&lt;p&gt;myAddress = Encoding.UTF8.GetBytes(&amp;quot;HUB00&amp;quot;);&lt;/p&gt;
&lt;p&gt;//addreses of the other 3 PTXs first matches the PRX address&lt;/p&gt;
&lt;p&gt;clients[0] = Encoding.UTF8.GetBytes(&amp;quot;HUB00&amp;quot;);&lt;/p&gt;
&lt;p&gt;clients[1] = Encoding.UTF8.GetBytes(&amp;quot;NETP&amp;quot; + 1);&lt;/p&gt;
&lt;p&gt;clients[2] = Encoding.UTF8.GetBytes(&amp;quot;NETP&amp;quot; + 2);&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Relevant Registers&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;EN_AA:          0000001100001111 HEX 0E3F&lt;/p&gt;
&lt;p&gt;EN_RXADDR:  0000001100001111 HEX 0E3F&lt;/p&gt;
&lt;p&gt;RX_ADDR_P0: 0000001100111111 HEX 0EE7&lt;/p&gt;
&lt;p&gt;RX_ADDR_P1: 0000001100011111 HEX 0E4E&lt;/p&gt;
&lt;p&gt;RX_ADDR_P2: 0000001100001111 HEX 0E32&lt;/p&gt;
&lt;p&gt;RX_ADDR_P3: 0000001100111111 HEX 0EC4&lt;/p&gt;
&lt;p&gt;RX_ADDR_P4: 0000001100111111 HEX 0EC5&lt;/p&gt;
&lt;p&gt;RX_ADDR_P5: 0000001100111111 HEX 0EC6&lt;/p&gt;
&lt;p&gt;Thanks.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Multiceiver with 3 Devices Using nrf24L01+</title><link>https://devzone.nordicsemi.com/thread/15705?ContentTypeID=1</link><pubDate>Wed, 12 Nov 2014 15:52:05 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:093065be-fd48-44cc-adf6-dbff33c2e273</guid><dc:creator>Asbj&amp;#248;rn</dc:creator><description>&lt;p&gt;It seems like you are writing twice to the RX_ADDR_Px registers. What&amp;#39;s the actual value of BaseAddress and the slot0Address? Are you sure you are writing pipe1 and pipe2 addresses in the correct way. Could it be that you are writing it the opposite way with regard to LSB and MSB? This would explain why pipe1 works, but pipe2 doesn&amp;#39;t.&lt;/p&gt;
&lt;p&gt;Also, could you read out the register values after you have configured them to make sure that they match with what you intend them to be?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>