I've got the chassis that goes with the Pi Camera Robot. I'm playing around with scripts that use the mini-driver script provided to control the wheels, so I'm basically calling the setOutputs() function to give the wheels speed changes.
This is working, not an issue with getting it to work as such, but despite me leaving the current speed in effect for 5 seconds (i.e., I'm not sending a new signal to change speeds within that 5 seconds), the wheels only appear to run for 2 seconds and then stop.
I tested this theory by having the script set the wheels to a value of 20 (fairly sedate), waiting 5 seconds, then setting them to 80 (belting along), waiting another 5 seconds, and then finally setting them back to 0.
What I'm actually getting is 2 seconds of slow rotate, back to still for the remaining 3 seconds, then 2 seconds of fast rotate, back to still for the remaining 3 seconds. I can confirm the timing is working as I do get the 5 seconds before it changes speed (and then prints the final message).
I can't see anything in the mini_driver.py file which might suggest a time limit... and indeed, if you keep your foot on the joystick on the web page it will go for longer than 2 seconds.
Note that I *am* running this test with the wheels running free, as my Pi is using the mains power so I don't want it unplugging itself by running away across the floor
Any ideas? Am I supposed to keep re-enforcing the outputs at regular intervals? This seems a little tedious.