I’m using the openlog to record GPS output at 5hz, it does this well, but I’d like to increase the frequency to 10hz. The standard openlog firmware’s write speed is too slow, I get dropped points.
Here’s the output from the analysing software.
Observed time distribution (in ms):
100 11494
200 57
so in roughly 11,500 data points there’s 57 misses.
So I thought changing to the openlog_light firmware would allow me to use 10hz without any missed points.
However this was not the case, it actually made things a lot worse
Observed time distribution (in ms):
100 14434
200 5245
Now there’s 5,245 misses in about 20,000 data points.
Here’s the end notes from the arduino compiler
this is the default openlog firmware
Sketch uses 27,072 bytes (83%) of program storage space. Maximum is 32,256 bytes.
Global variables use 1,273 bytes (62%) of dynamic memory, leaving 775 bytes for local variables. Maximum is 2,048 bytes.
And here’s the openlog_light
Sketch uses 16,166 bytes (50%) of program storage space. Maximum is 32,256 bytes.
Global variables use 1,557 bytes (76%) of dynamic memory, leaving 491 bytes for local variables. Maximum is 2,048 bytes.
Low memory available, stability problems may occur.
So it seems the firmware is smaller but global variables are much bigger.
Am I doing something wrong here?
Is there anyway to reduce the global variables? (whatever they are?)