Avoid converting value to a double
No need to convert a value to double when all we want is a two digits converted to string. This also avoids linking some math library, which saved almost 8K och program storage space.
This commit is contained in:
parent
5a3ccec2e6
commit
883dbf605e
1 changed files with 4 additions and 4 deletions
|
@ -487,7 +487,7 @@ void drawMenuScreen(){
|
||||||
|
|
||||||
//Construct the title including voltage reading.
|
//Construct the title including voltage reading.
|
||||||
//Involves intricate splicing of the title string with battery voltage
|
//Involves intricate splicing of the title string with battery voltage
|
||||||
char menuTitle[] = "MENU XXX Y.Y "; //Allocate string buffer of appropriate size with some placeholders
|
char menuTitle[] = "MENU XXX Y.YV"; //Allocate string buffer of appropriate size with some placeholders
|
||||||
char* splice1 = menuTitle + 13;
|
char* splice1 = menuTitle + 13;
|
||||||
char* splice2 = menuTitle + 17;
|
char* splice2 = menuTitle + 17;
|
||||||
|
|
||||||
|
@ -496,9 +496,9 @@ void drawMenuScreen(){
|
||||||
if (vMeterReading < 2294) {
|
if (vMeterReading < 2294) {
|
||||||
memcpy(splice2, "LOW ", 3);
|
memcpy(splice2, "LOW ", 3);
|
||||||
} else {
|
} else {
|
||||||
double voltage = map(vMeterReading,0,3030,0,50)*0.1;
|
int voltage = map(vMeterReading,0,3030,0,50);
|
||||||
dtostrf(voltage, 3, 1, splice2);
|
splice2[0] = (voltage/10)+'0';
|
||||||
splice2[3]='V'; //Put the V at the end (last char of buffer before \0)
|
splice2[2] = (voltage%10)+'0';
|
||||||
}
|
}
|
||||||
|
|
||||||
drawMenu(menuTitle, mainMenuCursor, 6,
|
drawMenu(menuTitle, mainMenuCursor, 6,
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue