<?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>Why am I getting no ACKs from an nRF24L01p in PRx mode?</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/24465/why-am-i-getting-no-acks-from-an-nrf24l01p-in-prx-mode</link><description>Hi folks, I&amp;#39;m making progress with a program to get two nRF24L01p modules communicating with each other, but there are a couple of remaining problems. I hope someone can help with them, please: 
 
 The PTX module seems to be transmitting my 3-byte payloads</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Mon, 28 Aug 2017 04:54:33 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/24465/why-am-i-getting-no-acks-from-an-nrf24l01p-in-prx-mode" /><item><title>RE: Why am I getting no ACKs from an nRF24L01p in PRx mode?</title><link>https://devzone.nordicsemi.com/thread/96324?ContentTypeID=1</link><pubDate>Mon, 28 Aug 2017 04:54:33 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:bb76177b-9b77-49a0-b4d8-0fafc7273ef5</guid><dc:creator>ovrebekk</dc:creator><description>&lt;p&gt;I am glad to hear it. The best of luck with your project :)&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Why am I getting no ACKs from an nRF24L01p in PRx mode?</title><link>https://devzone.nordicsemi.com/thread/96325?ContentTypeID=1</link><pubDate>Sat, 26 Aug 2017 22:01:02 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:aebd8524-ed83-46bf-9f25-b75c4c424472</guid><dc:creator>JimR</dc:creator><description>&lt;p&gt;Hi Torbjorn,&lt;/p&gt;
&lt;p&gt;Thanks for that further explanation. All is working well now, thanks to your help.
Best Regards,
JimR&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Why am I getting no ACKs from an nRF24L01p in PRx mode?</title><link>https://devzone.nordicsemi.com/thread/96321?ContentTypeID=1</link><pubDate>Fri, 25 Aug 2017 06:55:12 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:7be35ff4-8e45-4d08-9d5e-28ca6d5dc00f</guid><dc:creator>ovrebekk</dc:creator><description>&lt;p&gt;Hi Jim&lt;/p&gt;
&lt;p&gt;If you only switch during startup it shouldn&amp;#39;t be a problem.&lt;/p&gt;
&lt;p&gt;The reason I brought it up is that I have seen people inventing &amp;#39;clever&amp;#39; schemes to switch between PTX and PRX dynamically, in an attempt to support bi-directional data. The idea behind ESB is that you can use the ACK payload feature to support bi-directional data without having to change modes in this fashion.&lt;/p&gt;
&lt;p&gt;The problem of switching is that you mess up the state of the protocol, and might lose any packets already queued in the TX/RX FIFO&amp;#39;s, which might be the reason for the glitch you noticed.
If you use the radio in legacy Shockburst mode, then switching from TX to RX is more straight forward, since in this mode there is no ACK&amp;#39;ing or retransmissions going on, and the state machine in the radio is much simpler.&lt;/p&gt;
&lt;p&gt;Best regards&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Why am I getting no ACKs from an nRF24L01p in PRx mode?</title><link>https://devzone.nordicsemi.com/thread/96322?ContentTypeID=1</link><pubDate>Thu, 24 Aug 2017 23:37:05 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:bb69fd40-ff97-4704-a15d-fbef2200bc30</guid><dc:creator>JimR</dc:creator><description>&lt;p&gt;Hi again Torbjorn,&lt;/p&gt;
&lt;p&gt;This is just to advise that I changed the TX_ADDR and the RX_ADDR_P0 address for both devices to E7E7E7E7E7 as you suggested, and they are now exchanging data and ACKs nicely -- apart from a &amp;#39;glitch&amp;#39; or two if they are swapped from PRX--&amp;gt;PTX and RTX--&amp;gt;PRX dynamically. Is that what you meant?  If so, I believe it&amp;#39;s acceptable.  Thanks again for your help, Torbjorn!  Jim R&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Why am I getting no ACKs from an nRF24L01p in PRx mode?</title><link>https://devzone.nordicsemi.com/thread/96323?ContentTypeID=1</link><pubDate>Thu, 24 Aug 2017 21:51:28 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:0e1db521-d38b-4228-a48f-5e8d8411ba5b</guid><dc:creator>JimR</dc:creator><description>&lt;p&gt;Hi Torbjorn,&lt;/p&gt;
&lt;p&gt;Thanks for that very helpful and clear answer. In my code I do allow a user to switch between PTX and PRX dynamically, although they would probably only do it once during startup -- just as the switch between Radio0 and Radio1. Is this likely to cause problems, and if so is there any way to avoid the problem? Thanks, Torbjorn.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Why am I getting no ACKs from an nRF24L01p in PRx mode?</title><link>https://devzone.nordicsemi.com/thread/96320?ContentTypeID=1</link><pubDate>Thu, 24 Aug 2017 13:28:18 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:55308212-499e-421b-92b9-8fa06a27f84b</guid><dc:creator>ovrebekk</dc:creator><description>&lt;p&gt;Hi Jim&lt;/p&gt;
&lt;p&gt;The one law of nature that you must abide by is that when either kit is in PTX mode RX_ADDR_P0 and TX_ADDR has to be the same. Otherwise the ACK&amp;#39;s will never be received, and the PTX will assume that the PRX didn&amp;#39;t receive anything.&lt;/p&gt;
&lt;p&gt;I think the easiest way to do what you want is to simply set TX_ADDR and RX_ADDR_P0 on both sides to E7E7E7E7E7.&lt;/p&gt;
&lt;p&gt;Using the same code for both devices can be a bit tricky, as you have to be careful with the timing when switching from PTX to PRX mode or vice versa. Are you planning to switch between PTX and PRX dynamically as the devices are running, or just once during startup?&lt;/p&gt;
&lt;p&gt;Best regards&lt;br /&gt;
Torbjørn&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Why am I getting no ACKs from an nRF24L01p in PRx mode?</title><link>https://devzone.nordicsemi.com/thread/96316?ContentTypeID=1</link><pubDate>Tue, 22 Aug 2017 21:59:30 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:0043caff-f41c-43af-ab0a-ec20c224a45e</guid><dc:creator>JimR</dc:creator><description>&lt;p&gt;Hi again Torbjorn,
Actually I probably made a mistake in providing that configuration info, so I want to make things a bit clearer. Since I&amp;#39;m using the same code in both the PRX and PTX modules, what I&amp;#39;m doing is calling the two modules Radio0 and Radio1, and then when a module is running as Radio0, I set its two pipe addresses to:
RX_ADDR_P0: E7E7E7E7E7  and TX_ADDR: C2C2C2C2C2.
then when the module is to run as Radio1, I set its two pipe addresses to:
RX_ADDR_P1: C2C2C2C2C2 and TX_ADDR: E7E7E7E7E7.
I&amp;#39;m so confused now that I can&amp;#39;t decide if these are right or wrong. Can you please put me straight?
Thanks Torbjorn, JimR&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Why am I getting no ACKs from an nRF24L01p in PRx mode?</title><link>https://devzone.nordicsemi.com/thread/96315?ContentTypeID=1</link><pubDate>Tue, 22 Aug 2017 21:44:56 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:9f412de6-7fcc-4250-bcb3-de5c1ede9c08</guid><dc:creator>JimR</dc:creator><description>&lt;p&gt;Thanks, Torbjorn. I hadn&amp;#39;t quite understood clearly about the need to have the pipe 0 address in the PTX the same as that in the PRX, for auto ACK to take place correctly. But I&amp;#39;m still puzzled about the way that my two modules were communicating properly in one direction (with full ACKs and payloads from the PRX), but not in the other direction. Anyway, I&amp;#39;ll try fixing up the addresses and see if it then works properly in both directions.  Thanks! JimR&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Why am I getting no ACKs from an nRF24L01p in PRx mode?</title><link>https://devzone.nordicsemi.com/thread/96314?ContentTypeID=1</link><pubDate>Tue, 22 Aug 2017 14:33:23 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e064074c-49f2-424e-bb87-5e1796a78eb2</guid><dc:creator>ovrebekk</dc:creator><description>&lt;p&gt;Hi Jim&lt;/p&gt;
&lt;p&gt;The config looks mostly correct, but the address configuration is a bit nontraditional.&lt;br /&gt;
When using any of the ESB features (auto ACK and so forth) it is critical that the pipe 0 address in the PTX is the same as the address you are sending to in the PRX, since the ACK is being received on pipe 0.&lt;/p&gt;
&lt;p&gt;In other words, with the configuration above you will not be able to transmit to pipe 0 in the PRX, since it has a different address than pipe 0 in the PTX. If you try to transmit to pipe 1 in the PRX it should work, but I don&amp;#39;t know if that&amp;#39;s what you are doing?&lt;/p&gt;
&lt;p&gt;Best regards&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Why am I getting no ACKs from an nRF24L01p in PRx mode?</title><link>https://devzone.nordicsemi.com/thread/96319?ContentTypeID=1</link><pubDate>Tue, 22 Aug 2017 00:12:31 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:01433bc0-48f2-4fd9-b516-0c196e9a0e83</guid><dc:creator>JimR</dc:creator><description>&lt;p&gt;continuing,&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;RX_PW_P1: 03; 
DYN_PD: 03; and 
FEATURE: 06. 
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;That&amp;#39;s about it, Torbjorn. Any suggestions?
Thanks, JimR&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Why am I getting no ACKs from an nRF24L01p in PRx mode?</title><link>https://devzone.nordicsemi.com/thread/96318?ContentTypeID=1</link><pubDate>Tue, 22 Aug 2017 00:09:51 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:5106a187-a802-4f60-ae83-7c7303288ada</guid><dc:creator>JimR</dc:creator><description>&lt;p&gt;Hi Torbjorn, Thanks for those comments.&lt;/p&gt;
&lt;p&gt;I&amp;#39;m not using any libraries - have attempted to write the program from scratch. The hardware I&amp;#39;m using is one of Geoff Graham&amp;#39;s Micromites, which use a PIC32MX170F256B CPU which runs on its own MMBasic interpreter. So my program must be written in MMBasic, which is Geoff&amp;#39;s updated and enhanced version of Microsoft&amp;#39;s old GWBasic.
Anyway, here are the configuration settings I&amp;#39;m using, first for the PRX (in hex):&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;CONFIG: 0F; 
EN_AA: 03; 
EX_RXADDR: 03; 
SETUP_AW: 03; 
SETUP_RETR: 33; 
RF_CH: 4C; 
RF_SETUP: 04;
RX_ADDR_P0: E7E7E7E7E7; 
RX_ADDR_P1: C2C2C2C2C2; 
RX_PW_P0: 03; 
RX_PW_P1: 03; 
DYNPD: 03; and 
FEATURE: 06. (All others left at reset defaults.)
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;And here are the settings for PTX (again in hex):&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;CONFIG: 0E; 
EN_AA: 03; 
EN_RXADDR: 03; 
SETUP_AW: 03; 
SETUP_RETR: 03; 
RF_CH: 4C; 
RF_SETUP: 04; 
RX_ADDR_P0: C2C2C2C2C2; 
RX_ADDR_P1: E7E7E7E7E7; 
RX_PW_P0: 03;
&lt;/code&gt;&lt;/pre&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Why am I getting no ACKs from an nRF24L01p in PRx mode?</title><link>https://devzone.nordicsemi.com/thread/96317?ContentTypeID=1</link><pubDate>Mon, 21 Aug 2017 11:22:47 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:6b55ab13-67ab-4caa-8a33-39c780a03962</guid><dc:creator>ovrebekk</dc:creator><description>&lt;p&gt;Hi Jim&lt;/p&gt;
&lt;p&gt;Can you share the configuration settings for your PTX and PRX?&lt;br /&gt;
It sounds like there are some incompatibilities in the setup, based on the behavior that you describe.&lt;/p&gt;
&lt;p&gt;Are you using any particular libraries for setting up the Nordic modules, or have you implemented everything from scratch?&lt;/p&gt;
&lt;p&gt;Some more information on the hardware and software you are running could be interesting.&lt;/p&gt;
&lt;p&gt;Best regards&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>