|
|
|
@ -1032,6 +1032,8 @@ void Vehicle::_handleSysStatus(mavlink_message_t& message)
@@ -1032,6 +1032,8 @@ void Vehicle::_handleSysStatus(mavlink_message_t& message)
|
|
|
|
|
_batteryFactGroup.voltage()->setRawValue(VehicleBatteryFactGroup::_voltageUnavailable); |
|
|
|
|
} else { |
|
|
|
|
_batteryFactGroup.voltage()->setRawValue((double)sysStatus.voltage_battery / 1000.0); |
|
|
|
|
// current_battery is 10 mA and voltage_battery is 1mV. (10/1e3 times 1/1e3 = 1/1e5)
|
|
|
|
|
_batteryFactGroup.instantPower()->setRawValue((float)(sysStatus.current_battery*sysStatus.voltage_battery)/(100000.0)); |
|
|
|
|
} |
|
|
|
|
_batteryFactGroup.percentRemaining()->setRawValue(sysStatus.battery_remaining); |
|
|
|
|
|
|
|
|
@ -2935,6 +2937,7 @@ const char* VehicleBatteryFactGroup::_mahConsumedFactName = "mah
@@ -2935,6 +2937,7 @@ const char* VehicleBatteryFactGroup::_mahConsumedFactName = "mah
|
|
|
|
|
const char* VehicleBatteryFactGroup::_currentFactName = "current"; |
|
|
|
|
const char* VehicleBatteryFactGroup::_temperatureFactName = "temperature"; |
|
|
|
|
const char* VehicleBatteryFactGroup::_cellCountFactName = "cellCount"; |
|
|
|
|
const char* VehicleBatteryFactGroup::_instantPowerFactName = "instantPower"; |
|
|
|
|
|
|
|
|
|
const char* VehicleBatteryFactGroup::_settingsGroup = "Vehicle.battery"; |
|
|
|
|
|
|
|
|
@ -2944,6 +2947,7 @@ const int VehicleBatteryFactGroup::_mahConsumedUnavailable = -1;
@@ -2944,6 +2947,7 @@ const int VehicleBatteryFactGroup::_mahConsumedUnavailable = -1;
|
|
|
|
|
const int VehicleBatteryFactGroup::_currentUnavailable = -1; |
|
|
|
|
const double VehicleBatteryFactGroup::_temperatureUnavailable = -1.0; |
|
|
|
|
const int VehicleBatteryFactGroup::_cellCountUnavailable = -1.0; |
|
|
|
|
const double VehicleBatteryFactGroup::_instantPowerUnavailable = -1.0; |
|
|
|
|
|
|
|
|
|
VehicleBatteryFactGroup::VehicleBatteryFactGroup(QObject* parent) |
|
|
|
|
: FactGroup(1000, ":/json/Vehicle/BatteryFact.json", parent) |
|
|
|
@ -2953,6 +2957,7 @@ VehicleBatteryFactGroup::VehicleBatteryFactGroup(QObject* parent)
@@ -2953,6 +2957,7 @@ VehicleBatteryFactGroup::VehicleBatteryFactGroup(QObject* parent)
|
|
|
|
|
, _currentFact (0, _currentFactName, FactMetaData::valueTypeFloat) |
|
|
|
|
, _temperatureFact (0, _temperatureFactName, FactMetaData::valueTypeDouble) |
|
|
|
|
, _cellCountFact (0, _cellCountFactName, FactMetaData::valueTypeInt32) |
|
|
|
|
, _instantPowerFact (0, _instantPowerFactName, FactMetaData::valueTypeFloat) |
|
|
|
|
{ |
|
|
|
|
_addFact(&_voltageFact, _voltageFactName); |
|
|
|
|
_addFact(&_percentRemainingFact, _percentRemainingFactName); |
|
|
|
@ -2960,6 +2965,7 @@ VehicleBatteryFactGroup::VehicleBatteryFactGroup(QObject* parent)
@@ -2960,6 +2965,7 @@ VehicleBatteryFactGroup::VehicleBatteryFactGroup(QObject* parent)
|
|
|
|
|
_addFact(&_currentFact, _currentFactName); |
|
|
|
|
_addFact(&_temperatureFact, _temperatureFactName); |
|
|
|
|
_addFact(&_cellCountFact, _cellCountFactName); |
|
|
|
|
_addFact(&_instantPowerFact, _instantPowerFactName); |
|
|
|
|
|
|
|
|
|
// Start out as not available
|
|
|
|
|
_voltageFact.setRawValue (_voltageUnavailable); |
|
|
|
@ -2968,6 +2974,7 @@ VehicleBatteryFactGroup::VehicleBatteryFactGroup(QObject* parent)
@@ -2968,6 +2974,7 @@ VehicleBatteryFactGroup::VehicleBatteryFactGroup(QObject* parent)
|
|
|
|
|
_currentFact.setRawValue (_currentUnavailable); |
|
|
|
|
_temperatureFact.setRawValue (_temperatureUnavailable); |
|
|
|
|
_cellCountFact.setRawValue (_cellCountUnavailable); |
|
|
|
|
_instantPowerFact.setRawValue (_instantPowerUnavailable); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
const char* VehicleWindFactGroup::_directionFactName = "direction"; |
|
|
|
|