Remote Software

The software for my AardRemote project is ever evolving. The latest version is AardRemote-2012-06-03.tar.bz2

This microcode allows the Teensy to talk over both the bluetooth and USB interfaces (default to bluetooth, but if the host computer opens the USB interface, it will talk to USB instead). It is also ifdefed so the same source can build the old Arduino UNO R3 version.

The structure of the source is:

  • common subdir contains the header files that define the communications protocol which must be used on both the arduino and the linux side so they can talk the same language.
  • microcode subdir contains the arduino microcode that implements the low level IR sending and receiving and talks to the host via the common protocol. The Makefile.teensy file builds the teensy version and Makefile builds the Arduino UNO R3 version.
  • bootloader subdir contains the obsolete custom bootloader I once used to replace the standard bootloader so I could get the microcode to be able to trigger a reset and allow itself to be updated. It never worked well, so I gave up on it. (I'm going to try something different at some point).
  • libaard subdir implements a linux library for comunicating with the remote via the common protocol. It also contains the testaard.cpp test program.
  • aardlearn the Qt program to collect learned remote codes in xml format files and play back recorded codes for testing.

Random notes on the software:

Some aardlearn screenshots are available:

The main window
The button details

The aardlearn program probably needs a lot more work someday, but what I really need is to start learning enough about android programming to be able to make a useable android interface (probably this will bring all my progress to a screeching halt).

Note that I found the arduino IDE incredibly annoying so I eventually discovered what the IDE actually did by replacing all the avr compiler tools with shell scripts to log the arguments then run the original command. The result is the Makefile in the microcode subdirectory of the source, but beware that it hard codes paths and other things unique to my system, so would no doubt need tweaks to work on another system. (The microcode source expects to be compiled in an Arduino 1.0 or later environment and be loaded onto a Uno R3).

A similar hack allowed me to build the Makefile.teensy file which builds the teensy version of the microcode.

Also note that both the arduino and my linux box are little endian architectures, and I'm making no attempt to safeguard the code so it will work properly on a big endian machine :-).

Here's the software archive which is probably mostly useful only for me at the moment as a way to save old versions that I know worked. Order is most recent at top to oldest at bottom..

AardRemote-2012-06-03.tar.bz2 Get Teensy talking to either bluetooth or USB. Get ifdefs working to build either UNO or Teensy version.
AardRemote-2012-05-30.tar.bz2 Added initial microcode support for Teensy 2.0.
AardRemote-2012-05-26.tar.bz2 Added ability to import pronto format hex strings.
AardRemote-2012-05-08.tar.bz2 Cleaned up the aardlearn program and added various minor enhancements..
AardRemote-2012-04-15.tar.bz2 Includes aardreset program to trigger uploading without needing to press the reset button.
AardRemote-2012-04-14.tar.bz2 Include source for new custom bootloader.
AardRemote-2012-04-10.tar.bz2 Fixed microcode bug that failed to turn on IR receiver sometimes.
AardRemote-2012-04-07.tar.bz2 Added a logging feature to aardlearn.
AardRemote-2012-04-06.tar.bz2 Added the aardlearn tool..
AardRemote-2012-04-05.tar.bz2 Improved ability to sync with AardRemote on reset.
AardRemote-2012-04-03.tar.bz2 Initial version that demos various working features.
Page last modified Sun Jun 3 14:01:07 2012