<?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>LIN bus - disable Rx while Tx&amp;#39;ing/Tx high while Rx&amp;#39;ing</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/13861/lin-bus---disable-rx-while-tx-ing-tx-high-while-rx-ing</link><description>I am working on a LIN slave. 
 I have working code on an Atmel 2560, just porting it to the NRF52 now. The complication I am foreseeing is that on the Atmel part I could disable Rx and Tx at will. It seem on the NRF that I have to disable the whole UART</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Tue, 04 Sep 2018 22:14:21 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/13861/lin-bus---disable-rx-while-tx-ing-tx-high-while-rx-ing" /><item><title>RE: LIN bus - disable Rx while Tx'ing/Tx high while Rx'ing</title><link>https://devzone.nordicsemi.com/thread/147252?ContentTypeID=1</link><pubDate>Tue, 04 Sep 2018 22:14:21 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:bbf96036-6348-4e2a-ae54-db0294dc1da4</guid><dc:creator>Chris Ergo</dc:creator><description>&lt;p&gt;Tom,&lt;/p&gt;
&lt;p&gt;Thanks for the info on your implementation. I need to do exactly the same thing (LIN slave on nRF52). Do you have code that you can share, even if only part of it? I&amp;nbsp; would greatly appreciate it as it would save me a lot of time repeating exactly the same thing you did.&lt;/p&gt;
&lt;p&gt;Thanks,&lt;br /&gt;Chris&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: LIN bus - disable Rx while Tx'ing/Tx high while Rx'ing</title><link>https://devzone.nordicsemi.com/thread/52957?ContentTypeID=1</link><pubDate>Sat, 21 May 2016 02:58:00 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:48cb63a4-3cd0-4b22-bff8-f21059f80649</guid><dc:creator>crushndent</dc:creator><description>&lt;p&gt;I have 95% completed the LIN slave. The master would be very similar except that instead of responding, it would have a list of messages to send periodically and a timeout timer.&lt;/p&gt;
&lt;p&gt;Here&amp;#39;s essentially what I did:
Timer - single bit time of LIN
GPIOTE - for pin change
UART - didn&amp;#39;t use DMA - but I did use the FIFO functions (bug in the TX function BTW).&lt;/p&gt;
&lt;p&gt;Set the GPIOTE to send out high on TX all the time and look for a pin change on RX.
When the pin changes, start the timer and keep the RX IRQ going.
If the timer counts 10-12 bits before the pin change IRQ, then there is the header.
Disable GPIOTE and timer
Enable UART - TX seems to stay at state level.
Read the bytes required.
Turn off UART RX IRQ - ignoring RX&amp;#39;d bytes that I send (could be left on to be sure no other slave is talking)
Send out TX data - wait for IRQ for completion (that&amp;#39;s where the bug was).
When TX complete - re-enable the GPIOTE again like at the start.
Fully disable UART - only way to clear the FIFO&amp;#39;s.&lt;/p&gt;
&lt;p&gt;Works well - fully IRQ driven&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: LIN bus - disable Rx while Tx'ing/Tx high while Rx'ing</title><link>https://devzone.nordicsemi.com/thread/52956?ContentTypeID=1</link><pubDate>Fri, 20 May 2016 17:44:16 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:5a10ecaf-36d3-4d30-bf42-6a8daf857477</guid><dc:creator>SRA</dc:creator><description>&lt;p&gt;This is extremely relevant to my interests.&lt;/p&gt;
&lt;p&gt;I&amp;#39;m reading over the UARTE now, I&amp;#39;m working on LIN Master and possible on Slave.&lt;/p&gt;
&lt;p&gt;The break condition seems to exist, with it generating an error. So even if you did need to work-around by disabling the UART, messing the with pins (are sure you what your transceiver is doing vs what you need to do?) then going into a specific TX/RX mode that seems like the timing probably works out to do all that after a break and before the LIN spec timeout.&lt;/p&gt;
&lt;p&gt;I haven&amp;#39;t had to implement LIN yet, just doing the research.&lt;/p&gt;
&lt;p&gt;It would be nice to hear from Nordic how much work would be needed to implement LIN on the nRF52.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>