Ok, I have formulated a plan of attack for my IR port addition. I have been googleing (is that a word?) my little brains out for 2 days now and this is what I have come up with thus far. I was looking for the simplest (no sense in reinventing the wheel) but also the most "customizable" solutions. Please note, this is my first such attempt at a "hardware" project, my "hack" skills lie mostly in higher level software, thus I NEVER before had to interface with hardware directly, so this could all be WAY off. Please be brutal with your opinions. 
<br><br>Here are the pieces I came up with. <br>1. IR transmitter: I wanted this to be as small as possible so I could hide it away inside the Neo&#39;s case and not have to have any USB dongles or the like outside of the unit. Also, the only modification I was truly willing to do to the case itself will be drilling a hole in the top for the IR LED to protrude. I found this home-brew transmitter at 
<a href="http://lirc.org">lirc.org</a> &quot;<a href="http://www.lirc.org/transmitters.html">http://www.lirc.org/transmitters.html</a>&quot; it is the transmitter at the very bottom of the page, that was submitted by 
                  Petteri Aimonen. It is small, compact, simple, robust, and the only connections that need be made to the main board are a 5v pwr (I think we can steal that from the CPU power supply??), ground, and an input pin (which I think we can just steal an unused GPIO pin from the CPU).
<br>2. LIRC: The LIRC.org project has already done all the software legwork for interfacing with an IR device, as well as creating customizable configuration files for a whole slew of remote controlled devices, that can be selected on the fly. This will make a perfect software back end!
<br>3. Device driver: Obviously we need a driver module to be able to talk to the device. This is by far the part I need the most help with. I have NO idea how to produce this part. I assume all we would need is a driver that will interface with LIRC, communicate on the appropriate GPIO pin, and be sure that there isnt any voltage (data) on the GPIO pin when the IR is not being used, so we dont end up with power drain. (Shameless call for HELP!)
<br>4. GUI: Ah, finally something I can do! (damn, I just realized im pretty useless, huh :-) but graphics is my real &quot;coding&quot; expertise, mostly 3D however). I have already drawn up a fairly versatile GUI front end that I plan to code in GTK. This GUI front end will simply send LIRC commands to the back end, and ofcourse look good, and follow the current Openmoko theme.
<br><br>Any suggestions, comments, or hate mail are welcome.<br>Thanks.<br><br><br><div><span class="gmail_quote">On 5/10/07, <b class="gmail_sendername">Alan Ide</b> &lt;<a href="mailto:gamebeavis@gmail.com">gamebeavis@gmail.com
</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">EDIT: Sorry about the RS232 message, I wrote 2 emails about different questions, and sent them to the wrong mailing lists, apparently too long of a week already. :-)
<br><br>Hi all,<br><br>I have stated before that one of the first things I want
to do with my moko after taking it out of the box and blessing it as my
first born is to add an IR port to it. That way I can throw away all my
remote controls and have one truly godlike device. Let me start by
saying, I have NO idea when it comes to hardware (well, just enough to
be dangerous really). I know that the CPU has GPIO with some unused
pins, and I &quot;think&quot; I could fairly easily make an IrDA port as long as
I had use of one of the pins, and a ground.
<br><br>I guess my question is, how would I go about sending data to
that pin from a program? I would have to explain to the cpu what data
rate to use, and what data to send. I realize that would require
writing a driver for the device (new territory for me), but I am not
really sure what steps to take to go about adding a hardware device and
then writing the software to use it..
<br><br>Thank you,<br><span class="sg"><span>alan</span>
</span></blockquote></div><br>