<?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>Heartrate with Coded PHY example from nRF Connect SDK with nRF52833 - Range is disappointing</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/85992/heartrate-with-coded-phy-example-from-nrf-connect-sdk-with-nrf52833---range-is-disappointing</link><description>Hi, 
 I am using two Fanstel BM833 dev kits which feature an nRF52833 to test the coded PHY feature. The advertised range is up to 1500m line of sight with the PCB antenna. I used the &amp;quot;peripheral_hr_coded&amp;quot; and &amp;quot;central_hr_coded&amp;quot; examples from the nRF</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Mon, 28 Mar 2022 06:34:10 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/85992/heartrate-with-coded-phy-example-from-nrf-connect-sdk-with-nrf52833---range-is-disappointing" /><item><title>RE: Heartrate with Coded PHY example from nRF Connect SDK with nRF52833 - Range is disappointing</title><link>https://devzone.nordicsemi.com/thread/360146?ContentTypeID=1</link><pubDate>Mon, 28 Mar 2022 06:34:10 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:dd1d477b-57d0-4449-9d82-55b54451b1ad</guid><dc:creator>Susheel Nuguru</dc:creator><description>&lt;p&gt;You need to have&amp;nbsp;CONFIG_BT_CTLR_TX_PWR_DYNAMIC_CONTROL=y in your proj.conf for the dynamic tx power control to work.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Heartrate with Coded PHY example from nRF Connect SDK with nRF52833 - Range is disappointing</title><link>https://devzone.nordicsemi.com/thread/360145?ContentTypeID=1</link><pubDate>Mon, 28 Mar 2022 06:32:42 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:fc209df1-917d-41db-8037-b61069bd3f0a</guid><dc:creator>Susheel Nuguru</dc:creator><description>&lt;p&gt;I am really sorry that i got stuck on the softdevice API even though you clearly mentioned nRF Connect SDK.&lt;/p&gt;
[quote user="protosquid"]Ensure the connection is really coded phy[/quote]
&lt;div&gt;
&lt;div&gt;&lt;a href="https://docs.zephyrproject.org/latest/reference/bluetooth/connection_mgmt.html?highlight=bt_conn_get_info#c.bt_conn_get_info"&gt;&lt;span&gt;bt_conn_get_info&amp;nbsp;&lt;/span&gt;&lt;/a&gt;will give you info where you can check info-&amp;gt;le-&amp;gt;phy to know which phy you have tx and rx on.&lt;br /&gt;You can also do a force&amp;nbsp;&lt;a href="https://docs.zephyrproject.org/latest/reference/bluetooth/connection_mgmt.html?highlight=bt_conn_le_phy_update#c.bt_conn_le_phy_update"&gt;bt_conn_le_phy_update&lt;/a&gt;&amp;nbsp;to coded phy just after the connection just to be sure.&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;[quote user="protosquid"]Adjust the TX power[/quote]
&lt;p&gt;I normally use this code snippet in my hobby testing projects. It might be helpful to you in your case.&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;static void set_tx_power(uint8_t handle_type, uint16_t handle, int8_t tx_pwr_lvl)
{
	struct bt_hci_cp_vs_write_tx_power_level *cp;
	struct bt_hci_rp_vs_write_tx_power_level *rp;
	struct net_buf *buf, *rsp = NULL;
	int err;

	buf = bt_hci_cmd_create(BT_HCI_OP_VS_WRITE_TX_POWER_LEVEL,
				sizeof(*cp));
	if (!buf) {
		printk(&amp;quot;Unable to allocate command buffer\n&amp;quot;);
		return;
	}

	cp = net_buf_add(buf, sizeof(*cp));
	cp-&amp;gt;handle = sys_cpu_to_le16(handle);
	cp-&amp;gt;handle_type = handle_type;
	cp-&amp;gt;tx_power_level = tx_pwr_lvl;

	err = bt_hci_cmd_send_sync(BT_HCI_OP_VS_WRITE_TX_POWER_LEVEL,
				   buf, &amp;amp;rsp);
	if (err) {
		uint8_t reason = rsp ?
			((struct bt_hci_rp_vs_write_tx_power_level *)
			  rsp-&amp;gt;data)-&amp;gt;status : 0;
		printk(&amp;quot;Set Tx power err: %d reason 0x%02x\n&amp;quot;, err, reason);
		return;
	}

	rp = (void *)rsp-&amp;gt;data;
	printk(&amp;quot;Actual Tx Power: %d\n&amp;quot;, rp-&amp;gt;selected_tx_power);

	net_buf_unref(rsp);
}&lt;/pre&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Heartrate with Coded PHY example from nRF Connect SDK with nRF52833 - Range is disappointing</title><link>https://devzone.nordicsemi.com/thread/359654?ContentTypeID=1</link><pubDate>Wed, 23 Mar 2022 15:06:04 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:544cc712-b7b6-46f5-a9d0-bec1cdc843d4</guid><dc:creator>Felix Cormier</dc:creator><description>&lt;p&gt;Correct me if I&amp;#39;m wrong, but both the suggestions you made use the SoftDevice libraries (S113). However, as far as I can tell, the&amp;nbsp;&lt;span&gt;&amp;quot;peripheral_hr_coded&amp;quot; and &amp;quot;central_hr_coded&amp;quot; examples that I&amp;#39;m using from the nRF Connect SDK (\v1.9.0\nrf\samples\bluetooth) don&amp;#39;t use S113 (unless they do under the hood?). These examples already implement coded phy, that&amp;#39;s why I&amp;#39;m trying to start from them. They use the libraries from (\v1.9.0\nrf\include\bluetooth).&amp;nbsp;Is there a way to do these two things using those libraries?&lt;/span&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;span&gt;Ensure the connection is really coded phy&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Adjust the TX power&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;span&gt;Thanks for your help,&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Heartrate with Coded PHY example from nRF Connect SDK with nRF52833 - Range is disappointing</title><link>https://devzone.nordicsemi.com/thread/359545?ContentTypeID=1</link><pubDate>Wed, 23 Mar 2022 09:46:40 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:62620c0f-a960-4793-9b99-349568ce517c</guid><dc:creator>Susheel Nuguru</dc:creator><description>&lt;p&gt;You are right, nRF sniffer cannot pack extended adv packets so it cannot support coded phy.&lt;/p&gt;
&lt;p&gt;Even though the connection is established in the phy that is used by adv/scanner, you can try to initiate a phy update procedure in the connected event (just after the connection) using&amp;nbsp;&lt;span&gt;sd_ble_gap_phy_update. You will then get the details of which phy your connection is on and you can show that on the logs. Something similar to what is explained in &lt;a href="https://devzone.nordicsemi.com/f/nordic-q-a/37626/distinguishing-between-1mphy-and-coded-phy-connections"&gt;this&lt;/a&gt; thread.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
[quote user="protosquid"]As far as TX power goes, I haven&amp;#39;t changed it from the examples. How can I set this to the maximum for the SoC?[/quote]
&lt;p&gt;&lt;a href="https://infocenter.nordicsemi.com/index.jsp?topic=%2Fcom.nordic.infocenter.s113.api.v7.3.0%2Fgroup___b_l_e___g_a_p___f_u_n_c_t_i_o_n_s.html&amp;amp;anchor=gad10e80ba20ddab42d1753fd1be2d8c26"&gt;sd_ble_gap_tx_power_set&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Heartrate with Coded PHY example from nRF Connect SDK with nRF52833 - Range is disappointing</title><link>https://devzone.nordicsemi.com/thread/359354?ContentTypeID=1</link><pubDate>Tue, 22 Mar 2022 12:03:03 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:5268fadb-7d97-41df-842f-1bb10f16a2fc</guid><dc:creator>Felix Cormier</dc:creator><description>&lt;p&gt;Hi Susheel,&lt;/p&gt;
&lt;p&gt;I wish I could externally confirm that the connection is a coded phy connection but as far as I can tell from the devzone (&lt;a href="https://devzone.nordicsemi.com/f/nordic-q-a/47770/nrf-sniffer-and-coded-phy"&gt;here&lt;/a&gt;, &lt;a href="https://devzone.nordicsemi.com/f/nordic-q-a/61204/nrf-sniffer-coded-phy-support"&gt;here&lt;/a&gt;&amp;nbsp;and&amp;nbsp;&lt;a href="https://devzone.nordicsemi.com/f/nordic-q-a/42216/does-the-nrf-sniffer-support-long-range-coded-phy-packets-on-nrf52840-dk-pca10056"&gt;here&lt;/a&gt;), the nRF Sniffer doesn&amp;#39;t support coded phy. Has this changed? I tried running a sniffer on an nRF52840-DK and I can&amp;#39;t see any traffic from the two devices, but they are happily exchanging information.&lt;/p&gt;
&lt;p&gt;As far as TX power goes, I haven&amp;#39;t changed it from the examples. How can I set this to the maximum for the SoC?&lt;/p&gt;
&lt;p&gt;Thanks for your support!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Heartrate with Coded PHY example from nRF Connect SDK with nRF52833 - Range is disappointing</title><link>https://devzone.nordicsemi.com/thread/359231?ContentTypeID=1</link><pubDate>Mon, 21 Mar 2022 19:48:36 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:fd20d451-a890-48b4-9ad1-9f470a4f85de</guid><dc:creator>Susheel Nuguru</dc:creator><description>[quote user=""]As-is, this code gives me a range of about 100-150m line-of-sight before the terminal tells me it lost the connection.[/quote]
&lt;p&gt;That is unacceptably dissapointing results. Can you please make sure in the logs or sniffer that you in fact have a coded phy connection? Also what is the TX power for each set to?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Heartrate with Coded PHY example from nRF Connect SDK with nRF52833 - Range is disappointing</title><link>https://devzone.nordicsemi.com/thread/358968?ContentTypeID=1</link><pubDate>Sun, 20 Mar 2022 16:25:08 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:1345bdad-2ed8-48b9-8375-9e55431c783a</guid><dc:creator>Felix Cormier</dc:creator><description>&lt;p&gt;To be more specific, I am using the &amp;quot;BM833&amp;quot; module: the one with the smaller PCB antenna. Not the &amp;quot;F&amp;quot; and not the &amp;quot;E&amp;quot;. It is mounted on&amp;nbsp;&lt;a href="https://www.fanstel.com/buy/ev-bt832f-evaluation-board-for-bt832f-9xae6-ka33r"&gt;this board&lt;/a&gt;&amp;nbsp;(EV-BM833 from Fanstel). I program it through VS Code with the nRF Connect Extension as a &amp;quot;nrf52833dk_nrf52833&amp;quot; using a segger programmer. Don&amp;#39;t hesitate if you need any more info! Thanks.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>