<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="bbPress/1.0.2" -->
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>LeafLabs Garden &#187; Topic: port IR remote lib to maple</title>
		<link>http://forums.leaflabs.com/topic.php?id=1943</link>
		<description>A place to share, learn, and grow...</description>
		<language>en-US</language>
		<pubDate>Fri, 22 Jan 2016 00:08:49 +0000</pubDate>
		<generator>http://bbpress.org/?v=1.0.2</generator>
		<textInput>
			<title><![CDATA[Search]]></title>
			<description><![CDATA[Search all topics from these forums.]]></description>
			<name>q</name>
			<link>http://forums.leaflabs.com/search.php</link>
		</textInput>
		<atom:link href="http://forums.leaflabs.com/rss.php?topic=1943" rel="self" type="application/rss+xml" />

		<item>
			<title>manitou on "port IR remote lib to maple"</title>
			<link>http://forums.leaflabs.com/topic.php?id=1943#post-11419</link>
			<pubDate>Wed, 27 Jun 2012 11:42:40 +0000</pubDate>
			<dc:creator>manitou</dc:creator>
			<guid isPermaLink="false">11419@http://forums.leaflabs.com/</guid>
			<description>&#60;blockquote&#62;&#60;p&#62;
I think there are bugs in the way delayMicroseconds() works. That code is old and I don't understand it well, but I believe there may be a problem in the way we convert microseconds to busy-loop iterations (using STM32_DELAY_US_MULT in the current libmaple from Git). I seem to recall gbulmer picking apart the cycle timings in a post from a long time ago, so I'll try to dig it up and see if I can't find the bug. If anyone else wants to take a look at this, though, I'd really appreciate it.
&#60;/p&#62;&#60;/blockquote&#62;
&#60;p&#62;The problem with a spin-loop for delayMicroseconds() is the jitter introduced by interrupts from systick, USB, and in this (IRremote) case the 50us-timer interrupt.  For long delays (2400 us), then there are many cycles stolen from the spin-loop, and actual elapsed time will be longer than requested.&#60;/p&#62;
&#60;p&#62;There was another blog about passing 0 to delayMicroseconds() -- IRremote lib does make 0us requests in transmits for some IR devices -- and that is a problem with the delayMicroseconds() implementation because it does a  us--  initially to account for function overhead ...
&#60;/p&#62;</description>
		</item>
		<item>
			<title>manitou on "port IR remote lib to maple"</title>
			<link>http://forums.leaflabs.com/topic.php?id=1943#post-11417</link>
			<pubDate>Wed, 27 Jun 2012 11:31:45 +0000</pubDate>
			<dc:creator>manitou</dc:creator>
			<guid isPermaLink="false">11417@http://forums.leaflabs.com/</guid>
			<description>&#60;blockquote&#62;&#60;p&#62; Out of curiousity, would IrDA work for this purpose? Or it's not possible to use it like that?
&#60;/p&#62;&#60;/blockquote&#62;
&#60;p&#62;I think not.  I'm not real familiar with IrDA, but I think it is intended as a serial protocol between two IR devices --  baud rates, connections, link control ...&#60;/p&#62;
&#60;p&#62;The IR remotes don't have that kind of smarts and are hardwired with mark/space button encodings over 38 to 40 KHz carrier.
&#60;/p&#62;</description>
		</item>
		<item>
			<title>crenn on "port IR remote lib to maple"</title>
			<link>http://forums.leaflabs.com/topic.php?id=1943#post-11415</link>
			<pubDate>Wed, 27 Jun 2012 09:20:40 +0000</pubDate>
			<dc:creator>crenn</dc:creator>
			<guid isPermaLink="false">11415@http://forums.leaflabs.com/</guid>
			<description>&#60;p&#62;Out of curiousity, would IrDA work for this purpose? Or it's not possible to use it like that?
&#60;/p&#62;</description>
		</item>
		<item>
			<title>mbolivar on "port IR remote lib to maple"</title>
			<link>http://forums.leaflabs.com/topic.php?id=1943#post-11397</link>
			<pubDate>Tue, 26 Jun 2012 22:27:58 +0000</pubDate>
			<dc:creator>mbolivar</dc:creator>
			<guid isPermaLink="false">11397@http://forums.leaflabs.com/</guid>
			<description>&#60;p&#62;I think there are bugs in the way delayMicroseconds() works. That code is old and I don't understand it well, but I believe there may be a problem in the way we convert microseconds to busy-loop iterations (using STM32_DELAY_US_MULT in the current libmaple from Git). I seem to recall gbulmer picking apart the cycle timings in a post from a long time ago, so I'll try to dig it up and see if I can't find the bug. If anyone else wants to take a look at this, though, I'd really appreciate it.
&#60;/p&#62;</description>
		</item>
		<item>
			<title>manitou on "port IR remote lib to maple"</title>
			<link>http://forums.leaflabs.com/topic.php?id=1943#post-11389</link>
			<pubDate>Tue, 26 Jun 2012 18:11:12 +0000</pubDate>
			<dc:creator>manitou</dc:creator>
			<guid isPermaLink="false">11389@http://forums.leaflabs.com/</guid>
			<description>&#60;p&#62;Seems to work better by replacing delayMicroseconds(time) with&#60;br /&#62;
&#60;pre&#62;&#60;code&#62;unsigned int t1 = micros();
  while((micros() - t1) &#38;lt; time);&#60;/code&#62;&#60;/pre&#62;
&#60;p&#62;github was updated to reflect change.
&#60;/p&#62;</description>
		</item>
		<item>
			<title>manitou on "port IR remote lib to maple"</title>
			<link>http://forums.leaflabs.com/topic.php?id=1943#post-11388</link>
			<pubDate>Tue, 26 Jun 2012 17:00:36 +0000</pubDate>
			<dc:creator>manitou</dc:creator>
			<guid isPermaLink="false">11388@http://forums.leaflabs.com/</guid>
			<description>&#60;p&#62;This port of IRremote to maple may need further work -- the PWM timer duration for the IR transmit is controlled by delayMicroseconds() which seems to have considerable jitter.  A call with 2400 results in a 2900 us delay.  Such variations may or may not work with the IR equipment.  I'll see if I can figure out effects of systick/USB on jitter.&#60;/p&#62;
&#60;p&#62;My initial proof-of-concept hack of the library (single C source file) was able to decode its own transmissions in a loop.  But the full library implementation seems to have transmit timings out of tolerance for the decoder portion of the library.  I'm still trying to figure that out...
&#60;/p&#62;</description>
		</item>
		<item>
			<title>manitou on "port IR remote lib to maple"</title>
			<link>http://forums.leaflabs.com/topic.php?id=1943#post-11361</link>
			<pubDate>Sun, 24 Jun 2012 18:14:46 +0000</pubDate>
			<dc:creator>manitou</dc:creator>
			<guid isPermaLink="false">11361@http://forums.leaflabs.com/</guid>
			<description>&#60;p&#62;Here is first cut at porting Arduino IRremote library to Maple.  It uses a PWM timer for IR transmits and a 50us timer to sample IR input.  Timers work for Maple RET6 -- change for your version of Maple.&#60;br /&#62;
    &#60;a href=&#34;https://github.com/manitou48/maple-IRremote&#34; rel=&#34;nofollow&#34;&#62;https://github.com/manitou48/maple-IRremote&#60;/a&#62;&#60;br /&#62;
Limited testing with Sony remote/VCR.  &#60;/p&#62;
&#60;p&#62;Here is blog on Arduino library and current Arduino library&#60;br /&#62;
  &#60;a href=&#34;http://www.arcfn.com/2009/08/multi-protocol-infrared-remote-library.html&#34; rel=&#34;nofollow&#34;&#62;http://www.arcfn.com/2009/08/multi-protocol-infrared-remote-library.html&#60;/a&#62;&#60;br /&#62;
   &#60;a href=&#34;https://github.com/shirriff/Arduino-IRremote&#34; rel=&#34;nofollow&#34;&#62;https://github.com/shirriff/Arduino-IRremote&#60;/a&#62;
&#60;/p&#62;</description>
		</item>

	</channel>
</rss>
