Apparently I'm using a really really old version of MPIDE to compile the code with....
The servo-problem was solved a while back:
12/21/2013 <BrianSchmalz>:
* Fixed bug that caused glitches every 107 seconds.
The question is - do I dare to update the core software, considering the numerous changes I've made to the stock libraries? Can't say I recall exactly what I've changed and where.
But I suppose I need to do this someday anywho since the laptop I'm using is a very old one and can't even compile the code with optimizations active. For the release version I'm pretty sure I want to use compiler optimized code. :)
Also, a programmer called Majenko suggested that the Arduino cannot reliably communicate over serial at higher speed than 9600 baud. I'm not sure what to believe here, since I've used much higher speeds - but still, Majenko is a great programmer and has supplied a lot of libraries and corrections, so I figure he/she knows better. If the serial interface used to program the device is different than the actual interface the MCU is using for the pins inside sketches this might explain why the sketch is running great connected to my computer while failing connected to the MCU.
"The Arduino is unable to communicate reliably at higher baud rates due to the clock being unable to accurately divide down to the right kind of values, but the chipKIT boards, because of the higher speed master clock, can do it more accurately. As a result the Arduino sometimes can't communicate through serial with the chipKIT boards. Try running at a lower baud rate (9600)." [Chipkit forum]
9600 baud could possibly be enough for my needs, but I'm not sure what the "damage" to SD-reading and frame building would be. Still, it's something that can be investigated in the future.
yeah if your talking to arduino from the chipkit, yeah the arduinos lower clock will impact reliable baud speed. but it will also depend on which arduino board your talking to. the uno had issues with 57600. dont know if later boards had same issue or not
ReplyDeleteYes, exactly. :)
DeleteMajenko supplied a pretty nifty table over the usuable speeds and I actually ended up bumping the speed 4x for 0% errors instead. :D
It's explained in detail in this post -> http://chipkit.net/forum/viewtopic.php?f=17&t=771&start=18