<?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>Direct Test Mode Timer issue</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/104254/direct-test-mode-timer-issue</link><description>I have a program that runs DTM, for testing, however there were issues regarding timeing. 
 It was taken from nRF5_SDK_17.1.0_ddde560\examples\dtm\direct_test_mode 
 ble_dtm.c set up the timer as follows: 
 static uint32_t m_txIntervaluS = 2500; /**&amp;lt;</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Fri, 29 Sep 2023 09:54:00 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/104254/direct-test-mode-timer-issue" /><item><title>RE: Direct Test Mode Timer issue</title><link>https://devzone.nordicsemi.com/thread/448305?ContentTypeID=1</link><pubDate>Fri, 29 Sep 2023 09:54:00 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:6de85807-b018-4c60-a51b-8bb2feac0d6b</guid><dc:creator>Paul772309</dc:creator><description>&lt;p&gt;The firmware is a very basic DTM type with UART port set appropriately for the nRF52810.&lt;/p&gt;
&lt;p&gt;It looks like the timer is incorrectly set up. I don&amp;#39;t know how this code passed QA.&lt;/p&gt;
&lt;p&gt;I have replaced dtm_wait() with a simple delay loop aproximately of the deisgned delay (260us) and it appears to work fine, at least in transmit mode anyway.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Direct Test Mode Timer issue</title><link>https://devzone.nordicsemi.com/thread/448254?ContentTypeID=1</link><pubDate>Fri, 29 Sep 2023 07:25:28 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:cbc70cf5-f22a-46eb-8e56-07d3c4e2d823</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;A dedicated tester shall use a minimum of 5 ms as a timeout, so this should be OK.&amp;nbsp;Which dedicated tester are you testing against?&lt;/p&gt;
[quote user=""]currently imported[/quote]
&lt;p&gt;If I understand correctly, dtm is included in a larger project on your end. Could you also test direct_test_mode as a standalone firmware to see if there&amp;#39;s any integration issues?&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: Direct Test Mode Timer issue</title><link>https://devzone.nordicsemi.com/thread/448148?ContentTypeID=1</link><pubDate>Thu, 28 Sep 2023 12:05:23 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:9b67eef1-fa4b-47b7-8af0-c05af7fd5823</guid><dc:creator>Paul772309</dc:creator><description>&lt;p&gt;It causes a UART timeout otherwise.&lt;/p&gt;
&lt;p&gt;UART_POLL_CYCLE&amp;nbsp; is 260us&lt;/p&gt;
&lt;p&gt;MAX_ITERATIONS_NEEDED_FOR_NEXT_BYTE is 21&amp;nbsp;&amp;nbsp;&amp;nbsp; // 21*250 = 5460 is&lt;/p&gt;
&lt;p&gt;However if we are expecting dtm_wait() to take 260us it actually takes 2500us (or whatever m_txIntervaluS is set to)&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Direct Test Mode Timer issue</title><link>https://devzone.nordicsemi.com/thread/448131?ContentTypeID=1</link><pubDate>Thu, 28 Sep 2023 11:38:51 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c0c00040-be23-402a-9ea7-59a1897d6f9b</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=""]static uint32_t&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; m_txIntervaluS&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 2500;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /**&amp;lt; Time between start of Tx packets (in uS). */[/quote]
&lt;p&gt;Could you elaborate on&amp;nbsp;why you have altered this parameter?&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;The protocol implementation will adjust dynamically based on the packet length in n*625, where n is between 1 and 4. Here&amp;#39;s a table from Bluetooth Core spec v4.2, chapter 6/Part F/4.2:&lt;/p&gt;
&lt;p&gt;&lt;img style="max-height:240px;max-width:320px;" src="https://devzone.nordicsemi.com/resized-image/__size/640x480/__key/communityserver-discussions-components-files/4/pastedimage1695901017126v1.png" alt=" " /&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;(&amp;gt;=v5.0 of the core-spec writes the above with a formula instead of listing it in a table, ie. easier to understand the older spec)&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></channel></rss>