<?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>UART Forwarding/Passthrough</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/29417/uart-forwarding-passthrough</link><description>I have a GPS over UART to a nrf5283. For debugging the GPS, I&amp;#39;d like to passthrough UART from my PC to the GPS. I know the nrf5283 only has one UART. Is there a simple way to do this without creating a second UART in software?</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Wed, 17 Jan 2018 20:43:50 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/29417/uart-forwarding-passthrough" /><item><title>RE: UART Forwarding/Passthrough</title><link>https://devzone.nordicsemi.com/thread/117007?ContentTypeID=1</link><pubDate>Wed, 17 Jan 2018 20:43:50 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:7360f343-7ebc-46bd-abe5-1ec3f9159100</guid><dc:creator>Matt</dc:creator><description>&lt;p&gt;Is the PC &amp;lt;-- uart --&amp;gt; uBlox (I&amp;#39;m also testing with a uBlox product... wifi/bt combo, not GPS!) required for development only or for the final production? If it is for development purpose you can get away with two RS232 connectors and the uBlox can connect to either the nRF or the PC.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: UART Forwarding/Passthrough</title><link>https://devzone.nordicsemi.com/thread/117006?ContentTypeID=1</link><pubDate>Wed, 17 Jan 2018 17:01:32 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:31a5fecf-5804-4ed6-95c1-3a4a784e418b</guid><dc:creator>blueshifting</dc:creator><description>&lt;p&gt;The GPS is from U-Blox and I wanted to attempt using their diagnostic software which requires a serial connection on the PC. I&amp;#39;d have to find a way to either emulate that from BLE or RTT.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: UART Forwarding/Passthrough</title><link>https://devzone.nordicsemi.com/thread/117005?ContentTypeID=1</link><pubDate>Wed, 17 Jan 2018 15:15:14 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:68e971ee-6249-4fe3-a7e8-eb48cc63646e</guid><dc:creator>Simen August Tinderholt</dc:creator><description>&lt;p&gt;If you&amp;#39;re using a Segger debugger you could also try RTT, although it&amp;#39;s not a direct UART-&amp;gt; UART bridge it should be able to emulate the functionality you want.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: UART Forwarding/Passthrough</title><link>https://devzone.nordicsemi.com/thread/117008?ContentTypeID=1</link><pubDate>Mon, 15 Jan 2018 16:15:17 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e34e0df0-6b7e-45c8-9c83-324661cec77a</guid><dc:creator>MartinBL</dc:creator><description>&lt;p&gt;As @Matt mentions, you can also look at the nRF52840. Not only does it have built in USB that you can use as a COM port, but it also has &lt;a href="http://infocenter.nordicsemi.com/topic/com.nordic.infocenter.nrf52/dita/nrf52/chips/nrf52840_ps.html?cp=2_0_0"&gt;two UARTs&lt;/a&gt;, a feature that was requested by a lot of customers. It is also possible to do UART over BLE emulation as you suggest. It is probably one of our most used examples: &lt;a href="http://infocenter.nordicsemi.com/topic/com.nordic.infocenter.sdk5.v14.2.0/ble_sdk_app_nus_eval.html?cp=4_0_0_4_2_2_22"&gt;BLE over UART emulation example&lt;/a&gt;.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: UART Forwarding/Passthrough</title><link>https://devzone.nordicsemi.com/thread/116999?ContentTypeID=1</link><pubDate>Fri, 12 Jan 2018 23:26:25 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:fe358606-2994-4338-bd77-f7352c4acf09</guid><dc:creator>Matt</dc:creator><description>&lt;p&gt;The nrf52_1 in the  PC &amp;lt;-- uart --&amp;gt; nrf52_1 &amp;lt;-- ble --&amp;gt; {your nrf52832} &amp;lt;-- uart --&amp;gt; {your GPS} can be a cheap nRF52 breakout board (&amp;lt; USD$9.00) and that&amp;#39;s the setup I have used to &amp;quot;configure&amp;quot; my nRF52 board which is hooked up to a Telit module through the uart.&lt;/p&gt;
&lt;p&gt;I also like the GPIOTE/PPI solution proposed by endnode; elegant and simple :)&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: UART Forwarding/Passthrough</title><link>https://devzone.nordicsemi.com/thread/117004?ContentTypeID=1</link><pubDate>Fri, 12 Jan 2018 22:38:00 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:35b858e6-e889-4fa1-9494-ba255b699258</guid><dc:creator>endnode</dc:creator><description>&lt;p&gt;Then you need just Tx and Rx to copy on one side of the chip what comes on the other, GPIOTE and PPI are ideal for this! The problem might be if at certain moment you will need to start listening to Tx in your main FW because host will stop sending commands to GPS but it will be targeting nRF FW. But if you are free to choose the protocol then you can do something like &amp;quot;First UART wired to nRF UART and commands are processed in BLE FW =&amp;gt; once certain command arrives it will say how long the pass-through should be available now =&amp;gt; nRF de-inits the UART and wires the PINs with GPIOTE and PPI =&amp;gt; starts the counter =&amp;gt; now PC talks to GPS =&amp;gt; timer expires on nRF side so it will again cancels GPIOTE and PPI and reinits UART =&amp;gt; scenario can repeat as many times as necessary&amp;quot;.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://infocenter.nordicsemi.com/topic/com.nordic.infocenter.sdk5.v14.2.0/nrf_gpiote_example.html?cp=4_0_0_4_6_13"&gt;See SDK example for GPIOTE&lt;/a&gt;.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: UART Forwarding/Passthrough</title><link>https://devzone.nordicsemi.com/thread/117003?ContentTypeID=1</link><pubDate>Fri, 12 Jan 2018 22:22:50 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:4773f75a-67c5-4e1e-8043-2c6ace8efab7</guid><dc:creator>blueshifting</dc:creator><description>&lt;p&gt;@endnode Thanks for your comments. Indeed I am very close deciding this isn&amp;#39;t worth the effort. I do not need to do any filtering or modification on UART. My goal would be to emulate plugging directly into the GPS UART. Also, there is no HW flow control.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: UART Forwarding/Passthrough</title><link>https://devzone.nordicsemi.com/thread/117002?ContentTypeID=1</link><pubDate>Fri, 12 Jan 2018 22:15:29 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:fb8d167a-13bb-4523-93ff-94a5d97e61d3</guid><dc:creator>endnode</dc:creator><description>&lt;p&gt;In every case it&amp;#39;s very likely that no one went this rout before you (or at least unlikely you will find such code lying with free license on GitHub or elsewhere) meaning that you have some serious work ahead (unless you will change your requirements). Good luck!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: UART Forwarding/Passthrough</title><link>https://devzone.nordicsemi.com/thread/117009?ContentTypeID=1</link><pubDate>Fri, 12 Jan 2018 22:14:05 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:cd09730a-0b14-499a-87ac-57efb2402d14</guid><dc:creator>endnode</dc:creator><description>&lt;p&gt;If you don&amp;#39;t need to filter that UART but you would know when and for how long it should be pass-through then you can connect UART PINs as GPIOTE with PPI and simply let the mechanism to make the PINs high/low as they come into the device. That should have no timing penalty (runs outside main CPU) and doesn&amp;#39;t consume even the UART peripheral on nRF5x side so you can reuse it for another real UART link to the chip at that time. However the whole thing might be problematic if you don&amp;#39;t have enough GPIOTE and PPI channels (depends on the chip, if you use UART with flow control etc.)&lt;/p&gt;
&lt;p&gt;Other solution indeed is bitbanging GPIO ports in SW but that would work only if SD has no scheduled operation (or if your UART activity fits into some time-slot).&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: UART Forwarding/Passthrough</title><link>https://devzone.nordicsemi.com/thread/117001?ContentTypeID=1</link><pubDate>Fri, 12 Jan 2018 20:10:16 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ea3a5b23-ab5f-4212-a5b6-ca2e1e353a5d</guid><dc:creator>blueshifting</dc:creator><description>&lt;p&gt;@Matt do you know if I can emulate a serial port over BLE on my PC (Mac actually in this case)? Then I could avoid needing the second board.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: UART Forwarding/Passthrough</title><link>https://devzone.nordicsemi.com/thread/117000?ContentTypeID=1</link><pubDate>Fri, 12 Jan 2018 19:53:49 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:94ae051b-708d-4ded-b964-fd35b746f0dc</guid><dc:creator>Matt</dc:creator><description>&lt;p&gt;You may need a nRF52840 since it has uart and also a usb. But if you want to stick with the nRF52832 you need to use the uart-ble bridge: PC &amp;lt;-- uart --&amp;gt; nrf52_1 &amp;lt;-- ble --&amp;gt; {your nrf52832} &amp;lt;-- uart --&amp;gt; {your GPS}. The nrf52_1 can be a cheap nRF52 breakout board that runs a simple program to connect to your nrf52 unit through BLE, and then all your subsequent commands from the PC will be &amp;quot;relayed&amp;quot; to your GPS unit.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>