<?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 inv-ESB receive 0 length packets</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/79890/nrf52-inv-esb-receive-0-length-packets</link><description>hi,i have met some strange problem about inv-esb 
 i send 21 length packets in peripheral(i use rx as peripheral,use tx ascenter),but ireceive 0 length packets in center. 
 i printf the length of send packets in tx-end-event of peripheral,such as this</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Fri, 24 Sep 2021 10:13:41 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/79890/nrf52-inv-esb-receive-0-length-packets" /><item><title>RE: nrf52 inv-ESB receive 0 length packets</title><link>https://devzone.nordicsemi.com/thread/331027?ContentTypeID=1</link><pubDate>Fri, 24 Sep 2021 10:13:41 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:3cc1d1ac-56aa-4de4-92a5-6f0f05b3003c</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;
&lt;p&gt;You should not change the payload content after triggering TASKS_START. You should wait until the EVENTS_END is set to ensure that the content has been sent on-air.&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: nrf52 inv-ESB receive 0 length packets</title><link>https://devzone.nordicsemi.com/thread/330786?ContentTypeID=1</link><pubDate>Thu, 23 Sep 2021 09:42:38 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:8503c7d4-0617-4b57-9c2f-847f038ebefd</guid><dc:creator>Liny</dc:creator><description>&lt;p&gt;hi Hanon Alseth，&lt;/p&gt;
&lt;p&gt;i have two questions:&lt;/p&gt;
&lt;p&gt;1、can i modify the packet&amp;#39;s length after tx&amp;mdash;ready came but before event_address came?&lt;/p&gt;
&lt;p&gt;2、can i modify the packet&amp;#39;s payload&amp;nbsp; after tx&amp;mdash;ready came but before event_address came?&lt;/p&gt;
&lt;p&gt;added：in 52832&lt;/p&gt;
&lt;p&gt;&lt;img alt=" " src="https://devzone.nordicsemi.com/resized-image/__size/320x240/__key/communityserver-discussions-components-files/4/5582.nordic.png" /&gt;&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 inv-ESB receive 0 length packets</title><link>https://devzone.nordicsemi.com/thread/330768?ContentTypeID=1</link><pubDate>Thu, 23 Sep 2021 08:37:43 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b4cabb41-752b-474b-8f3d-f171d7799048</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;
&lt;p&gt;You are changing the library, so I cannot state explicitly why its happening, but&amp;nbsp;its usually&amp;nbsp;two reasons:&lt;/p&gt;
&lt;p&gt;1. Changing the content of the buffer after the radio has sent the data&lt;/p&gt;
&lt;p&gt;2. Changing the PTR after the radio has latched.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;You&amp;nbsp;should not update the pointer after the radio has been started:&lt;/p&gt;
&lt;p&gt;&lt;a href="https://infocenter.nordicsemi.com/topic/ps_nrf52840/radio.html?cp=4_0_0_5_19_12#concept_dxt_xfj_4r"&gt;https://infocenter.nordicsemi.com/topic/ps_nrf52840/radio.html?cp=4_0_0_5_19_12#concept_dxt_xfj_4r&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Once the START task is triggered, the EASYDMA latches, but note that the PTR register itself is double-buffered.&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: nrf52 inv-ESB receive 0 length packets</title><link>https://devzone.nordicsemi.com/thread/330744?ContentTypeID=1</link><pubDate>Thu, 23 Sep 2021 05:47:31 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b2993ad0-7fd5-4741-b25a-e9d7519d5ec3</guid><dc:creator>Liny</dc:creator><description>&lt;p&gt;hi Hanon Alseth，&lt;/p&gt;
&lt;p&gt;i have found the problem .&lt;/p&gt;
&lt;p&gt;the reason is&amp;nbsp; when i send packets in periphral,&amp;nbsp; i add some code in on_radio_disabled_rx(), it takes more than 40 us （in radio fast mode，disable - tx raedy takes 40.25us ），it cause RADIO-&amp;gt;PTR updated after tx-ready came。so ，although m_tx_payload_buffer[0] = 21, but NRF_PTR may not point m_tx_payload_buffer?(want your explain)。&lt;/p&gt;
&lt;p&gt;i have a questions：&lt;/p&gt;
&lt;p&gt;Q：does RADIO-&amp;gt;PTR register&amp;nbsp; locked after tx&amp;mdash;ready came？if not ，why？&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nrf52 inv-ESB receive 0 length packets</title><link>https://devzone.nordicsemi.com/thread/330629?ContentTypeID=1</link><pubDate>Wed, 22 Sep 2021 11:11:41 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:dd15c83b-3828-46aa-ae51-119ae2795740</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="Liny"]i use PTX as cental,use PRX as peripheral.centeral is a receiver,one centeral corresponds to two peripheral.[/quote]
&lt;p&gt;Is the PRX devices setup with different RF channels?&lt;/p&gt;
&lt;p&gt;If not, both of them will ACK at the same time and that will create issues.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
[quote user="Liny"]&lt;p&gt;A3:i use pipe 0 for pairing,after finish pairing , i use pipe 1 for data pipe.i will update the prefix1 of central when switch peripherals.&lt;/p&gt;
&lt;p&gt;the problem mabye related to the clock in debug mode? i have no idea.&lt;/p&gt;[/quote]
&lt;p&gt;What is the actual RF address set? 0xE7E7E7E7 ?&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Kind regards,&lt;/p&gt;
&lt;p&gt;Håkon&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nrf52 inv-ESB receive 0 length packets</title><link>https://devzone.nordicsemi.com/thread/330612?ContentTypeID=1</link><pubDate>Wed, 22 Sep 2021 10:05:39 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ad75d8f8-0da7-4913-9058-bde0045dcd63</guid><dc:creator>Liny</dc:creator><description>&lt;p&gt;thanks for your replay&lt;/p&gt;
&lt;p&gt;A1:i use PTX as cental,use PRX as peripheral.centeral is a receiver,one centeral corresponds to two peripheral.&lt;/p&gt;
&lt;p&gt;A2: i switch uart or rtt by set NRF_LOG_BACKEND_RTT_ENABLED or NRF_LOG_BACKEND_UART_ENABLED to 1 .while in rtt mode ,i had set NRF_LOG_DEFERRED&amp;nbsp; to &amp;#39;1&amp;#39;,and add &amp;quot;&lt;span&gt;NRF_LOG_PROCESS()&lt;/span&gt;&amp;quot;&amp;nbsp; to main loop.i think it&amp;#39;s not the key issue。&lt;/p&gt;
&lt;p&gt;A3:i use pipe 0 for pairing,after finish pairing , i use pipe 1 for data pipe.i will update the prefix1 of central when switch peripherals.&lt;/p&gt;
&lt;p&gt;the problem mabye related to the clock in debug mode? i have no idea.&lt;/p&gt;
&lt;p&gt;note that :if i connect peripheral with jlink,and click &amp;quot;connect&amp;quot; in RTT-viewer,it won&amp;#39;t happen,central can receive 21 length bytes. if don&amp;#39;t connect jlink ,it would happened.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nrf52 inv-ESB receive 0 length packets</title><link>https://devzone.nordicsemi.com/thread/330608?ContentTypeID=1</link><pubDate>Wed, 22 Sep 2021 09:45:35 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e0946851-9e84-40bb-9daa-5abea8aa6fec</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;
&lt;p&gt;Q1: Which device is setup as a PRX and which is setup as a PTX device?&lt;/p&gt;
&lt;p&gt;Is the central the receiver?&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Q2: Are you switching between printing over UART and RTT?&lt;/p&gt;
&lt;p&gt;Note that you should use NRF_LOG_DEFERRED set to &amp;#39;1&amp;#39; to avoid printing in interrupt handlers. This requires you to have a added call to &amp;quot;&lt;span&gt;NRF_LOG_PROCESS()&lt;/span&gt;&amp;quot; in your main loop.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Q3: What is your configured RF address?&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: nrf52 inv-ESB receive 0 length packets</title><link>https://devzone.nordicsemi.com/thread/330598?ContentTypeID=1</link><pubDate>Wed, 22 Sep 2021 08:47:46 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:418a4e24-7865-4a2b-9d29-0cd02e99c13d</guid><dc:creator>Liny</dc:creator><description>&lt;p&gt;add something：&lt;/p&gt;
&lt;p&gt;it is in on_radio_disabled_tx_wait_for_ack（）&lt;/p&gt;
&lt;p&gt;if (NRF_RADIO-&amp;gt;EVENTS_END &amp;amp;&amp;amp; NRF_RADIO-&amp;gt;CRCSTATUS != 0)&lt;/p&gt;
&lt;p&gt;{&lt;/p&gt;
&lt;p&gt;NRF_LOG_INFO(&amp;quot;length = %d&amp;quot;,m_rx_payload_buffer[0]);&lt;/p&gt;
&lt;p&gt;&amp;middot;&amp;middot;&amp;middot;&amp;middot;&amp;middot;&lt;/p&gt;
&lt;p&gt;}&lt;/p&gt;
&lt;p&gt;and it printf &amp;quot;length = 0&amp;quot;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nrf52 inv-ESB receive 0 length packets</title><link>https://devzone.nordicsemi.com/thread/330594?ContentTypeID=1</link><pubDate>Wed, 22 Sep 2021 08:10:38 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:483c4b3e-8574-4ec2-8955-fc0e6c2433fd</guid><dc:creator>Liny</dc:creator><description>&lt;p&gt;i am sorry about that i write some wrong message,it should be&lt;/p&gt;
&lt;p&gt;it is in RADIO_IRQHandler():&lt;/p&gt;
&lt;p&gt;if (NRF_RADIO-&amp;gt;EVENTS_END &amp;amp;&amp;amp; (NRF_RADIO-&amp;gt;INTENSET &amp;amp; RADIO_INTENSET_END_Msk))&lt;/p&gt;
&lt;p&gt;{&lt;/p&gt;
&lt;p&gt;NRF_LOG_INFO(&amp;quot;m_tx_payload_buffer[0] = %d&amp;quot;,m_tx_payload_buffer[0]);&lt;/p&gt;
&lt;p&gt;}&lt;/p&gt;
&lt;p&gt;and it printf &amp;quot;m_tx_payload_buffer[0]&amp;nbsp; = 21&amp;quot;.(this place i use uart to printf log)&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>