<?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>nRF24L01+ ACK with payload basic question</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/10691/nrf24l01-ack-with-payload-basic-question</link><description>After some days trying a very simple tx/rx, reading each page of the manual, looking at at this developer zone, etc. I&amp;#180;m still in trouble, with many distinct partial results, but none with a complete round trip. 
 I think it would be very helpfull to</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Wed, 11 Jan 2017 15:50:14 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/10691/nrf24l01-ack-with-payload-basic-question" /><item><title>RE: nRF24L01+ ACK with payload basic question</title><link>https://devzone.nordicsemi.com/thread/39916?ContentTypeID=1</link><pubDate>Wed, 11 Jan 2017 15:50:14 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:87e80c10-d210-4fc3-9938-080392c3e01c</guid><dc:creator>mr_creosote</dc:creator><description>&lt;p&gt;I received this sample project,&lt;a href="https://devzone.nordicsemi.com/cfs-file/__key/communityserver-discussions-components-files/4/7002.Echo_5F00_ack_5F00_pl_5F00_ESB.zip"&gt;Echo_ack_pl_ESB.zip&lt;/a&gt;, for the nRF24LE1, which contains an 8051 uP and an nRF24L01+ in one chip. The uP and RF parts communicate with each other via SPI internally, so you should be able to see the code and burrow down into its underlying SDK (nRFgo SDK) to see the actual calls being made. Hope this helps.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nRF24L01+ ACK with payload basic question</title><link>https://devzone.nordicsemi.com/thread/39915?ContentTypeID=1</link><pubDate>Mon, 14 Dec 2015 10:42:31 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:31aaae6c-77c7-4d72-b815-859213181afd</guid><dc:creator>H&amp;#229;kon Alseth</dc:creator><description>&lt;p&gt;Hi, This looks correct from the PTX side config, but your handling of data is not correct. You should read the STATUS register, and write the content back to the STATUS register, not assuming all bits are set. It&amp;#39;s important that you do not use a switch-case for masking the STATUS register, as there can be several bits set. Use a series of if-sentences: if (RX_DR){}, if (TX_DS){}, if (MAX_RT){}&lt;/p&gt;
&lt;p&gt;You should have the exact same configuration on the PRX side, besides CONFIG |= 0x01 for setting PRX mode. On your PRX when receiving an PAYLOAD, you can upload an ACK payload using cmd &amp;quot;W_ACK_PAYLOAD&amp;quot;.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nRF24L01+ ACK with payload basic question</title><link>https://devzone.nordicsemi.com/thread/39914?ContentTypeID=1</link><pubDate>Tue, 08 Dec 2015 22:36:43 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b0108162-5e63-4854-85bf-b14c6924afac</guid><dc:creator>joseLB</dc:creator><description>&lt;p&gt;Thanks Hakon for your answer. Folows what I did in a PIC 16F + the results I got.&lt;/p&gt;
&lt;p&gt;I need to transmit a 7 byte msg, 3 (tried with 5 too)., and to  receive auto ack+payload of 7 bytes in any channel/pipe.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;PTX side:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;INITIAL SETUP:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;CONFIG   =&amp;gt; %00001110&lt;/li&gt;
&lt;li&gt;SETUP_AW =&amp;gt; $03&lt;/li&gt;
&lt;li&gt;RX_ADDR_P0 (reg.$A0) =&amp;gt; $41 42 43 [C2 C2] 3/5 bytes addr&lt;/li&gt;
&lt;li&gt;TX_ADDR (reg. $10) =&amp;gt; $41 42 43 [C2   C2]&lt;/li&gt;
&lt;li&gt;EN_RXADDR =&amp;gt; $01&lt;/li&gt;
&lt;li&gt;SETUP_RETR   =&amp;gt; $92&lt;/li&gt;
&lt;li&gt;RF_CH =&amp;gt; $0A&lt;/li&gt;
&lt;li&gt;RF_SETUP =&amp;gt; %00000110&lt;/li&gt;
&lt;li&gt;STATUS =&amp;gt; $70&lt;/li&gt;
&lt;li&gt;FEATURE=&amp;gt; %00000110&lt;/li&gt;
&lt;li&gt;DYNPD =&amp;gt; %0000001&lt;/li&gt;
&lt;li&gt;cmd-&amp;gt; FLUSH_TX, FLUSH_RX&lt;/li&gt;
&lt;/ul&gt;
&lt;hr /&gt;
&lt;p&gt;&lt;strong&gt;LOOP send data each 2sec:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;ul&gt;
&lt;li&gt;{&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;read/print status register&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;write status   ==&amp;gt; $07&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;TX_ADDR (reg. $10)=&amp;gt; $41 42 43&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;W_TX_PAYLOAD=&amp;gt; $20 11 11 22 22 33 33&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;CONFIG=&amp;gt; %00001110&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;CE = 1 for 15 uS&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;wait 40mS (read/print registers)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;flush TX,    flush RX&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;wait 2 secs }  --&amp;gt; ps: at this time I´m just trying to transmit, so I´m NOT reading ack+payload received.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;==&amp;gt; &lt;strong&gt;DO you believe this is the right register setting and code to be able to transmit? Anything missing or out of sequence?&lt;/strong&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nRF24L01+ ACK with payload basic question</title><link>https://devzone.nordicsemi.com/thread/39913?ContentTypeID=1</link><pubDate>Tue, 08 Dec 2015 11:39:51 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c450d485-8a52-4099-97d8-329e2e336f9c</guid><dc:creator>H&amp;#229;kon Alseth</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;The nRF24L01+ is a radio transceiver. It does not include any MCU, just a SPI Slave interface that you control the device over. Since the nRF24L01+ can be controlled by any microcontroller with an SPI Master interface, it is hard to provide you with one working example, as there are just so many MCU-options to choose from.&lt;/p&gt;
&lt;p&gt;In order to send ACK payloads back and forth with two nRF24L01+ transceivers, you will need two setup both radios to share the same configuration except that one is on PRX mode and the other in PTX mode.&lt;/p&gt;
&lt;p&gt;Please see the &amp;quot;FEATURE&amp;quot; register in the nRF24L01+ datasheet, page 62.
The three fields in this register must all be enabled, and to upload ACK_PLD on the PRX side, you need to do this with command &amp;quot;W_ACK_PAYLOAD&amp;quot; as described in page 51 in the datasheet.&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: nRF24L01+ ACK with payload basic question</title><link>https://devzone.nordicsemi.com/thread/39912?ContentTypeID=1</link><pubDate>Mon, 07 Dec 2015 14:20:05 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:0f11e148-4d18-437d-ba1a-32fff72930f2</guid><dc:creator>joseLB</dc:creator><description>&lt;p&gt;I still could not find &lt;strong&gt;any simple working example&lt;/strong&gt; all this site long, that shows a complete working example &lt;strong&gt;for nrf24L01+&lt;/strong&gt;: one PTX transmit -&amp;gt; one PRX receive+ack+payload -&amp;gt; the PTX receives ack+payload.&lt;/p&gt;
&lt;p&gt;There are questions very similar and the problem is always almost the same: Partial results. For example, if both sides become  ACK+PLD then PRX does not receive anymore (it was receiving when PTX/PRX where fixed lenght). &lt;a href="https://devzone.nordicsemi.com/question/17233/nrf24l01-ack-payload-setting/"&gt;devzone.nordicsemi.com/.../&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I think the &lt;strong&gt;&lt;em&gt;final&lt;/em&gt;&lt;/strong&gt; answer resides in the details, something is being &amp;quot;lost&amp;quot; during setup, besides registers, timings, sequences of register setups, etc.&lt;/p&gt;
&lt;p&gt;So, a basic &lt;strong&gt;complete&lt;/strong&gt; and working example for &lt;strong&gt;nrf24L01+&lt;/strong&gt; and not for a &amp;quot;&lt;em&gt;almost identical chip&lt;/em&gt;&amp;quot; would help a lot. (just one pipe, just one PTX and one PRX, just basic address, just fixed messages size (if it cares), etc.)&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>