<?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>Dynamic switching of prefixes not working with ESB</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/56344/dynamic-switching-of-prefixes-not-working-with-esb</link><description>I am using the &amp;#39;840 to construct a small network using the ESB stack. In this design, a master (dongle) transmits to each slave and receives an ACK w/payload response. The ACK payload contains all data coming from the slave (&amp;lt;100 bytes). The master operates</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Mon, 20 Jan 2020 14:56:30 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/56344/dynamic-switching-of-prefixes-not-working-with-esb" /><item><title>RE: Dynamic switching of prefixes not working with ESB</title><link>https://devzone.nordicsemi.com/thread/229909?ContentTypeID=1</link><pubDate>Mon, 20 Jan 2020 14:56:30 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:71934c21-62a6-42e5-a77a-3ae3c0fd53a6</guid><dc:creator>Kenneth</dc:creator><description>&lt;p&gt;It may be that the ESB protocol is not what you need. Dynamically changing PTX/PRX mode is not something that is common use case with ESB (there may be race conditions that is not met, that prevent it to work as intended). Maybe you can build your application on the very simple:&lt;/p&gt;
&lt;p&gt;\nRF5_SDK_16.0.0_98a08e2\examples\peripheral\radio&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: Dynamic switching of prefixes not working with ESB</title><link>https://devzone.nordicsemi.com/thread/229899?ContentTypeID=1</link><pubDate>Mon, 20 Jan 2020 14:34:10 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:56127971-0e02-4857-b436-a219b2c82ea6</guid><dc:creator>henryh</dc:creator><description>&lt;p&gt;I have verified that the master is hung after switching back to PTX from PRX.&amp;nbsp; In this state there is no NRF_ESB_EVENT_SUCCESS&amp;quot; in ESB event handler despite nrf_esb_write_payload() returning a &amp;quot;SUCCESS&amp;quot; exit code.&amp;nbsp; When there is no mode swapping I get the NRF_ESB_EVENT_SUCCESS&amp;quot; in the event handler after writing a payload.&amp;nbsp; I suspect it is waiting for an ACK even though I have SELECTIVE_ACK true and payload NO_ACK true.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Dynamic switching of prefixes not working with ESB</title><link>https://devzone.nordicsemi.com/thread/229868?ContentTypeID=1</link><pubDate>Mon, 20 Jan 2020 13:42:55 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:aae02de5-3153-4c48-b0c1-b0319eadb966</guid><dc:creator>henryh</dc:creator><description>&lt;p&gt;I&amp;#39;ve been unable to resolve this issue and have moved to a system where one pipe is used for both RX and TX.&amp;nbsp; In this system there is a master and multiple slaves.&amp;nbsp; The master broadcasts a beacon packet that is received by all slaves, this beacon defines time slot 0 and the slaves synchronize to it.&amp;nbsp; At the end of time slot 0 the master changes to PRX and the slaves to PTX to provide for packet from the slave to the master.&amp;nbsp; At the end of&amp;nbsp; the last time slot the modes are again changed with master as PTX and slave as PRX.&amp;nbsp; All transmissions are NO_ACK so selective ACK is true and packet NO_ACK is true at all times.&amp;nbsp; I have the beacon in this system working but when I change modes, the radio hangs.&amp;nbsp; Right now I call nrf_esb_init() each time I change modes (followed by nrf_esb_rx_start() for PRX).&amp;nbsp; Calling nrf_esb_init() without a change in mode does not hang the system.&amp;nbsp; Any ideas?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Dynamic switching of prefixes not working with ESB</title><link>https://devzone.nordicsemi.com/thread/229274?ContentTypeID=1</link><pubDate>Wed, 15 Jan 2020 18:11:21 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:6570b506-4b45-413a-a28c-90d39d290808</guid><dc:creator>Kenneth</dc:creator><description>&lt;p&gt;That might be it. If the PTX is transmitting a payload using nrf_esb_write_payload(e.g. retransmit_count = 0..n or tx_payload.noack = true), is there any reason why you can&amp;#39;t wait for the&amp;nbsp;nrf_esb_event_handler() return&amp;nbsp;NRF_ESB_EVENT_TX_SUCCESS,&amp;nbsp;NRF_ESB_EVENT_RX_RECEIVED or&amp;nbsp;NRF_ESB_EVENT_TX_FAILED?&lt;/p&gt;
&lt;p&gt;Then the radio should be in idle state (e.g. check &lt;span&gt;nrf_esb_is_idle())&amp;nbsp;&lt;/span&gt;and you call&amp;nbsp;&lt;span&gt;nrf_esb_update_prefix()?&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Dynamic switching of prefixes not working with ESB</title><link>https://devzone.nordicsemi.com/thread/229270?ContentTypeID=1</link><pubDate>Wed, 15 Jan 2020 17:24:04 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:8d557187-3931-49d9-9ee5-c9cd0b493ed8</guid><dc:creator>henryh</dc:creator><description>&lt;p&gt;Looks like I am getting stuck when the PTX sends a payload using ACK w/payload and doesn&amp;#39;t receive and answer.&amp;nbsp; This leaves the radio in the NRF_ESB_STATE_PTX_RX_ACK state (the prefix cannot be changed unless in IDLE).&amp;nbsp; Ideally I would remove the packet from the TX FIFO and clear the NRF_STATE_PTX_RX_ACK state from the stack.&amp;nbsp; I tried disabling, re-initialize and update prefix but it does not seem to work.&amp;nbsp; Any suggestions?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Dynamic switching of prefixes not working with ESB</title><link>https://devzone.nordicsemi.com/thread/229153?ContentTypeID=1</link><pubDate>Wed, 15 Jan 2020 07:59:45 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:cd4a6a07-d910-4915-8831-5dae78f6405f</guid><dc:creator>Kenneth</dc:creator><description>&lt;p&gt;Very odd. Have you tried to debug the RADIO peripheral before and after changing the prefix?&lt;/p&gt;
&lt;p&gt;Keil: When debug click Peripherals-&amp;gt;Sysem Viewer-&amp;gt;Radio, then you can see all radio registers, and which change when single stepping code.&lt;/p&gt;
&lt;p&gt;SES: When debug click on the Registers window-&amp;gt;Groups and select Radio.&amp;nbsp; Example:&lt;/p&gt;
&lt;p&gt;&lt;img src="https://devzone.nordicsemi.com/resized-image/__size/640x480/__key/support-attachments/beef5d1b77644c448dabff31668f3a47-66c412527ef94b2ea23207df9060bd92/pastedimage1579075153411v1.png" alt=" " /&gt;&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: Dynamic switching of prefixes not working with ESB</title><link>https://devzone.nordicsemi.com/thread/229128?ContentTypeID=1</link><pubDate>Tue, 14 Jan 2020 21:31:47 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:4589abf1-9d59-4162-8595-ca7fe08b3e8b</guid><dc:creator>henryh</dc:creator><description>&lt;p&gt;There are no re-transmission since it is set to 0 in the nrf_esb_init() configuration.&amp;nbsp; I&amp;#39;ve tried by bracketing the prefix change with nrf_esb_suspent() and nrf_tx_start() but no change.&amp;nbsp; I&amp;#39;ve also tried to use nrf_esb_disable() before the prefix change with nrf_esb_init() following it but does not work.&amp;nbsp; It seems that whenever I change the prefix, the pipe shuts down. Any suggestions?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Dynamic switching of prefixes not working with ESB</title><link>https://devzone.nordicsemi.com/thread/228423?ContentTypeID=1</link><pubDate>Thu, 09 Jan 2020 18:00:41 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:704d93ed-f3be-4f9c-802c-ff86da30edb7</guid><dc:creator>Kenneth</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;I am not quite sure, but make sure that the payload changes (e.g. add a counter in the payloads) this to ensure that the packet is not treated as a retransmit by the PRX (in which case it will ack to the PTX, but not inform the application on the PRX (since it is considered an retransmit)).&lt;/p&gt;
&lt;p&gt;Have you tried to disable, reconfigure prefix and enable again, to see if that make any difference?&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></channel></rss>