<?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>Decoding IR signal</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/21070/decoding-ir-signal</link><description>I am developing an universal remote which can be controlled via Bluetooth. For that I need to decode an IR signal. 
 I am using TSOP decoder. 
 The steps I think, I should do is, 
 
 
 Use a PPI channel to listen for an
HiToLo transition in the</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Thu, 05 Sep 2019 00:32:54 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/21070/decoding-ir-signal" /><item><title>RE: Decoding IR signal</title><link>https://devzone.nordicsemi.com/thread/208066?ContentTypeID=1</link><pubDate>Thu, 05 Sep 2019 00:32:54 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ac9e6c68-cbf1-49d2-a77e-9fffc087c4b3</guid><dc:creator>kattaliraees</dc:creator><description>&lt;p&gt;&lt;a href="https://github.com/kattaliraees/nrf52-IR/"&gt;https://github.com/kattaliraees/nrf52-IR/&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Decoding IR signal</title><link>https://devzone.nordicsemi.com/thread/82329?ContentTypeID=1</link><pubDate>Wed, 05 Apr 2017 09:38:45 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:97869992-27f8-40ab-8aea-369a4a669cdc</guid><dc:creator>J&amp;#248;rn</dc:creator><description>&lt;p&gt;Hello Insaf&lt;/p&gt;
&lt;p&gt;I am no expert in handling IR decoders but this is what I&amp;#39;ve found.&lt;/p&gt;
&lt;p&gt;Timings would depend on the protocol used, but overall your plan seems reasonable.&lt;/p&gt;
&lt;p&gt;When storing in an array you could use a global array of set size, and a static counter variable in the timer handler. This variable would be used to select the location in the array where you store your data. At the end of every timer handler execution, you could increase the counter variable by 1.&lt;/p&gt;
&lt;p&gt;One thing to watch out for is counter variable overflow, causing it to revert to 0, as this would start overwriting data in the array. You would have to store the data in a more suitable location before that happens, if you need to.&lt;/p&gt;
&lt;p&gt;Detecting stop would again depend on the protocol used, if the protocol has a specific stop indication that can be used, otherwise I think using a timer to detect timeout would be a good place to start.&lt;/p&gt;
&lt;p&gt;EDIT:&lt;/p&gt;
&lt;p&gt;I recommend reading through the answer to this post&lt;/p&gt;
&lt;p&gt;&lt;a href="https://devzone.nordicsemi.com/question/86404/decoding-ir-signals-what-is-the-best-approach/"&gt;devzone.nordicsemi.com/.../&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;There are several handy tips there.&lt;/p&gt;
&lt;p&gt;Best regards&lt;/p&gt;
&lt;p&gt;Jørn Frøysa&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>