<?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>How does BLE + ESB receive?</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/86891/how-does-ble-esb-receive</link><description>Hello Nordic Engineer, 
 
 I&amp;#39;m a beginner 
 In this GitHub 
 If I add code after 473 lines 
 rx_payload.noack = true 
 what will the final result be? 
 
 Thanks</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Thu, 28 Apr 2022 08:14:47 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/86891/how-does-ble-esb-receive" /><item><title>RE: How does BLE + ESB receive?</title><link>https://devzone.nordicsemi.com/thread/365324?ContentTypeID=1</link><pubDate>Thu, 28 Apr 2022 08:14:47 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:56d662e5-444e-4a80-ba73-6e6df68cf02d</guid><dc:creator>Kenneth</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;I suggest to get an &lt;a href="https://www.nordicsemi.com/Products/Development-hardware/Power-Profiler-Kit-2"&gt;PPK II&lt;/a&gt;, then you can see in real-time based on the current consumption when it&amp;#39;s in rx, tx, idle, and switching. This will make it much easier to see how your changes affect timing etc.&lt;/p&gt;
&lt;p&gt;Best regards,&lt;br /&gt;Kenneth&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How does BLE + ESB receive?</title><link>https://devzone.nordicsemi.com/thread/365281?ContentTypeID=1</link><pubDate>Thu, 28 Apr 2022 03:41:02 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:43a94180-a51b-42f4-bef6-ae8a0b2ebecd</guid><dc:creator>eric_cheng</dc:creator><description>&lt;p&gt;I don&amp;#39;t quite understand the specific effect...&lt;/p&gt;
&lt;p&gt;But I turned them all off&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;nrf_esb_config.selective_auto_ack = true;
rx_payload.noack = true;&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;=========================&lt;/p&gt;
&lt;p&gt;I describe my current approach&lt;/p&gt;
&lt;p&gt;Can you correct me if I&amp;#39;m doing something wrong?&lt;/p&gt;
&lt;p&gt;I used Timer1 to switch TX and RX In 《timer_event_handler》&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;state = !state;

if(state == true) 
	{		
		//memcpy(&amp;amp;nrf_esb_config, &amp;amp;tmp_config, sizeof(nrf_esb_config_t));
		nrf_esb_config.payload_length     = 2; 
		nrf_esb_config.protocol           = NRF_ESB_PROTOCOL_ESB_DPL;
		nrf_esb_config.retransmit_delay   = 1000;
		nrf_esb_config.bitrate            = NRF_ESB_BITRATE_2MBPS;
		nrf_esb_config.event_handler      = nrf_esb_event_handler;
		nrf_esb_config.mode               = NRF_ESB_MODE_PTX;
		nrf_esb_config.tx_output_power		= NRF_ESB_TX_POWER_4DBM;
		nrf_esb_config.selective_auto_ack = true;
		nrf_esb_config.radio_irq_priority = 0; 
	}
	else
	{
		//memcpy(&amp;amp;nrf_esb_config, &amp;amp;tmp_config, sizeof(nrf_esb_config_t)); 
		nrf_esb_config.payload_length     = 8;
		nrf_esb_config.protocol           = NRF_ESB_PROTOCOL_ESB_DPL;
		nrf_esb_config.bitrate            = NRF_ESB_BITRATE_2MBPS;
		nrf_esb_config.mode               = NRF_ESB_MODE_PRX;
		nrf_esb_config.event_handler      = nrf_esb_event_handler;
		nrf_esb_config.selective_auto_ack = true;
		nrf_esb_config.radio_irq_priority = 0;
	}&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;I don&amp;#39;t know if it is correct to use timer to change TX and RX?&lt;/p&gt;
&lt;p&gt;Thank&amp;nbsp;you&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How does BLE + ESB receive?</title><link>https://devzone.nordicsemi.com/thread/364722?ContentTypeID=1</link><pubDate>Mon, 25 Apr 2022 12:46:54 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:3080e626-1001-4922-88ae-d2c78b79f872</guid><dc:creator>Kenneth</dc:creator><description>&lt;p&gt;Calling&amp;nbsp;rx_payload.noack in the callback irq handler will have no effect.&lt;/p&gt;
&lt;p&gt;If you don&amp;#39;t want to receive an ack, then set this flag to true before calling&amp;nbsp;&lt;span&gt;nrf_esb_write_payload().&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Best regards,&lt;br /&gt;Kenneth&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How does BLE + ESB receive?</title><link>https://devzone.nordicsemi.com/thread/364706?ContentTypeID=1</link><pubDate>Mon, 25 Apr 2022 12:08:15 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d48b6df6-b8e7-4014-b13a-ce8c7d3e3e83</guid><dc:creator>eric_cheng</dc:creator><description>&lt;p&gt;Thank you,&lt;/p&gt;
&lt;p&gt;TX can close or open ack, I understand this&lt;/p&gt;
&lt;p&gt;but for RX&lt;/p&gt;
&lt;p&gt;&lt;img alt=" " src="https://devzone.nordicsemi.com/resized-image/__size/320x240/__key/communityserver-discussions-components-files/4/6303.q1.png" /&gt;&lt;/p&gt;
&lt;p&gt;《rx_payload.noack = true;》What does this code do?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How does BLE + ESB receive?</title><link>https://devzone.nordicsemi.com/thread/364681?ContentTypeID=1</link><pubDate>Mon, 25 Apr 2022 11:12:07 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:2d24531a-7a9a-4ae2-94a3-87afde59b10f</guid><dc:creator>Kenneth</dc:creator><description>[quote user="eric_cheng"]RX can choose to turn off ack (do not send response to TX)[/quote]
&lt;p&gt;This is not possible, it&amp;#39;s only the TX that can control whether it want an ACK or not.&lt;/p&gt;
[quote user="eric_cheng"]TX can also choose to turn off ack (no response is received)[/quote]
&lt;p&gt;Correct.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How does BLE + ESB receive?</title><link>https://devzone.nordicsemi.com/thread/364655?ContentTypeID=1</link><pubDate>Mon, 25 Apr 2022 09:39:44 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:da881c52-a8e8-463d-9cdd-fab8e0f3cba0</guid><dc:creator>eric_cheng</dc:creator><description>&lt;p&gt;&lt;span&gt;Hi,&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Thank you for your reply&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;I want to discuss the content of your reply in two parts&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;pre class="ui-code" data-mode="text"&gt;Have in mind that when you are not using ACK, it is a chance that one or both devices will not receive the packet. &lt;/pre&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;In my understanding, TX can send data to Rx&lt;/p&gt;
&lt;p&gt;If RX wants to send data to TX, it must use&amp;nbsp;ACK&lt;/p&gt;
&lt;p&gt;RX can choose to turn off ack (do not send response to TX)&lt;/p&gt;
&lt;p&gt;TX can also choose to turn off ack (no response is received)&lt;/p&gt;
&lt;p&gt;Do I have a wrong understanding? (If I&amp;#39;m wrong, hope you can correct me)&lt;/p&gt;
&lt;p&gt;=========================&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;So just to make sure I don&amp;#39;t misunderstand the problem here, 
are some packets received from the relay, 
or are no packet received from the relay?&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;&amp;quot;Relay&amp;quot; will only receive&amp;nbsp;BLE&amp;nbsp;data and send ESB_ ptx&lt;/p&gt;
&lt;p&gt;As for other Devices, they have the functions of TX and RX at the same time&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Thank&amp;nbsp;you&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How does BLE + ESB receive?</title><link>https://devzone.nordicsemi.com/thread/364616?ContentTypeID=1</link><pubDate>Mon, 25 Apr 2022 07:46:25 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:2dcde3d8-8cf6-4dc4-ac5e-4171dd5075f9</guid><dc:creator>Kenneth</dc:creator><description>&lt;p&gt;Have in mind that when you are not using ACK, it is a chance that one or both devices will not receive the packet. So just to make sure I don&amp;#39;t misunderstand the problem here, are some packets received&amp;nbsp;from the relay, or are no packet received from the relay?&lt;/p&gt;
&lt;p&gt;Kenneth&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How does BLE + ESB receive?</title><link>https://devzone.nordicsemi.com/thread/364356?ContentTypeID=1</link><pubDate>Fri, 22 Apr 2022 06:32:40 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:54de7701-3261-4ce0-8e68-97a8cc66e376</guid><dc:creator>eric_cheng</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;I tried to turn off ack&lt;/p&gt;
&lt;p&gt;But there are still out of synchronization&lt;/p&gt;
&lt;p&gt;Any of my products can be used as &amp;quot;relay&amp;quot;&lt;/p&gt;
&lt;p&gt;So their program are the same&lt;/p&gt;
&lt;p&gt;Under this premise, all products (including &amp;quot;relay&amp;quot;)&lt;/p&gt;
&lt;p&gt;Both lines of code will be executed&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;nrf_esb_config.selective_auto_ack = true;
rx_payload.noack = true;&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;==================&lt;/p&gt;
&lt;p&gt;I&amp;#39;m thinking about a problem&lt;/p&gt;
&lt;p&gt;&amp;quot;relay&amp;quot; after pairing with mobile phone&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&amp;quot;relay&amp;quot;&lt;/span&gt;&amp;nbsp;sends an instruction to notify the nearby device to turn off Bluetooth&lt;/p&gt;
&lt;p&gt;Do you think this way can solve the synchronization problem?&lt;/p&gt;
&lt;p&gt;Thank&amp;nbsp;you&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How does BLE + ESB receive?</title><link>https://devzone.nordicsemi.com/thread/363590?ContentTypeID=1</link><pubDate>Tue, 19 Apr 2022 12:48:12 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:3b03604f-2b9f-4b6d-adda-c88f5d7a721f</guid><dc:creator>Sigurd Hellesvik</dc:creator><description>&lt;p&gt;Hi Eric&lt;/p&gt;
&lt;p&gt;Try to use&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;nrf_esb_config.selective_auto_ack = true;
rx_payload.noack = true;&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;on the &amp;quot;relay&amp;quot; and only &lt;br /&gt;&lt;pre class="ui-code" data-mode="text"&gt;nrf_esb_config.selective_auto_ack = true;&lt;/pre&gt;on the two other devices.&lt;/p&gt;
&lt;p&gt;Does this fix your issue?&lt;/p&gt;
&lt;p&gt;Regards,&lt;br /&gt;Sigurd Hellesvik&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How does BLE + ESB receive?</title><link>https://devzone.nordicsemi.com/thread/363332?ContentTypeID=1</link><pubDate>Mon, 18 Apr 2022 04:04:56 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:3dfa2080-e2d6-4d6b-a97e-d3869e5770ba</guid><dc:creator>eric_cheng</dc:creator><description>&lt;p&gt;Hi ,&lt;/p&gt;
&lt;p&gt;Can you answer this question, please?&lt;/p&gt;
&lt;p&gt;Thank you&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How does BLE + ESB receive?</title><link>https://devzone.nordicsemi.com/thread/363227?ContentTypeID=1</link><pubDate>Wed, 13 Apr 2022 15:04:34 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d5dae61a-ff57-4eb7-bd3d-85ca75cebd77</guid><dc:creator>eric_cheng</dc:creator><description>&lt;p&gt;Hi&amp;nbsp;&lt;span&gt;Nordic&amp;nbsp;Engineer,&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Thank you for your reply&lt;/p&gt;
&lt;p&gt;I use nRF52811&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;I tried, but the synchronization problem I encountered couldn&amp;#39;t be solved&lt;/p&gt;
&lt;p&gt;Can I describe my application scenario?&lt;/p&gt;
&lt;p&gt;I hope there are more devices(nRF52811)&lt;/p&gt;
&lt;p&gt;But let me assume 3 devices first&lt;/p&gt;
&lt;p&gt;The burning procedures of these 3 devices are the same&lt;/p&gt;
&lt;p&gt;It means that any device can be paired with a mobile phone (User autonomy)&lt;/p&gt;
&lt;p&gt;But the phone will only pair with&amp;nbsp;1 device (I call it relay)&lt;/p&gt;
&lt;p&gt;The remaining&amp;nbsp;2 unpaired devices will be in ESB_ RX status&lt;/p&gt;
&lt;p&gt;These 2 devices should receive the data sent by &amp;quot;relay&amp;quot; in time&lt;/p&gt;
&lt;p&gt;After the mobile phone sends data, &amp;quot;relay&amp;quot; and device should be synchronized as much as possible&lt;/p&gt;
&lt;p&gt;To do this, I want to turn off all &amp;quot;ack&amp;quot;&lt;/p&gt;
&lt;p&gt;In addition, I tried to turn off another &amp;quot;ack&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;nrf_esb_config.selective_auto_ack = true;&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;This did not make the effect better&lt;/p&gt;
&lt;p&gt;So what should I do?&lt;/p&gt;
&lt;p&gt;Thank&amp;nbsp;you&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How does BLE + ESB receive?</title><link>https://devzone.nordicsemi.com/thread/363201?ContentTypeID=1</link><pubDate>Wed, 13 Apr 2022 12:57:34 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:5110c680-99ec-4497-96aa-a9ec94af2184</guid><dc:creator>Sigurd Hellesvik</dc:creator><description>&lt;p&gt;Hi Eric&lt;/p&gt;
&lt;p&gt;Which microcontroller are you using?&lt;/p&gt;
[quote user=""]&lt;p&gt;If I add code after 473 lines&lt;/p&gt;
&lt;p&gt;&lt;span&gt;rx_payload.noack = true&lt;/span&gt;&lt;/p&gt;[/quote]
&lt;p&gt;Have you tried this yourself?&lt;br /&gt;If so, did it disable the ack in the rx payload as expected?&lt;/p&gt;
&lt;p&gt;Regards,&lt;br /&gt;Sigurd Hellesvik&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>