Commit d562a023 authored by Don Gagne's avatar Don Gagne

Fix signalling

parent 95cec0e0
...@@ -202,17 +202,32 @@ void Vehicle::_mavlinkMessageReceived(LinkInterface* link, mavlink_message_t mes ...@@ -202,17 +202,32 @@ void Vehicle::_mavlinkMessageReceived(LinkInterface* link, mavlink_message_t mes
void Vehicle::_handleHomePosition(mavlink_message_t& message) void Vehicle::_handleHomePosition(mavlink_message_t& message)
{ {
bool emitHomePositionChanged = false;
bool emitHomePositionAvailableChanged = false;
mavlink_home_position_t homePos; mavlink_home_position_t homePos;
mavlink_msg_home_position_decode(&message, &homePos); mavlink_msg_home_position_decode(&message, &homePos);
_homePosition.setLatitude(homePos.latitude / 10000000.0); QGeoCoordinate newHomePosition (homePos.latitude / 10000000.0,
_homePosition.setLongitude(homePos.longitude / 10000000.0); homePos.longitude / 10000000.0,
_homePosition.setAltitude(homePos.altitude / 1000.0); homePos.altitude / 1000.0);
if (newHomePosition != _homePosition) {
emitHomePositionChanged = true;
_homePosition = newHomePosition;
}
if (!_homePositionAvailable) {
emitHomePositionAvailableChanged = true;
}
_homePositionAvailable = true; _homePositionAvailable = true;
emit homePositionChanged(_homePosition); if (emitHomePositionChanged) {
emit homePositionAvailableChanged(true); emit homePositionChanged(_homePosition);
}
if (emitHomePositionAvailableChanged) {
emit homePositionAvailableChanged(true);
}
} }
void Vehicle::_handleHeartbeat(mavlink_message_t& message) void Vehicle::_handleHeartbeat(mavlink_message_t& message)
......
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