diff --git a/SmartEVSE-3/src/glcd.cpp b/SmartEVSE-3/src/glcd.cpp index 09a3c2c8..aada2dce 100644 --- a/SmartEVSE-3/src/glcd.cpp +++ b/SmartEVSE-3/src/glcd.cpp @@ -820,7 +820,7 @@ void GLCD(void) { // If current flow is < 0.3A don't show the blob if (EVMeter.Type) { // If we have a EV kWh meter configured, Show total charged energy in kWh on LCD. - sprintfl(Str, "%2u.%1ukWh", EVMeter.EnergyCharged, 3, 1); // Will reset to 0.0kWh when charging cable reconnected, and state change from STATE B->C + sprintfl(Str, "%2d.%1dkWh", EVMeter.EnergyCharged, 3, 1); // Will reset to 0.0kWh when charging cable reconnected, and state change from STATE B->C GLCD_write_buf_str(89, 1, Str,GLCD_ALIGN_LEFT); // print to buffer } @@ -843,9 +843,9 @@ void GLCD(void) { if (LCDToggle && EVMeter.Type) { if (EVMeter.PowerMeasured < 9950) { - sprintfl(Str, "%1u.%1ukW", EVMeter.PowerMeasured, 3, 1); + sprintfl(Str, "%1d.%1dkW", EVMeter.PowerMeasured, 3, 1); } else { - sprintfl(Str, "%ukW", EVMeter.PowerMeasured, 3, 0); + sprintfl(Str, "%dkW", EVMeter.PowerMeasured, 3, 0); } } else { sprintfl(Str, "%uA", Balanced[0], 1, 0); @@ -922,14 +922,14 @@ void GLCD(void) { break; case 3: if (EVMeter.Type) { - sprintfl(Str, "%u.%01u kW", EVMeter.PowerMeasured, 3, 1); + sprintfl(Str, "%d.%01d kW", EVMeter.PowerMeasured, 3, 1); GLCD_print_buf2(5, Str); break; } else LCDText++; // fall through case 4: if (EVMeter.Type) { - sprintfl(Str, "%u.%02u kWh", EVMeter.EnergyCharged, 3, 2); + sprintfl(Str, "%d.%02d kWh", EVMeter.EnergyCharged, 3, 2); GLCD_print_buf2(5, Str); break; } else LCDText++; diff --git a/SmartEVSE-3/src/meter.cpp b/SmartEVSE-3/src/meter.cpp index e3e13f6e..969eb7b7 100644 --- a/SmartEVSE-3/src/meter.cpp +++ b/SmartEVSE-3/src/meter.cpp @@ -259,12 +259,9 @@ uint8_t Meter::receiveCurrentMeasurement(uint8_t *buf) { PowerMeasured = 0; // so we calculate PowerMeasured so we dont have to poll for this again for (x = 0; x < 3; x++) { Power[x] = decodeMeasurement(buf, x + offset, EMConfig[Type].PDivisor); + if(Type == EM_EASTRON3P_INV) Power[x] = -Power[x]; PowerMeasured += Power[x]; - if (Type != EM_EASTRON3P_INV) { - if (Power[x] < 0) var[x] = -var[x]; - } else { - if (Power[x] > 0) var[x] = -var[x]; - } + if (Power[x] < 0) var[x] = -var[x]; } }