From d57dd250b938c7971a7a2de702254a0a86340f1a Mon Sep 17 00:00:00 2001 From: Randy Mackay Date: Thu, 19 Feb 2015 23:28:04 +0900 Subject: batt_smbus: reverse reported current smart batteries report a negative current when being discharged --- src/drivers/batt_smbus/batt_smbus.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'src/drivers/batt_smbus/batt_smbus.cpp') diff --git a/src/drivers/batt_smbus/batt_smbus.cpp b/src/drivers/batt_smbus/batt_smbus.cpp index 92b752a28..604ce35c5 100644 --- a/src/drivers/batt_smbus/batt_smbus.cpp +++ b/src/drivers/batt_smbus/batt_smbus.cpp @@ -368,8 +368,7 @@ BATT_SMBUS::cycle() uint8_t buff[4]; if (read_block(BATT_SMBUS_CURRENT, buff, 4, false) == 4) { - new_report.current_a = (float)((int32_t)((uint32_t)buff[3] << 24 | (uint32_t)buff[2] << 16 | (uint32_t)buff[1] << 8 | - (uint32_t)buff[0])) / 1000.0f; + new_report.current_a = -(float)((int32_t)((uint32_t)buff[3] << 24 | (uint32_t)buff[2] << 16 | (uint32_t)buff[1] << 8 | (uint32_t)buff[0])) / 1000.0f; } // publish to orb -- cgit v1.2.3