<?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>NRF52840 to NRF24L01+ communication with Static Payloads</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/99452/nrf52840-to-nrf24l01-communication-with-static-payloads</link><description>I have created a library for Arduino to enable NRF52840 &amp;lt;-&amp;gt; NRF24L01+ communication and have most of the functionality working, except for static payloads. Essentially, I&amp;#39;ve created a library that mimics the ESB protocol from NRF24L01+ on NRF52 devices</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Tue, 09 May 2023 11:47:22 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/99452/nrf52840-to-nrf24l01-communication-with-static-payloads" /><item><title>RE: NRF52840 to NRF24L01+ communication with Static Payloads</title><link>https://devzone.nordicsemi.com/thread/424504?ContentTypeID=1</link><pubDate>Tue, 09 May 2023 11:47:22 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b8b46edc-fe48-4a01-a66b-49d0bee23b8c</guid><dc:creator>TMRh20</dc:creator><description>&lt;p&gt;OMG, this is the solution! I just set the radio to use 0 size payload length for the ACKs, instead of disabling CRC and it seems to work! I will test more but I&amp;#39;m pretty sure this is the solution here! Thank you!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: NRF52840 to NRF24L01+ communication with Static Payloads</title><link>https://devzone.nordicsemi.com/thread/424492?ContentTypeID=1</link><pubDate>Tue, 09 May 2023 11:26:13 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:fb7edc3f-6fa1-419a-97cf-1bd101e45c57</guid><dc:creator>2bndy5</dc:creator><description>[quote userid="2115" url="~/f/nordic-q-a/99452/nrf52840-to-nrf24l01-communication-with-static-payloads/424484"]What the nRF24L01+ will do is to send empty packets as payload, ie. payload_size=0.&amp;nbsp;nRF24L&amp;nbsp;will refuse to receive any actual data in an ACK payload if EN_DPL is not set.[/quote]
&lt;p&gt;This also means that the nRF24L supports empty ACK packets with dynamic payloads disabled. But the SDK can&amp;#39;t use ACK packets (empty or not) if dynamic payloads are disabled.&lt;/p&gt;
&lt;p&gt;So, setting the SDK aside (because it does not apply the desired behavior in the OP), Can the nRF52840 be used to send or receive empty ACK packets when dynamic payloads are disabled? Did we miss something in the nRF52840 datasheet?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: NRF52840 to NRF24L01+ communication with Static Payloads</title><link>https://devzone.nordicsemi.com/thread/424486?ContentTypeID=1</link><pubDate>Tue, 09 May 2023 11:16:40 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:9793c0dc-c4af-4bb2-8d3b-90e967ba93a2</guid><dc:creator>2bndy5</dc:creator><description>[quote userid="2115" url="~/f/nordic-q-a/99452/nrf52840-to-nrf24l01-communication-with-static-payloads/424484"]Are you sending ACK payloads with static payload length? [/quote]
&lt;p&gt;No I&amp;#39;m not. I realized it was unsupported when I attempted and delved into the SDK src.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: NRF52840 to NRF24L01+ communication with Static Payloads</title><link>https://devzone.nordicsemi.com/thread/424484?ContentTypeID=1</link><pubDate>Tue, 09 May 2023 11:12:45 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:7a4ffa5e-2c8e-4250-a5d0-5c3a47c0c7b8</guid><dc:creator>H&amp;#229;kon Alseth</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
[quote user="2bndy5"]All that just to say that the SDK isn&amp;#39;t a good reference point on this issue because the ESB module only employs ACK packets when dynamic payloads are enabled.[/quote]
&lt;p&gt;Are you sending ACK payloads with static payload length? If yes, then this is not supported.&lt;/p&gt;
&lt;p&gt;What the nRF24L01+ will do is to send empty packets as payload, ie. payload_size=0.&amp;nbsp;nRF24L&amp;nbsp;will refuse to receive any actual data in an ACK payload if EN_DPL is not set.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Kind regards,&lt;/p&gt;
&lt;p&gt;Håkon&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: NRF52840 to NRF24L01+ communication with Static Payloads</title><link>https://devzone.nordicsemi.com/thread/424468?ContentTypeID=1</link><pubDate>Tue, 09 May 2023 10:31:31 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f6f16dd6-529d-400b-a78a-91532521c100</guid><dc:creator>2bndy5</dc:creator><description>[quote userid="125547" url="~/f/nordic-q-a/99452/nrf52840-to-nrf24l01-communication-with-static-payloads/424463"]No, but my cohort in RF24 programming has, and I believe he had it working with standard nrf24L01+ modules.[/quote]
&lt;p&gt;Hey, that&amp;#39;s me! For the record, I could get the nRF24L01+ to communicate with the nRF Connect SDK using AutoACK packets, but I had to enable dynamic payloads (on both ends obviously).&lt;/p&gt;
&lt;p&gt;There&amp;#39;s seems to be a discrepancy between the what the nRF24L01+ datasheet (v2) says about using AutoACKs and what the radio actually allows. In actuality, the nRF24L01+ only requires dynamic payloads enabled if the ACK packet has a payload attached. The nRF24L01+ modules work fine with static payloads + empty ACK packets. However, the ESB module in the nRF Connect SDK (and the nRF5 SDK) seem to have been designed around the inaccuracy in the nRF24L01+ datasheet which tersely states that using ACK packets requires dynamic payloads enabled.&lt;/p&gt;
&lt;p&gt;All that just to say that the SDK isn&amp;#39;t a good reference point on this issue because the ESB module only employs ACK packets when dynamic payloads are enabled. Using static payloads with nRF SDKs is more of a &amp;quot;spray and pray&amp;quot; situation.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: NRF52840 to NRF24L01+ communication with Static Payloads</title><link>https://devzone.nordicsemi.com/thread/424463?ContentTypeID=1</link><pubDate>Tue, 09 May 2023 09:57:59 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d81b51d1-91d5-4c0d-b3e8-d56df82cdc18</guid><dc:creator>TMRh20</dc:creator><description>&lt;p&gt;Thanks for your reply!&lt;/p&gt;
&lt;p&gt;Q1: Its a standard low-power model nrf24l01+, and I have many different types of modules for testing. (I am the author of the RF24 library&amp;nbsp;&lt;a id="" href="https://github.com/nRF24"&gt;https://github.com/nRF24&lt;/a&gt;&amp;nbsp;) so have a lot of different types. I&amp;#39;ve tried with a few different ones.&lt;/p&gt;
&lt;p&gt;Q2. No, but my cohort in RF24 programming has, and I believe he had it working with standard nrf24L01+ modules.&lt;/p&gt;
&lt;p&gt;In further looking into this, it looks like the initial packets are being transmitted and received correctly, its just the ACKs that are failing CRC checking on both sides. The NRF24 rejects static payload ACKs from NRF52 and vice-versa. As stated earlier, it works fine with dynamic payloads enabled, even with ACK-Payloads.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: NRF52840 to NRF24L01+ communication with Static Payloads</title><link>https://devzone.nordicsemi.com/thread/424435?ContentTypeID=1</link><pubDate>Tue, 09 May 2023 08:10:35 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e7d08322-bc00-46a6-8938-ba0d7257dd1c</guid><dc:creator>H&amp;#229;kon Alseth</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
[quote user=""]A: Is disabling CRC checking before receiving an ACK while using static payloads correct behaviour? I don&amp;#39;t see why CRC checking would be necessary on static ACK packet.[/quote]
&lt;p&gt;that shall not be necessary. ACK payload with CRC checking shall work.&lt;/p&gt;
[quote user=""]B: How to get receiving working? There has to be something I&amp;#39;m missing, but what? I&amp;#39;ve tried disabling CRC before sending the ACK, but no luck there.[/quote]
&lt;p&gt;There is a restriction in the static payload setup in nRF5-series radios, which only allows for setting one specific static payload length for all pipes.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Q1: Could you share information related to the nRF24L01+ module that you are using?&lt;/p&gt;
&lt;p&gt;Q2: Have you checked the behavior with nrf_esb examples with similar setup as you&amp;#39;re trying to obtain?&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Kind regards,&lt;/p&gt;
&lt;p&gt;Håkon&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>