[Idly fumes and throws things at the computer. The forum software just lost his message! … I guess this is why we usually write in notepad and then copy and paste? grrrrr]
Gah!
Anyway, back to the topic.
Hey, folks…
I’ve been trying to get digital data from a nifty little IC for our team’s black box into the Stamp via the Robot Controller’s digital inputs, but I’ve run into a nasty little problem: errors! The data stream is literally strewn with errors! (I think they’re primarily single and multiple bit flips, and I’m pretty sure it’s not the IC’s fault, but I’m not positive. I haven’t yet rigged up a test fixture and done a detailed analysis.) Kind of leads to the question, just how much bandwidth can you really squeeze through those painfully slow digital inputs?
I originally figured I’d have the IC send a new data word just slightly slower than the Stamp’s ~40 loops per second. That way, each word would be guaranteed to be seen by at least one loop. I figured there would be occasional errors, for instance, if the RC was reading the inputs right as the IC was changing them, but I never expected anything like this! Regardless of what rate new data is posted at, about 1/10 to 1/20 of the data words are corrupted, with a very erratic distribution vs. time. Most of the errors are caught by a single parity bit with the data, but the errors are so frequent that many pass the parity check anyway. …Which is not good for the robot!
I suppose I could always do like Wild Stang did and send the data words a few times in a row and take the best out of two or three, or whatever, but that’s a terrible waste of bandwith. Since the RC’s sooooo slooooooow to begin with, every drop of bandwidth and speed is precious.
Does anybody have any experience with this sort of problem? Anyone have any suggestions?
Thanks a lot! :ahh:
–Micah Brodsky