playing around with a cheap 16x2 LCD, and most of it is working well, except the following bit of code:
CMPulse = 10.00;
sprintf(tmpString, "%f KM", (double) CMPulse);
Results in "? KM" being displayed on the LCD. I have replaced CMPulse with a float directly in the sprintf and have the same result.
In the project options, I have added libm.a, and sprintf_flt.a.