<?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>Migration from Gazell to static payload ESB</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/91005/migration-from-gazell-to-static-payload-esb</link><description>I am migrating to ESB from Gazell to take advantage of the static 252 byte sized payloads. However, there are two things that are very different that I would like to figure out. 
 First, payloads are auto acknowledged. I want to know how to piggyback</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Tue, 16 Aug 2022 18:42:18 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/91005/migration-from-gazell-to-static-payload-esb" /><item><title>RE: Migration from Gazell to static payload ESB</title><link>https://devzone.nordicsemi.com/thread/381848?ContentTypeID=1</link><pubDate>Tue, 16 Aug 2022 18:42:18 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:1dfe4b6a-ec79-43ff-9667-276fb04a716e</guid><dc:creator>Abraham Hamidi</dc:creator><description>&lt;p&gt;Sorry if I do not understand your answer, but I do not see an answer to whether queueing data for ack on prx is supported for static size packet payloads. It seems that it is not supported for them, and is meant only for dynamic payloads (I think it has a max of 32 bytes, see discussion in &lt;a href="https://devzone.nordicsemi.com/f/nordic-q-a/36842/esb-ack-packet-not-received)"&gt;devzone.nordicsemi.com/.../esb-ack-packet-not-received&lt;/a&gt;, maybe this is outdated), but I am not sure.&lt;/p&gt;
&lt;p&gt;Also, the examples that you linked admit that data is delayed by one event since they queue the state on receive, which makes them attached one ack late. This is unlike Gazell, where you can piggyback to the same ack. However, I am okay with this if it means I can get the higher throughput supported by ESB, since they support larger packet sizes in static mode.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Relating to that, for the second concern, I have found that each additional byte is 4us in 2Mbps mode. However, static payloads seem to be much better because I guess since more bytes are sent per payload before the radio has to switch modes, it can get all the way to 1.28Mbps according to&amp;nbsp;&amp;nbsp;&lt;a href="https://devzone.nordicsemi.com/nordic/nordic-blog/b/blog/posts/intro-to-shockburstenhanced-shockburst"&gt;Intro to ShockBurst/Enhanced ShockBurst&lt;/a&gt;&amp;nbsp;: &amp;quot;Throughput is greatly improved when larger payloads are used&amp;quot;. Anyway, is it possible to get these large throughputs supported in Gazell? Obviously I would have to increase the timeslot period, but it seems Gazell only supports dynamic/up to 32 bytes right now.&lt;/p&gt;
&lt;p&gt;Edit: I have done some research and found that static ESB mode uses 0 byte payloads on ACK. This answers that question. I do need payloads on ACKs though. So I guess I have to modify the source code to hardcode this.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Migration from Gazell to static payload ESB</title><link>https://devzone.nordicsemi.com/thread/381771?ContentTypeID=1</link><pubDate>Tue, 16 Aug 2022 12:19:55 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:3ef0fb6d-e17a-4993-847e-80a4a8a3cf06</guid><dc:creator>Kenneth</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;I believe the ESB examples should show for instance how to&amp;nbsp;add&amp;nbsp;data on ack:&lt;br /&gt;&lt;a href="https://infocenter.nordicsemi.com/topic/sdk_nrf5_v17.1.0/examples_esb.html"&gt;https://infocenter.nordicsemi.com/topic/sdk_nrf5_v17.1.0/examples_esb.html&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In general see ESB documentation:&amp;nbsp;&lt;br /&gt;&lt;a href="https://infocenter.nordicsemi.com/topic/sdk_nrf5_v17.1.0/group__nrf__esb.html"&gt;https://infocenter.nordicsemi.com/topic/sdk_nrf5_v17.1.0/group__nrf__esb.html&lt;/a&gt;&amp;nbsp;&lt;br /&gt;&lt;a href="https://infocenter.nordicsemi.com/topic/sdk_nrf5_v17.1.0/esb_users_guide.html"&gt;https://infocenter.nordicsemi.com/topic/sdk_nrf5_v17.1.0/esb_users_guide.html&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Have in mind thought, that if you want to receive for instance 252byte payload on ack, then including radio switching etc you will need to have a large retransmit delay when transmitting from the PTX to ensure there is sufficient time to receive the entire ack payload. Likely you will need a retransmit delay of 2.5ms for @1Mbps and half that for 2Mbps.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I recommend to uset dynamic payload length yes, since you can then dynamically change the payload length when transmitting.&lt;/p&gt;
&lt;p&gt;Kenneth&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>