The first CHComm-based instrument is starting to take shape. A Futaba servo connected to a PIC16F877a (yeah, I know — gross overkill — but it was handy) to make a VSI gauge. At this point, it works intermittently; it seems to only register changes of the hundreds’ place; I really need to get an LCD on it to help diagnose what’s going on.
On the bright side, it’s up to 9600 baud, from 2400, so that helps.
Getting the PIC to properly multitask while communicating with the serial port is an interesting proposition. Right now, the main loop provides constant position pulses to the servo while polling the serial port line every 500us or so, to see if a start bit has been received. I’m leaning towards a 2-MCU solution for each gauge, though — one to handle comms and one to run the servo. That way, the servo MCU would be guaranteed a very short data-update cycle, rather than allowing for a potential stoppage should something happen to the serial line. (Servos act strange when their position pulses are interrupted.)