From 9306dc3560453f5316637f7a9638197f983c3253 Mon Sep 17 00:00:00 2001 From: Donald Gagne Date: Fri, 24 Mar 2017 19:05:56 -0700 Subject: [PATCH] Add flightDistance to Vehicle FactGroup --- src/Vehicle/Vehicle.cc | 7 +++++++ src/Vehicle/Vehicle.h | 4 ++++ src/Vehicle/VehicleFact.json | 7 +++++++ 3 files changed, 18 insertions(+) diff --git a/src/Vehicle/Vehicle.cc b/src/Vehicle/Vehicle.cc index bd6359fd0..af8f17a33 100644 --- a/src/Vehicle/Vehicle.cc +++ b/src/Vehicle/Vehicle.cc @@ -49,6 +49,7 @@ const char* Vehicle::_groundSpeedFactName = "groundSpeed"; const char* Vehicle::_climbRateFactName = "climbRate"; const char* Vehicle::_altitudeRelativeFactName = "altitudeRelative"; const char* Vehicle::_altitudeAMSLFactName = "altitudeAMSL"; +const char* Vehicle::_flightDistanceFactName = "flightDistance"; const char* Vehicle::_gpsFactGroupName = "gps"; const char* Vehicle::_batteryFactGroupName = "battery"; @@ -148,6 +149,7 @@ Vehicle::Vehicle(LinkInterface* link, , _climbRateFact (0, _climbRateFactName, FactMetaData::valueTypeDouble) , _altitudeRelativeFact (0, _altitudeRelativeFactName, FactMetaData::valueTypeDouble) , _altitudeAMSLFact (0, _altitudeAMSLFactName, FactMetaData::valueTypeDouble) + , _flightDistanceFact (0, _flightDistanceFactName, FactMetaData::valueTypeDouble) , _gpsFactGroup(this) , _batteryFactGroup(this) , _windFactGroup(this) @@ -348,12 +350,15 @@ void Vehicle::_commonInit(void) _addFact(&_climbRateFact, _climbRateFactName); _addFact(&_altitudeRelativeFact, _altitudeRelativeFactName); _addFact(&_altitudeAMSLFact, _altitudeAMSLFactName); + _addFact(&_flightDistanceFact, _flightDistanceFactName); _addFactGroup(&_gpsFactGroup, _gpsFactGroupName); _addFactGroup(&_batteryFactGroup, _batteryFactGroupName); _addFactGroup(&_windFactGroup, _windFactGroupName); _addFactGroup(&_vibrationFactGroup, _vibrationFactGroupName); _addFactGroup(&_temperatureFactGroup, _temperatureFactGroupName); + + _flightDistanceFact.setRawValue(0); } Vehicle::~Vehicle() @@ -1637,6 +1642,7 @@ void Vehicle::_addNewMapTrajectoryPoint(void) _mapTrajectoryList.removeAt(0)->deleteLater(); } _mapTrajectoryList.append(new CoordinateVector(_mapTrajectoryLastCoordinate, _coordinate, this)); + _flightDistanceFact.setRawValue(_flightDistanceFact.rawValue().toDouble() + _mapTrajectoryLastCoordinate.distanceTo(_coordinate)); } _mapTrajectoryHaveFirstCoordinate = true; _mapTrajectoryLastCoordinate = _coordinate; @@ -1647,6 +1653,7 @@ void Vehicle::_mapTrajectoryStart(void) _mapTrajectoryHaveFirstCoordinate = false; _mapTrajectoryList.clear(); _mapTrajectoryTimer.start(); + _flightDistanceFact.setRawValue(0); } void Vehicle::_mapTrajectoryStop() diff --git a/src/Vehicle/Vehicle.h b/src/Vehicle/Vehicle.h index 4e5353768..44b04230f 100644 --- a/src/Vehicle/Vehicle.h +++ b/src/Vehicle/Vehicle.h @@ -338,6 +338,7 @@ public: Q_PROPERTY(Fact* climbRate READ climbRate CONSTANT) Q_PROPERTY(Fact* altitudeRelative READ altitudeRelative CONSTANT) Q_PROPERTY(Fact* altitudeAMSL READ altitudeAMSL CONSTANT) + Q_PROPERTY(Fact* flightDistance READ flightDistance CONSTANT) Q_PROPERTY(FactGroup* gps READ gpsFactGroup CONSTANT) Q_PROPERTY(FactGroup* battery READ batteryFactGroup CONSTANT) @@ -594,6 +595,7 @@ public: Fact* climbRate (void) { return &_climbRateFact; } Fact* altitudeRelative (void) { return &_altitudeRelativeFact; } Fact* altitudeAMSL (void) { return &_altitudeAMSLFact; } + Fact* flightDistance (void) { return &_flightDistanceFact; } FactGroup* gpsFactGroup (void) { return &_gpsFactGroup; } FactGroup* batteryFactGroup (void) { return &_batteryFactGroup; } @@ -982,6 +984,7 @@ private: Fact _climbRateFact; Fact _altitudeRelativeFact; Fact _altitudeAMSLFact; + Fact _flightDistanceFact; VehicleGPSFactGroup _gpsFactGroup; VehicleBatteryFactGroup _batteryFactGroup; @@ -997,6 +1000,7 @@ private: static const char* _climbRateFactName; static const char* _altitudeRelativeFactName; static const char* _altitudeAMSLFactName; + static const char* _flightDistanceFactName; static const char* _gpsFactGroupName; static const char* _batteryFactGroupName; diff --git a/src/Vehicle/VehicleFact.json b/src/Vehicle/VehicleFact.json index 308b54ba2..abef3dcd0 100644 --- a/src/Vehicle/VehicleFact.json +++ b/src/Vehicle/VehicleFact.json @@ -54,5 +54,12 @@ "type": "double", "decimalPlaces": 1, "units": "m" +}, +{ + "name": "flightDistance", + "shortDescription": "Flight Distance", + "type": "double", + "decimalPlaces": 1, + "units": "m" } ] -- 2.22.0