So, I want to program my diavolino, but my ttl serial adapter is taking ages to come in. It occurred to me today that I also have a freetronics leostick, and that the leostick has a second uart; the first is a virtual one run by the atmega. So, I thought I might use a simple sketch to get some data onto the diavolino. I wired pins 0 and 1 to their opposite pins in the ftdi connector, hooked the leostick's power to vin on the diavolino, wired the grounds together, and picked another random pin to hook into reset on the diavolino. At that point, I wrote a simple sketch that opens both serial ports at a fixed rate, checks to see if this is the first data it's seen from the host side, and if so, pulls reset down briefly. Afterward it will read available data from one serial device and write to the other, and continue to do so until it's reset again.
Anyway, I wrote this to the leostick, switched board types in the arduino environment, but kept the port set properly. Of course it won't upload anything to the diavolino that way. It does reset when it begins to see data, but then the blink sketch just picks right back up and eventually the arduino software complains about being out of sync. So, it occurs to me that I know absolutely nothing about this process. How is it supposed to work? You reset the unit, send it some data really fast (how fast, by the way? There's no perceptible delay between the time you release reset and the time the led begins to blink...). The auto reset is usually handled by a flow control signal? You -- what? -- raise rts or something to reset the board? Any idea what I'm missing that explains why this doesn't work?