--Started by looking for existing code to read rotary encoders.  Found a couple of ARM-specific projects (running in user-space) that seem to do an adequate job of reading encoder position and counting ticks, but they use too much CPU (~50%) to work on the rover.  I tested these while running the cameras and observed noticeably slower frame rate and occasional freezes.  I am now researching ways to do interrupt handling (i.e., tick counting) in kernel-space to try to achieve lower CPU usage.  Another option (which I haven't researched yet) is to use one or two separate microcontrollers (with pulse accumulators) to count ticks and then have the Gumstix poll the microcontrollers at a reasonable interval for data.