|
We did a lot of this kind of testing and our results match what Ken is seeing. The first thing that we figured out is that the RC outputs do NOT change at the moment that the Stamp sends the serout command. We determined that the outputs change at 16ms intervals (independent of when the Stamp executes a serout), just as Ken found. What we believe is happening is that there is a timer inside the RC that changes the outputs every 16ms. Since the Stamp only sends new outputs every 26ms, you get the situation described above. Because of the different I/O frequencies (40Hz versus 60Hz), sometimes the RC changes the outputs once between serouts and sometimes it's able to change them twice. If the RC changes the outputs twice in between serouts, it doesn't actually have new output values so it keeps them all the same. This is where the 33ms interval comes from.
Anyway, the bottom line is that from the point at which the Stamp executes a serin to read the state of the joysticks and RC inputs, there can be a delay of up to 42 milliseconds before the outputs respond! It's very likely that a similar situation exists on the OI side, which could easily double the total delay in the system which brings it up near 1/10 of a second, which is where the delay starts to get noticeable.
|