diff --git a/src/Vehicle/BatteryFact.json b/src/Vehicle/BatteryFact.json index b915bc4b27270e5dea01413c857ba51df114f712..6a5eecb369d3c065dcbd9f307b78cc3df1c5a359 100644 --- a/src/Vehicle/BatteryFact.json +++ b/src/Vehicle/BatteryFact.json @@ -25,7 +25,7 @@ "shortDescription": "Current", "type": "int32", "decimalPlaces": 0, - "units": "mA" + "units": "A" }, { "name": "temperature", diff --git a/src/Vehicle/Vehicle.cc b/src/Vehicle/Vehicle.cc index 79b61d2ad0215b5c7a3b5a8c8b9ad0f8c318d525..82afb8489983492d4154a4e21b45d94b08961ca0 100644 --- a/src/Vehicle/Vehicle.cc +++ b/src/Vehicle/Vehicle.cc @@ -657,7 +657,8 @@ void Vehicle::_handleSysStatus(mavlink_message_t& message) if (sysStatus.current_battery == -1) { _batteryFactGroup.current()->setRawValue(VehicleBatteryFactGroup::_currentUnavailable); } else { - _batteryFactGroup.current()->setRawValue((double)sysStatus.current_battery * 10); + // Current is in Amps, current_battery is 10 * milliamperes (1 = 10 milliampere) + _batteryFactGroup.current()->setRawValue((int)(sysStatus.current_battery / 100)); } if (sysStatus.voltage_battery == UINT16_MAX) { _batteryFactGroup.voltage()->setRawValue(VehicleBatteryFactGroup::_voltageUnavailable);