<?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+, details on ACK packet and PTX to PTX....</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/5901/nrf24l01-details-on-ack-packet-and-ptx-to-ptx</link><description>hi -- i&amp;#39;m a big fan of the NRF24L01+ chip, i&amp;#39;ve written a high-performance driver for it using most of the features, relying heavily on Dynamic Payload and Auto-acknowledgement. the driver code is here, GNU license: github.com/.../WPS_NRF24L01 , in C</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Sat, 11 Apr 2015 17:14:45 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/5901/nrf24l01-details-on-ack-packet-and-ptx-to-ptx" /><item><title>RE: NRF24L01+, details on ACK packet and PTX to PTX....</title><link>https://devzone.nordicsemi.com/thread/20582?ContentTypeID=1</link><pubDate>Sat, 11 Apr 2015 17:14:45 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ef7a3b1c-4d40-4504-97b3-acef7d1a352e</guid><dc:creator>tomjennings</dc:creator><description>&lt;p&gt;hi, thanks for your helpful reply, and i apologize for taking so long to respond.&lt;/p&gt;
&lt;p&gt;i&amp;#39;ve worked out that what i was attempting to do is not actually possible, directly. the fundamental requirement of the scheme was that the PTX address would remain the same for every chip in the network. when used in a peer-to-peer system each chip alternates PRX/PTX (which seems outside of chip design goals, though that wouldn&amp;#39;t stop me :-)&lt;/p&gt;
&lt;p&gt;i&amp;#39;ve simply disabled auto-acknowledge for my two protocols (a self-negotiating one-to-many/many-to-one system and a connection-based channel-adaptive/channel-hopping scheme); as useful as auto-ack is, the channel- and address-negotiation, eliminating the need to a priori assign addresses, or find clean channels is more important to me.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: NRF24L01+, details on ACK packet and PTX to PTX....</title><link>https://devzone.nordicsemi.com/thread/20581?ContentTypeID=1</link><pubDate>Thu, 12 Mar 2015 16:57:23 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:8153672a-da0f-4a10-ae55-7d7b76e6f85f</guid><dc:creator>Asbj&amp;#248;rn</dc:creator><description>&lt;p&gt;An ACK is basically just a normal packet, so if you have configure both of them with the same pipe0 address and same tx address they will send each other what seems like ACKs. I believe you could work around this by using a different pipe for the shared channel, so that they both communicate towards a RX address that&amp;#39;s not configure as address on pipe0. The ACK will always be sent to pipe0, so if you are transmitting towards a different pipe, even though you have two units sending, they should not be interpreted as ACKs, but as received packages.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: NRF24L01+, details on ACK packet and PTX to PTX....</title><link>https://devzone.nordicsemi.com/thread/20580?ContentTypeID=1</link><pubDate>Fri, 06 Mar 2015 05:51:36 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f1f0b53c-94ae-4cea-8695-69d526369829</guid><dc:creator>tomjennings</dc:creator><description>&lt;p&gt;( i neglected to state that given the existence of addresses A and B in both systems,  the code sets PTX to TX:A P0:A, P1:B, and to receive TX:B P0:B, P1:A. in other words, addresses A and B are assigned complementarily, PTX and PRX. as i said, the working environment precludes the ability to pre-assign unique-to-each system/chip, pipe 0 and pipe 1 addresses. though my use does in fact violate the documentation (and somewhat, common sense :-) it is surprisingly effective for all but PTX-to-PTX configurations. my solution of last resort will be to use this, and negotiate pipe addresses as part of the higher-level protocol; the &amp;quot;failure rate&amp;quot; window is about 1%, only, and i can ensure 100% reliable negotiation through other means. the worst possible case si that i stop using auto-acknowledge, and do &amp;quot;ack&amp;quot; via exchange of packets, A-&amp;gt;B, B-&amp;gt;A).&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>