|
|
@ -39,6 +39,7 @@ |
|
|
|
#include "QGCCameraManager.h" |
|
|
|
#include "QGCCameraManager.h" |
|
|
|
#include "VideoReceiver.h" |
|
|
|
#include "VideoReceiver.h" |
|
|
|
#include "VideoManager.h" |
|
|
|
#include "VideoManager.h" |
|
|
|
|
|
|
|
#include "PositionManager.h" |
|
|
|
#if defined(QGC_AIRMAP_ENABLED) |
|
|
|
#if defined(QGC_AIRMAP_ENABLED) |
|
|
|
#include "AirspaceVehicleManager.h" |
|
|
|
#include "AirspaceVehicleManager.h" |
|
|
|
#endif |
|
|
|
#endif |
|
|
@ -69,6 +70,7 @@ const char* Vehicle::_altitudeAMSLFactName = "altitudeAMSL"; |
|
|
|
const char* Vehicle::_flightDistanceFactName = "flightDistance"; |
|
|
|
const char* Vehicle::_flightDistanceFactName = "flightDistance"; |
|
|
|
const char* Vehicle::_flightTimeFactName = "flightTime"; |
|
|
|
const char* Vehicle::_flightTimeFactName = "flightTime"; |
|
|
|
const char* Vehicle::_distanceToHomeFactName = "distanceToHome"; |
|
|
|
const char* Vehicle::_distanceToHomeFactName = "distanceToHome"; |
|
|
|
|
|
|
|
const char* Vehicle::_distanceToGCSFactName = "distanceToGCS"; |
|
|
|
const char* Vehicle::_hobbsFactName = "hobbs"; |
|
|
|
const char* Vehicle::_hobbsFactName = "hobbs"; |
|
|
|
|
|
|
|
|
|
|
|
const char* Vehicle::_gpsFactGroupName = "gps"; |
|
|
|
const char* Vehicle::_gpsFactGroupName = "gps"; |
|
|
@ -192,6 +194,7 @@ Vehicle::Vehicle(LinkInterface* link, |
|
|
|
, _flightDistanceFact (0, _flightDistanceFactName, FactMetaData::valueTypeDouble) |
|
|
|
, _flightDistanceFact (0, _flightDistanceFactName, FactMetaData::valueTypeDouble) |
|
|
|
, _flightTimeFact (0, _flightTimeFactName, FactMetaData::valueTypeElapsedTimeInSeconds) |
|
|
|
, _flightTimeFact (0, _flightTimeFactName, FactMetaData::valueTypeElapsedTimeInSeconds) |
|
|
|
, _distanceToHomeFact (0, _distanceToHomeFactName, FactMetaData::valueTypeDouble) |
|
|
|
, _distanceToHomeFact (0, _distanceToHomeFactName, FactMetaData::valueTypeDouble) |
|
|
|
|
|
|
|
, _distanceToGCSFact (0, _distanceToGCSFactName, FactMetaData::valueTypeDouble) |
|
|
|
, _hobbsFact (0, _hobbsFactName, FactMetaData::valueTypeString) |
|
|
|
, _hobbsFact (0, _hobbsFactName, FactMetaData::valueTypeString) |
|
|
|
, _gpsFactGroup(this) |
|
|
|
, _gpsFactGroup(this) |
|
|
|
, _battery1FactGroup(this) |
|
|
|
, _battery1FactGroup(this) |
|
|
@ -385,6 +388,7 @@ Vehicle::Vehicle(MAV_AUTOPILOT firmwareType, |
|
|
|
, _flightDistanceFact (0, _flightDistanceFactName, FactMetaData::valueTypeDouble) |
|
|
|
, _flightDistanceFact (0, _flightDistanceFactName, FactMetaData::valueTypeDouble) |
|
|
|
, _flightTimeFact (0, _flightTimeFactName, FactMetaData::valueTypeElapsedTimeInSeconds) |
|
|
|
, _flightTimeFact (0, _flightTimeFactName, FactMetaData::valueTypeElapsedTimeInSeconds) |
|
|
|
, _distanceToHomeFact (0, _distanceToHomeFactName, FactMetaData::valueTypeDouble) |
|
|
|
, _distanceToHomeFact (0, _distanceToHomeFactName, FactMetaData::valueTypeDouble) |
|
|
|
|
|
|
|
, _distanceToGCSFact (0, _distanceToGCSFactName, FactMetaData::valueTypeDouble) |
|
|
|
, _hobbsFact (0, _hobbsFactName, FactMetaData::valueTypeString) |
|
|
|
, _hobbsFact (0, _hobbsFactName, FactMetaData::valueTypeString) |
|
|
|
, _gpsFactGroup(this) |
|
|
|
, _gpsFactGroup(this) |
|
|
|
, _battery1FactGroup(this) |
|
|
|
, _battery1FactGroup(this) |
|
|
@ -405,9 +409,12 @@ void Vehicle::_commonInit(void) |
|
|
|
connect(_firmwarePlugin, &FirmwarePlugin::toolbarIndicatorsChanged, this, &Vehicle::toolBarIndicatorsChanged); |
|
|
|
connect(_firmwarePlugin, &FirmwarePlugin::toolbarIndicatorsChanged, this, &Vehicle::toolBarIndicatorsChanged); |
|
|
|
|
|
|
|
|
|
|
|
connect(this, &Vehicle::coordinateChanged, this, &Vehicle::_updateDistanceToHome); |
|
|
|
connect(this, &Vehicle::coordinateChanged, this, &Vehicle::_updateDistanceToHome); |
|
|
|
|
|
|
|
connect(this, &Vehicle::coordinateChanged, this, &Vehicle::_updateDistanceToGCS); |
|
|
|
connect(this, &Vehicle::homePositionChanged, this, &Vehicle::_updateDistanceToHome); |
|
|
|
connect(this, &Vehicle::homePositionChanged, this, &Vehicle::_updateDistanceToHome); |
|
|
|
connect(this, &Vehicle::hobbsMeterChanged, this, &Vehicle::_updateHobbsMeter); |
|
|
|
connect(this, &Vehicle::hobbsMeterChanged, this, &Vehicle::_updateHobbsMeter); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
connect(_toolbox->qgcPositionManager(), &QGCPositionManager::gcsPositionChanged, this, &Vehicle::_updateDistanceToGCS); |
|
|
|
|
|
|
|
|
|
|
|
_missionManager = new MissionManager(this); |
|
|
|
_missionManager = new MissionManager(this); |
|
|
|
connect(_missionManager, &MissionManager::error, this, &Vehicle::_missionManagerError); |
|
|
|
connect(_missionManager, &MissionManager::error, this, &Vehicle::_missionManagerError); |
|
|
|
connect(_missionManager, &MissionManager::newMissionItemsAvailable, this, &Vehicle::_missionLoadComplete); |
|
|
|
connect(_missionManager, &MissionManager::newMissionItemsAvailable, this, &Vehicle::_missionLoadComplete); |
|
|
@ -453,6 +460,7 @@ void Vehicle::_commonInit(void) |
|
|
|
_addFact(&_flightDistanceFact, _flightDistanceFactName); |
|
|
|
_addFact(&_flightDistanceFact, _flightDistanceFactName); |
|
|
|
_addFact(&_flightTimeFact, _flightTimeFactName); |
|
|
|
_addFact(&_flightTimeFact, _flightTimeFactName); |
|
|
|
_addFact(&_distanceToHomeFact, _distanceToHomeFactName); |
|
|
|
_addFact(&_distanceToHomeFact, _distanceToHomeFactName); |
|
|
|
|
|
|
|
_addFact(&_distanceToGCSFact, _distanceToGCSFactName); |
|
|
|
|
|
|
|
|
|
|
|
_hobbsFact.setRawValue(QVariant(QString("0000:00:00"))); |
|
|
|
_hobbsFact.setRawValue(QVariant(QString("0000:00:00"))); |
|
|
|
_addFact(&_hobbsFact, _hobbsFactName); |
|
|
|
_addFact(&_hobbsFact, _hobbsFactName); |
|
|
@ -3598,6 +3606,16 @@ void Vehicle::_updateDistanceToHome(void) |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void Vehicle::_updateDistanceToGCS(void) |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
QGeoCoordinate gcsPosition = _toolbox->qgcPositionManager()->gcsPosition(); |
|
|
|
|
|
|
|
if (coordinate().isValid() && gcsPosition.isValid()) { |
|
|
|
|
|
|
|
_distanceToGCSFact.setRawValue(coordinate().distanceTo(gcsPosition)); |
|
|
|
|
|
|
|
} else { |
|
|
|
|
|
|
|
_distanceToGCSFact.setRawValue(qQNaN()); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
void Vehicle::_updateHobbsMeter(void) |
|
|
|
void Vehicle::_updateHobbsMeter(void) |
|
|
|
{ |
|
|
|
{ |
|
|
|
_hobbsFact.setRawValue(hobbsMeter()); |
|
|
|
_hobbsFact.setRawValue(hobbsMeter()); |
|
|
|