Quote:
|
Originally Posted by Alan Anderson
It's quite different this year. Whether or not you would consider it to be an "improvement" probably depends on how clever you are with programming your own camera communication routines.
If your limit switches are taking that long to respond, I suspect you have significant delays built in to your code. Even with buffered and interrupt-driven serial communication, you will slow things down a lot if you're sending commands and waiting for an ACK to come back before continuing.
|
That's the exact problem!
A few hours after I posted my plea for help, I remembered last year I had to deal with a certain wait_for_data() IFI put into the camera routine. It was blocking execution for quite a while, and probably explains the slowdown. I'm not sure why they tried to make the camera communication appear synchronous, but it should work just fine in asynchronous mode (I hope!).
I am still curious why this didn't trip the supposed 26.6ms code execution limit.

In my testing, that limit seemed more on the order of a full half second. (I had added a timer without adding the ISR, causing it to crash almost immediately, but the BRLOD didn't show up for about a second).
Anyway, thanks for your help.

__________________
CMUCam not working? Tracks sporadically? Try this instead:
http://www.falconir.com!
PM me for more information if you are interested (it's open source!).
Want the FIRST Email blasts? See here:
http://www.chiefdelphi.com/forums/sh...ad.php?t=50809
"The harder the conflict, the more glorious the triumph. What we obtain too cheaply, we esteem too lightly; it is dearness only that gives everything its value."
-- Thomas Paine
If it's falling apart it's a mechanical problem. If it's spewing smoke it's a electrical problem.
If it's rampaging around destroying things it's a programming problem.
"All technology is run on 'Magic Smoke' contained within the device. As everyone knows, whenever the magic smoke is released, the device ceases to function."
-- Anonymous
I currently speak: English, some German, Verilog, x86 and 8051 Assembler, C, C++, VB, VB.NET, ASP, PHP, HTML, UNIX and SQL