Commit 3c7c9b74 authored by Gus Grubba's avatar Gus Grubba

Added altitude to the Vehicle coordinate (QGeoCoordinate)

parent c62e1fbb
...@@ -605,8 +605,11 @@ void Vehicle::_handleGpsRawInt(mavlink_message_t& message) ...@@ -605,8 +605,11 @@ void Vehicle::_handleGpsRawInt(mavlink_message_t& message)
if (gpsRawInt.fix_type >= GPS_FIX_TYPE_3D_FIX) { if (gpsRawInt.fix_type >= GPS_FIX_TYPE_3D_FIX) {
if (!_globalPositionIntMessageAvailable) { if (!_globalPositionIntMessageAvailable) {
setLatitude(gpsRawInt.lat / (double)1E7); //-- Set these here and emit a single signal instead of 3 for the same variable (_coordinate)
setLongitude(gpsRawInt.lon / (double)1E7); _coordinate.setLatitude(gpsRawInt.lat / (double)1E7);
_coordinate.setLongitude(gpsRawInt.lon / (double)1E7);
_coordinate.setAltitude(gpsRawInt.alt / 1000.0);
emit coordinateChanged(_coordinate);
_altitudeAMSLFact.setRawValue(gpsRawInt.alt / 1000.0); _altitudeAMSLFact.setRawValue(gpsRawInt.alt / 1000.0);
} }
} }
...@@ -628,9 +631,11 @@ void Vehicle::_handleGlobalPositionInt(mavlink_message_t& message) ...@@ -628,9 +631,11 @@ void Vehicle::_handleGlobalPositionInt(mavlink_message_t& message)
mavlink_msg_global_position_int_decode(&message, &globalPositionInt); mavlink_msg_global_position_int_decode(&message, &globalPositionInt);
_globalPositionIntMessageAvailable = true; _globalPositionIntMessageAvailable = true;
//-- Set these here and emit a single signal instead of 3 for the same variable (_coordinate)
setLatitude(globalPositionInt.lat / (double)1E7); _coordinate.setLatitude(globalPositionInt.lat / (double)1E7);
setLongitude(globalPositionInt.lon / (double)1E7); _coordinate.setLongitude(globalPositionInt.lon / (double)1E7);
_coordinate.setAltitude(globalPositionInt.alt / 1000.0);
emit coordinateChanged(_coordinate);
_altitudeRelativeFact.setRawValue(globalPositionInt.relative_alt / 1000.0); _altitudeRelativeFact.setRawValue(globalPositionInt.relative_alt / 1000.0);
_altitudeAMSLFact.setRawValue(globalPositionInt.alt / 1000.0); _altitudeAMSLFact.setRawValue(globalPositionInt.alt / 1000.0);
} }
...@@ -1136,6 +1141,11 @@ void Vehicle::setLongitude(double longitude){ ...@@ -1136,6 +1141,11 @@ void Vehicle::setLongitude(double longitude){
emit coordinateChanged(_coordinate); emit coordinateChanged(_coordinate);
} }
void Vehicle::setAltitude(double altitude){
_coordinate.setAltitude(altitude);
emit coordinateChanged(_coordinate);
}
void Vehicle::_updateAttitude(UASInterface*, double roll, double pitch, double yaw, quint64) void Vehicle::_updateAttitude(UASInterface*, double roll, double pitch, double yaw, quint64)
{ {
if (qIsInf(roll)) { if (qIsInf(roll)) {
......
...@@ -645,8 +645,11 @@ public: ...@@ -645,8 +645,11 @@ public:
QString vehicleImageCompass () const; QString vehicleImageCompass () const;
public slots: public slots:
void setLatitude(double latitude); /// Sets the firmware plugin instance data associated with this Vehicle. This object will be parented to the Vehicle
void setLongitude(double longitude); /// and destroyed when the vehicle goes away.
void setLatitude (double latitude);
void setLongitude (double longitude);
void setAltitude (double altitude);
signals: signals:
void allLinksInactive(Vehicle* vehicle); void allLinksInactive(Vehicle* vehicle);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment