<?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>NRF52 DK - Dynamic payload(DPL) and static payload.</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/14916/nrf52-dk---dynamic-payload-dpl-and-static-payload</link><description>I have an NRF24LE1 transmitter using ESB. It is sending a static payload of 10 bytes every sec.
The other configurations on the transmitter are: RF channel:2, CRC: 1 byte, DataRate: 1MBPS. 
 I am trying to understand the given example code for esb_prx</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Fri, 04 Aug 2017 09:13:50 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/14916/nrf52-dk---dynamic-payload-dpl-and-static-payload" /><item><title>RE: NRF52 DK - Dynamic payload(DPL) and static payload.</title><link>https://devzone.nordicsemi.com/thread/56931?ContentTypeID=1</link><pubDate>Fri, 04 Aug 2017 09:13:50 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:00d6492f-ff71-4c8c-a7b8-8dbca0bd8c37</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;@Sebastien: It should work. But I would suggest you to create a new support case.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: NRF52 DK - Dynamic payload(DPL) and static payload.</title><link>https://devzone.nordicsemi.com/thread/56932?ContentTypeID=1</link><pubDate>Thu, 03 Aug 2017 15:55:24 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:83b2d0c8-229e-474c-a291-81e7ad6bf3fb</guid><dc:creator>Sebastien Huet</dc:creator><description>&lt;p&gt;Hi Pradeep Chl,&lt;/p&gt;
&lt;p&gt;Have you managed having nrf24 &amp;lt;=&amp;gt; nrf52 talking with static payload? I can with DPL but i have issues with static ones.&lt;/p&gt;
&lt;p&gt;Any advice would be welcome&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Seb&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: NRF52 DK - Dynamic payload(DPL) and static payload.</title><link>https://devzone.nordicsemi.com/thread/56930?ContentTypeID=1</link><pubDate>Tue, 05 Jul 2016 06:41:28 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:37ab70dc-824e-4e9a-9811-8c5e37ac9165</guid><dc:creator>J&amp;#248;rgen Kvalvaag</dc:creator><description>&lt;p&gt;This example is always sending 8 byte payloads, but only data[1] is logged and used.&lt;/p&gt;
&lt;p&gt;And yes, it is correct that the receiver is receiving the same byte that is sent at the transmitter. Anything else would not be a very useful protocol :)&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: NRF52 DK - Dynamic payload(DPL) and static payload.</title><link>https://devzone.nordicsemi.com/thread/56929?ContentTypeID=1</link><pubDate>Mon, 04 Jul 2016 12:38:52 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:393eeb1f-8b5f-4e4f-a8ee-406413bd22fb</guid><dc:creator>Pradeep Chl</dc:creator><description>&lt;p&gt;In the esb_ptx code, it is given:&lt;/p&gt;
&lt;p&gt;nrf_esb_payload_t        tx_payload = NRF_ESB_CREATE_PAYLOAD(0, 0x01, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00);&lt;/p&gt;
&lt;p&gt;It mean, pipe = 0; length = 8; data[8] = { 0x01, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00 }&lt;/p&gt;
&lt;p&gt;At line no: 149 of main.c, NRF_LOG_HEX_CHAR(tx_payload.data[1]). I think this line is displaying the character in HEX that is to be sent to the Receiver.
Is it sending just 1 byte which is data[1]=0x00 instead of 8 byte payload here?&lt;/p&gt;
&lt;p&gt;In the esb_prx, payload_length is given as 8 at line 100 of main.c file.
At line 70 of main.c: NRF_LOG_HEX_CHAR(rx_payload.data[1]);
It seem to be receiving the same byte that is sent at the Transmitter?&lt;/p&gt;
&lt;p&gt;Thanks,&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: NRF52 DK - Dynamic payload(DPL) and static payload.</title><link>https://devzone.nordicsemi.com/thread/56928?ContentTypeID=1</link><pubDate>Mon, 04 Jul 2016 12:01:50 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:61a11ff0-72d6-4f94-a908-72138fd13cbe</guid><dc:creator>J&amp;#248;rgen Kvalvaag</dc:creator><description>&lt;p&gt;Yes, I was referring to nrf_esb_payload_t struct.&lt;/p&gt;
&lt;p&gt;Not sure what you mean by your second question. In DPL mode, setting nrf_esb_payload_t-&amp;gt;length to eg 12 will result in a packet with payload length 12.&lt;/p&gt;
&lt;p&gt;I now see that the doc is unclear here:&lt;/p&gt;
&lt;p&gt;nrf_esb.h line 242: &amp;quot;Length of the &lt;strong&gt;packet&lt;/strong&gt;. Should be equal or less than NRF_ESB_MAX_PAYLOAD_LENGTH.&amp;quot;&lt;/p&gt;
&lt;p&gt;This should be:&lt;/p&gt;
&lt;p&gt;&amp;quot;Length of the &lt;strong&gt;payload&lt;/strong&gt;. Should be equal or less than NRF_ESB_MAX_PAYLOAD_LENGTH.&amp;quot;&lt;/p&gt;
&lt;p&gt;About the macro, it will only fill the fields data, length and pipe. The other fields will be set to zero according to C spec.&lt;/p&gt;
&lt;p&gt;Should use this as NRF_ESB_CREATE_PAYLOAD(pipe, payload_data)&lt;/p&gt;
&lt;p&gt;So NRF_ESB_CREATE_PAYLOAD(0, 0x0a, 0x0b, 0x0c) will give packet.length=3, packet.pipe=0 and packet.data= {0x0a, 0x0b, 0x0c}&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: NRF52 DK - Dynamic payload(DPL) and static payload.</title><link>https://devzone.nordicsemi.com/thread/56927?ContentTypeID=1</link><pubDate>Mon, 04 Jul 2016 11:13:12 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:2ece41c2-544e-4193-811f-6b1e43016c47</guid><dc:creator>Pradeep Chl</dc:creator><description>&lt;p&gt;I think you are referring to nrf_esb_payload_t struct&amp;#39;s length field, am i right?
Can you give an example for a given DPL length value and the sent packet length value?&lt;/p&gt;
&lt;p&gt;Could you look into my second question about esb_tx as well if possible ?&lt;/p&gt;
&lt;p&gt;Thanks,&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: NRF52 DK - Dynamic payload(DPL) and static payload.</title><link>https://devzone.nordicsemi.com/thread/56926?ContentTypeID=1</link><pubDate>Mon, 04 Jul 2016 10:43:56 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:6abeebd6-161b-47fb-8034-6ddad5968f8b</guid><dc:creator>J&amp;#248;rgen Kvalvaag</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;Dynamic payload means that payload length is configurable for every packet sent.&lt;/p&gt;
&lt;p&gt;In non-DPL mode every payload has to be of pre-determined length.&lt;/p&gt;
&lt;p&gt;I don&amp;#39;t believe DPL &amp;lt;-&amp;gt; fixed payload length communication is possible.&lt;/p&gt;
&lt;p&gt;DPL is configured in the nrf_esb_config_t-&amp;gt;protocol field, and can take the following values:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;NRF_ESB_PROTOCOL_ESB,      /*&amp;lt; Enhanced ShockBurst with fixed payload length.                                            */
NRF_ESB_PROTOCOL_ESB_DPL   /*&amp;lt; Enhanced ShockBurst with dynamic payload length.      
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;What you want to do is configure ESB to run in fixed packet length mode. I think this configuration should be suitable for your scenario:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;nrf_esb_config_t nrf_esb_config         = NRF_ESB_DEFAULT_CONFIG;
nrf_esb_config.payload_length           = 10;
nrf_esb_config.protocol                 = NRF_ESB_PROTOCOL_ESB; //No DPL
nrf_esb_config.bitrate                  = NRF_ESB_BITRATE_1MBPS;
nrf_esb_config.mode                     = NRF_ESB_MODE_PRX;
nrf_esb_config.crc                      = NRF_ESB_CRC_8BIT // 1 byte CRC
nrf_esb_config.event_handler            = nrf_esb_event_handler;
nrf_esb_config.selective_auto_ack       = false;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;When using DPL the payload_length field in nrf_esb_config_t is ignored, and the length specified in the payload struct is used instead.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>