<?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>UARTE receive timeout (RXTO)</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/29197/uarte-receive-timeout-rxto</link><description>Hello, 
 I have a question regarding the nrf uart driver. The RXTO event is never triggered even though the Interrupt itself is enabled (and the line is idle after a packet, so the timeout should happen unless it&amp;#39;s set as something unusably long, &amp;gt; 1</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Thu, 05 Apr 2018 14:20:05 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/29197/uarte-receive-timeout-rxto" /><item><title>RE: UARTE receive timeout (RXTO)</title><link>https://devzone.nordicsemi.com/thread/127083?ContentTypeID=1</link><pubDate>Thu, 05 Apr 2018 14:20:05 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:8675b024-2e80-4113-a18d-40ca3893efcf</guid><dc:creator>J&amp;#248;rgen Holmefjord</dc:creator><description>&lt;p&gt;Timeouts&amp;nbsp;should be available using&amp;nbsp;the &lt;a href="http://infocenter.nordicsemi.com/topic/com.nordic.infocenter.sdk5.v15.0.0/lib_serial.html?cp=4_0_0_3_39"&gt;Serial Port&amp;nbsp;library&lt;/a&gt;. There are also a new library, &lt;a href="http://infocenter.nordicsemi.com/topic/com.nordic.infocenter.sdk5.v15.0.0/group__nrf__libuarte.html?cp=4_0_0_6_11_15"&gt;nrf_libuarte&lt;/a&gt; in the SDK, please see the examples in examples/peripheral/experimental_libuarte directory.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: UARTE receive timeout (RXTO)</title><link>https://devzone.nordicsemi.com/thread/126903?ContentTypeID=1</link><pubDate>Wed, 04 Apr 2018 15:39:56 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:6dfc4834-6334-4e20-bb89-c7c672ec0eeb</guid><dc:creator>thefool</dc:creator><description>&lt;p&gt;Hi J&amp;oslash;rgen,&amp;nbsp;&lt;br /&gt;I could not find any direct reference to this in the changelog for SDK15, now that that&amp;#39;s out. Is this feature now available in SDK 15?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: UARTE receive timeout (RXTO)</title><link>https://devzone.nordicsemi.com/thread/116099?ContentTypeID=1</link><pubDate>Mon, 08 Jan 2018 11:50:32 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:923b4848-31f3-4ff2-9ceb-b2299eb9cc58</guid><dc:creator>J&amp;#248;rgen Holmefjord</dc:creator><description>&lt;p&gt;Yes, as you see from the timing diagram, there are a possibility that bytes can be received in the timeout period after triggering STOPRX task. If you start a new RX immediately after STOPRX, these bytes will be overwritten in the buffer. The &lt;a href="http://infocenter.nordicsemi.com/topic/com.nordic.infocenter.nrf52832.ps.v1.1/uarte.html?cp=2_1_0_34_1#concept_l5y_hcm_wr"&gt;UARTE peripheral support double-buffering&lt;/a&gt;, meaning you can setup a new buffer right after receiving TXSTARTED/RXSTARTED events: &lt;em&gt;&amp;quot;The .PTR and .MAXCNT registers are double-buffered. They can be updated and prepared for the next RX/TX transmission immediately after having received the RXSTARTED/TXSTARTED event.&amp;quot;&lt;/em&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: UARTE receive timeout (RXTO)</title><link>https://devzone.nordicsemi.com/thread/116101?ContentTypeID=1</link><pubDate>Mon, 08 Jan 2018 10:11:23 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:2b09a6ee-a107-4df0-be3b-9bcb86043ed0</guid><dc:creator>thefool</dc:creator><description>&lt;p&gt;is there a risk of losing incoming bytes by calling STOPRX, and immediately
starting a new RX, without waiting for the RXTO or ENDRX events? (i.e. what happens if new bytes are coming in during the FLUSHRX task?)&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: UARTE receive timeout (RXTO)</title><link>https://devzone.nordicsemi.com/thread/116100?ContentTypeID=1</link><pubDate>Mon, 08 Jan 2018 09:38:44 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:469897f1-82c5-4adc-add5-bc186a48e7b5</guid><dc:creator>J&amp;#248;rgen Holmefjord</dc:creator><description>&lt;p&gt;From the description in the page I linked above, this should explain this: &lt;em&gt;&amp;quot;After the RXTO event is generated the internal RX FIFO may still contain data, and to move this data to RAM the FLUSHRX task must be triggered.&amp;quot;&lt;/em&gt; It is the FLUSHRX task that triggers the ENDRX event after the RXTO event.&lt;/p&gt;
&lt;p&gt;Unfortunately, there is no way of knowing what have been written to RAM by DMA before getting the ENDRX event, indicating that all the data is written and valid.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: UARTE receive timeout (RXTO)</title><link>https://devzone.nordicsemi.com/thread/116097?ContentTypeID=1</link><pubDate>Fri, 05 Jan 2018 15:42:49 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b1686c69-a130-4962-b195-6e0ee751adf6</guid><dc:creator>GK solutions</dc:creator><description>&lt;p&gt;In the meantime I was testing something else and noticed that I get the RXTO when I abort...although honestly, I don&amp;#39;t really see the point in that, given that we also get the ENDRX event.&lt;/p&gt;
&lt;p&gt;On a similar note, is it possible to somehow get the amount of bytes already copied by the dma to our buffer (or pointer to the &amp;quot;head&amp;quot; or something similar) while the DMA is still running, to be able to abort when I get the end  of message byte in our protocol? I know the RXD.AMOUNT is only valid (copied from the actual register used) on the ENDRX event. Thanks&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: UARTE receive timeout (RXTO)</title><link>https://devzone.nordicsemi.com/thread/116098?ContentTypeID=1</link><pubDate>Fri, 05 Jan 2018 14:28:47 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:867664a8-038b-47d7-8038-ddf2012cf169</guid><dc:creator>J&amp;#248;rgen Holmefjord</dc:creator><description>&lt;p&gt;Unfortunately, this has not yet been added to the SDK. We have put some work into this, but it is not completed and tested yet. We previously shared some code in &lt;a href="https://devzone.nordicsemi.com/question/175662/nrf-cli-cannot-handle-long-arguments/?answer=176048#post-id-176048"&gt;another DevZone thread&lt;/a&gt; that might be of interest.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: UARTE receive timeout (RXTO)</title><link>https://devzone.nordicsemi.com/thread/116102?ContentTypeID=1</link><pubDate>Fri, 05 Jan 2018 13:12:36 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:dd0b1799-f210-4d5f-a30c-0cce06a78cfb</guid><dc:creator>thefool</dc:creator><description>&lt;p&gt;So this:
&amp;quot;A solution is to connect GPIOTE IN event to the UARTE RX pin and reset a timer when there is any activity on the pin. If the timer reaches a certain timeout, you know that there have been no data received for that time and you can flush the DMA buffer.&lt;/p&gt;
&lt;p&gt;We are working on implementing this in the SDK driver.&amp;quot;&lt;/p&gt;
&lt;p&gt;from &lt;a href="https://devzone.nordicsemi.com/question/53355/nrf52-uarte-receive-timeout/"&gt;here&lt;/a&gt; has not yet happened?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: UARTE receive timeout (RXTO)</title><link>https://devzone.nordicsemi.com/thread/116096?ContentTypeID=1</link><pubDate>Fri, 05 Jan 2018 11:38:16 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:773bc5a8-83c6-4e4c-85a2-602b6e8e06cf</guid><dc:creator>J&amp;#248;rgen Holmefjord</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;RXTO event should only be generated by forced stop via STOPRX task, as shown in timing diagram in &lt;a href="http://infocenter.nordicsemi.com/topic/com.nordic.infocenter.nrf52840.ps/uarte.html?cp=2_0_0_33_3#concept_uzb_p2m_wr"&gt;&lt;em&gt;Figure 4. UARTE reception with forced stop via STOPRX&lt;/em&gt;&lt;/a&gt;. Are you triggering the STOPRX task?&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Jørgen&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>