Browse Source

Vehicle: add distance to next WP fact

QGC4.4
davidsastresas 1 year ago committed by Julian Oes
parent
commit
3bf3d7f2f8
No known key found for this signature in database
GPG Key ID: F0ED380FEA56DE41
  1. 5
      src/Vehicle/Vehicle.cc
  2. 4
      src/Vehicle/Vehicle.h
  3. 7
      src/Vehicle/VehicleFact.json

5
src/Vehicle/Vehicle.cc

@ -93,6 +93,7 @@ const char* Vehicle::_distanceToHomeFactName = "distanceToHome"; @@ -93,6 +93,7 @@ const char* Vehicle::_distanceToHomeFactName = "distanceToHome";
const char* Vehicle::_timeToHomeFactName = "timeToHome";
const char* Vehicle::_missionItemIndexFactName = "missionItemIndex";
const char* Vehicle::_headingToNextWPFactName = "headingToNextWP";
const char* Vehicle::_distanceToNextWPFactName = "distanceToNextWP";
const char* Vehicle::_headingToHomeFactName = "headingToHome";
const char* Vehicle::_distanceToGCSFactName = "distanceToGCS";
const char* Vehicle::_hobbsFactName = "hobbs";
@ -160,6 +161,7 @@ Vehicle::Vehicle(LinkInterface* link, @@ -160,6 +161,7 @@ Vehicle::Vehicle(LinkInterface* link,
, _timeToHomeFact (0, _timeToHomeFactName, FactMetaData::valueTypeDouble)
, _missionItemIndexFact (0, _missionItemIndexFactName, FactMetaData::valueTypeUint16)
, _headingToNextWPFact (0, _headingToNextWPFactName, FactMetaData::valueTypeDouble)
, _distanceToNextWPFact (0, _distanceToNextWPFactName, FactMetaData::valueTypeDouble)
, _headingToHomeFact (0, _headingToHomeFactName, FactMetaData::valueTypeDouble)
, _distanceToGCSFact (0, _distanceToGCSFactName, FactMetaData::valueTypeDouble)
, _hobbsFact (0, _hobbsFactName, FactMetaData::valueTypeString)
@ -311,6 +313,7 @@ Vehicle::Vehicle(MAV_AUTOPILOT firmwareType, @@ -311,6 +313,7 @@ Vehicle::Vehicle(MAV_AUTOPILOT firmwareType,
, _distanceToHomeFact (0, _distanceToHomeFactName, FactMetaData::valueTypeDouble)
, _missionItemIndexFact (0, _missionItemIndexFactName, FactMetaData::valueTypeUint16)
, _headingToNextWPFact (0, _headingToNextWPFactName, FactMetaData::valueTypeDouble)
, _distanceToNextWPFact (0, _distanceToNextWPFactName, FactMetaData::valueTypeDouble)
, _headingToHomeFact (0, _headingToHomeFactName, FactMetaData::valueTypeDouble)
, _distanceToGCSFact (0, _distanceToGCSFactName, FactMetaData::valueTypeDouble)
, _hobbsFact (0, _hobbsFactName, FactMetaData::valueTypeString)
@ -448,6 +451,7 @@ void Vehicle::_commonInit() @@ -448,6 +451,7 @@ void Vehicle::_commonInit()
_addFact(&_timeToHomeFact, _timeToHomeFactName);
_addFact(&_missionItemIndexFact, _missionItemIndexFactName);
_addFact(&_headingToNextWPFact, _headingToNextWPFactName);
_addFact(&_distanceToNextWPFact, _distanceToNextWPFactName);
_addFact(&_headingToHomeFact, _headingToHomeFactName);
_addFact(&_distanceToGCSFact, _distanceToGCSFactName);
_addFact(&_throttlePctFact, _throttlePctFactName);
@ -1045,6 +1049,7 @@ void Vehicle::_handleNavControllerOutput(mavlink_message_t& message) @@ -1045,6 +1049,7 @@ void Vehicle::_handleNavControllerOutput(mavlink_message_t& message)
_altitudeTuningSetpointFact.setRawValue(_altitudeTuningFact.rawValue().toDouble() - navControllerOutput.alt_error);
_xTrackErrorFact.setRawValue(navControllerOutput.xtrack_error);
_airSpeedSetpointFact.setRawValue(_airSpeedFact.rawValue().toDouble() - navControllerOutput.aspd_error);
_distanceToNextWPFact.setRawValue(navControllerOutput.wp_dist);
}
// Ignore warnings from mavlink headers for both GCC/Clang and MSVC

4
src/Vehicle/Vehicle.h

@ -305,6 +305,7 @@ public: @@ -305,6 +305,7 @@ public:
Q_PROPERTY(Fact* timeToHome READ timeToHome CONSTANT)
Q_PROPERTY(Fact* missionItemIndex READ missionItemIndex CONSTANT)
Q_PROPERTY(Fact* headingToNextWP READ headingToNextWP CONSTANT)
Q_PROPERTY(Fact* distanceToNextWP READ distanceToNextWP CONSTANT)
Q_PROPERTY(Fact* headingToHome READ headingToHome CONSTANT)
Q_PROPERTY(Fact* distanceToGCS READ distanceToGCS CONSTANT)
Q_PROPERTY(Fact* hobbs READ hobbs CONSTANT)
@ -699,6 +700,7 @@ public: @@ -699,6 +700,7 @@ public:
Fact* timeToHome () { return &_timeToHomeFact; }
Fact* missionItemIndex () { return &_missionItemIndexFact; }
Fact* headingToNextWP () { return &_headingToNextWPFact; }
Fact* distanceToNextWP () { return &_distanceToNextWPFact; }
Fact* headingToHome () { return &_headingToHomeFact; }
Fact* distanceToGCS () { return &_distanceToGCSFact; }
Fact* hobbs () { return &_hobbsFact; }
@ -1408,6 +1410,7 @@ private: @@ -1408,6 +1410,7 @@ private:
Fact _timeToHomeFact;
Fact _missionItemIndexFact;
Fact _headingToNextWPFact;
Fact _distanceToNextWPFact;
Fact _headingToHomeFact;
Fact _distanceToGCSFact;
Fact _hobbsFact;
@ -1468,6 +1471,7 @@ private: @@ -1468,6 +1471,7 @@ private:
static const char* _timeToHomeFactName;
static const char* _missionItemIndexFactName;
static const char* _headingToNextWPFactName;
static const char* _distanceToNextWPFactName;
static const char* _headingToHomeFactName;
static const char* _distanceToGCSFactName;
static const char* _hobbsFactName;

7
src/Vehicle/VehicleFact.json

@ -135,6 +135,13 @@ @@ -135,6 +135,13 @@
"units": "deg"
},
{
"name": "distanceToNextWP",
"shortDesc": "Next WP distance",
"type": "double",
"decimalPlaces": 0,
"units": "m"
},
{
"name": "flightTime",
"shortDesc": "Flight Time",
"type": "elapsedSeconds",

Loading…
Cancel
Save