<?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>First byte of payload interpreted as device address, changing BALEN has no effect</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/118236/first-byte-of-payload-interpreted-as-device-address-changing-balen-has-no-effect</link><description>Hi, 
 I&amp;#39;m transmitting using the nRF24L01P and using the nRF52810 as the receiver, 5 byte address. 
 We send a 2 byte packet usually 0x00, 0x00 until data is ready. If I set any bits on the 2nd byte it receives fine but setting bits on the first byte</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Mon, 27 Jan 2025 10:17:11 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/118236/first-byte-of-payload-interpreted-as-device-address-changing-balen-has-no-effect" /><item><title>RE: First byte of payload interpreted as device address, changing BALEN has no effect</title><link>https://devzone.nordicsemi.com/thread/520137?ContentTypeID=1</link><pubDate>Mon, 27 Jan 2025 10:17:11 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:49b37f61-084b-4129-ba76-218583ead7ba</guid><dc:creator>Kenneth</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;The ESB library should be backwards compatible by following:&lt;br /&gt;&lt;a href="https://docs.nordicsemi.com/bundle/ncs-latest/page/nrf/protocols/esb/index.html#backward_compatibility"&gt;https://docs.nordicsemi.com/bundle/ncs-latest/page/nrf/protocols/esb/index.html#backward_compatibility&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;There are also some example projects (you need to set &lt;span&gt;ESB_LEGACY_CONFIG=y in prj.conf for them to work with nRFgo SDK which use the nRF24L01+ radio)&lt;/span&gt;:&lt;br /&gt;&lt;a href="https://docs.nordicsemi.com/bundle/ncs-latest/page/nrf/protocols/esb/index.html#examples"&gt;https://docs.nordicsemi.com/bundle/ncs-latest/page/nrf/protocols/esb/index.html#examples&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;You can find a description on the radio in the nRF52810 here:&lt;br /&gt;&lt;a href="https://docs.nordicsemi.com/bundle/ps_nrf52810/page/radio.html"&gt;https://docs.nordicsemi.com/bundle/ps_nrf52810/page/radio.html&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;If there is a radio interrupt with CRCERROR then the packet should be discarded yes, since the payload contain errors.&lt;/p&gt;
&lt;p&gt;Best regards,&lt;br /&gt;Kenneth&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: First byte of payload interpreted as device address, changing BALEN has no effect</title><link>https://devzone.nordicsemi.com/thread/519913?ContentTypeID=1</link><pubDate>Fri, 24 Jan 2025 05:25:46 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:0b092a7a-dd4b-4d70-84c8-9751f7bd5b5b</guid><dc:creator>alex101</dc:creator><description>&lt;p&gt;If I add&amp;nbsp;&lt;span&gt;config&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;crc&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;ESB_CRC_OFF&lt;/span&gt;&lt;span&gt;; to the ESB example, packets are&amp;nbsp;no longer received. &lt;br /&gt;Our nRF24 TX uses the default CRC 8 bit.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Speaking of CRC, I&amp;#39;m not sure what the difference between EVENTS_CRCOK and CRCSTATUS.&lt;br /&gt;EVENTS_CRCOK&amp;nbsp;does show it changes to 1 (EVENTS_CRCERROR also changes to 1)&lt;br /&gt;CRCSTATUS always seems to stay at 0&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: First byte of payload interpreted as device address, changing BALEN has no effect</title><link>https://devzone.nordicsemi.com/thread/519833?ContentTypeID=1</link><pubDate>Thu, 23 Jan 2025 15:40:52 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:9b4b27c4-e4b4-469a-a835-d711a10491f8</guid><dc:creator>Kenneth</dc:creator><description>&lt;p&gt;Have you disabled CRC here?&amp;nbsp;&lt;br /&gt;&lt;a href="https://docs.nordicsemi.com/bundle/ps_nrf52810/page/radio.html#ariaid-title55"&gt;https://docs.nordicsemi.com/bundle/ps_nrf52810/page/radio.html#ariaid-title55&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Kenneth&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: First byte of payload interpreted as device address, changing BALEN has no effect</title><link>https://devzone.nordicsemi.com/thread/519675?ContentTypeID=1</link><pubDate>Thu, 23 Jan 2025 03:35:05 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:42fe66b0-f304-4f36-a7b8-13a49d5919c3</guid><dc:creator>alex101</dc:creator><description>&lt;p&gt;Hi Kenneth,&lt;/p&gt;
&lt;p&gt;I enabled ADDR1:&lt;br /&gt;&lt;span&gt;NRF_RADIO&lt;/span&gt;&lt;span&gt;-&amp;gt;&lt;/span&gt;&lt;span&gt;PREFIX0&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;0x00000000&lt;/span&gt;&lt;span&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;NRF_RADIO&lt;/span&gt;&lt;span&gt;-&amp;gt;&lt;/span&gt;&lt;span&gt;RXADDRESSES&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;RADIO_RXADDRESSES_ADDR1_Enabled&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;RADIO_RXADDRESSES_ADDR1_Pos&lt;/span&gt;&lt;span&gt;;&lt;br /&gt;&lt;br /&gt;With the transmitter off, it is just receiving random data which is very strange and even stranger is that it says RXMATCH is 0x07 even though only ADDR1 is enabled as shown in the debugger.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;I also tried going back to the ESB example and using the default addresses of the nRF24/52 for the nRF24 TX and nRF52 RX sides, no packets were being received which is odd. If I change the address back to my own one, it receives the data but same problem as before - missing first byte and like 95%+ of packets don&amp;#39;t make it.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;uint8_t base_addr_0[4] = {0xE7, 0xE7, 0xE7, 0xE7};&lt;br /&gt;uint8_t base_addr_1[4] = {0xC2, 0xC2, 0xC2, 0xC2};&lt;br /&gt;uint8_t addr_prefix[8] = {0xE7, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, 0xC8};&lt;/p&gt;
&lt;p&gt;struct esb_config config = ESB_LEGACY_CONFIG;&lt;/p&gt;
&lt;p&gt;config.protocol = ESB_PROTOCOL_ESB;&lt;br /&gt;config.bitrate = ESB_BITRATE_2MBPS;&lt;br /&gt;config.mode = ESB_MODE_PRX;&lt;br /&gt;config.event_handler = event_handler;&lt;br /&gt;config.selective_auto_ack = false;&lt;br /&gt;config.payload_length = 2;&lt;/p&gt;
&lt;p&gt;We have a static payload of 2 bytes and no ACKs are sent back.&lt;/p&gt;
&lt;p&gt;If I use 2 nRF52 DKs as the TX and RX then it works in the ESB example&amp;nbsp;but we have hundreds of nRF24 TX/RX in the field so can&amp;#39;t easily upgrade them. I have seen others being able to get the nRF24 TX to work with the nRF52 RX properly&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: First byte of payload interpreted as device address, changing BALEN has no effect</title><link>https://devzone.nordicsemi.com/thread/519565?ContentTypeID=1</link><pubDate>Wed, 22 Jan 2025 13:19:15 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:fa416d29-daf7-4476-9b61-9cb51c5e867f</guid><dc:creator>Kenneth</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;I think it may be somehow related to this:&amp;nbsp;&amp;nbsp;&lt;a href="https://devzone.nordicsemi.com/f/nordic-q-a/74142/nrf5340---sensitivity-and-addr0"&gt;nRF5340 - sensitivity and ADDR0&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Do you see the same if using pipe1 on the nRF52840?&lt;/p&gt;
&lt;p&gt;Kenneth&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: First byte of payload interpreted as device address, changing BALEN has no effect</title><link>https://devzone.nordicsemi.com/thread/519436?ContentTypeID=1</link><pubDate>Wed, 22 Jan 2025 03:55:51 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b52b56bb-4933-4d20-a656-ba9cc4c4279c</guid><dc:creator>alex101</dc:creator><description>&lt;p&gt;I&amp;nbsp;have some nRF24 receivers that work with our nRF24 TX and if we change any byte of the 5 byte RX address on the RX side, I can confirm that those nRF24 receivers stop working so it does sound like we are indeed sending a 5 byte address.&lt;/p&gt;
&lt;p&gt;On the nRF52, I can change some bits of the end byte of BASE0 address (4E) to another value and it still receives the packet but changing any of the first 3 bytes and it doesn&amp;#39;t work. If I change&amp;nbsp;&lt;span&gt;PREFIX0&lt;/span&gt;&lt;span&gt;&amp;nbsp;from 0x00 to 0x80 and send 0x01 as the first payload byte then receiving also works so I think my theory of what is happening might be correct.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Another thing I have just noticed when debugging is that RXMATCH is always 0x00000000 but packets are still received&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>