|
|
@ -757,80 +757,7 @@ void UAS::receiveMessage(mavlink_message_t message) |
|
|
|
emit homePositionChanged(uasId, pos.latitude / 10000000.0, pos.longitude / 10000000.0, pos.altitude / 1000.0); |
|
|
|
emit homePositionChanged(uasId, pos.latitude / 10000000.0, pos.longitude / 10000000.0, pos.altitude / 1000.0); |
|
|
|
} |
|
|
|
} |
|
|
|
break; |
|
|
|
break; |
|
|
|
case MAVLINK_MSG_ID_RC_CHANNELS: |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
mavlink_rc_channels_t channels; |
|
|
|
|
|
|
|
mavlink_msg_rc_channels_decode(&message, &channels); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
emit remoteControlRSSIChanged(channels.rssi); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (channels.chan1_raw != UINT16_MAX && channels.chancount > 0) |
|
|
|
|
|
|
|
emit remoteControlChannelRawChanged(0, channels.chan1_raw); |
|
|
|
|
|
|
|
if (channels.chan2_raw != UINT16_MAX && channels.chancount > 1) |
|
|
|
|
|
|
|
emit remoteControlChannelRawChanged(1, channels.chan2_raw); |
|
|
|
|
|
|
|
if (channels.chan3_raw != UINT16_MAX && channels.chancount > 2) |
|
|
|
|
|
|
|
emit remoteControlChannelRawChanged(2, channels.chan3_raw); |
|
|
|
|
|
|
|
if (channels.chan4_raw != UINT16_MAX && channels.chancount > 3) |
|
|
|
|
|
|
|
emit remoteControlChannelRawChanged(3, channels.chan4_raw); |
|
|
|
|
|
|
|
if (channels.chan5_raw != UINT16_MAX && channels.chancount > 4) |
|
|
|
|
|
|
|
emit remoteControlChannelRawChanged(4, channels.chan5_raw); |
|
|
|
|
|
|
|
if (channels.chan6_raw != UINT16_MAX && channels.chancount > 5) |
|
|
|
|
|
|
|
emit remoteControlChannelRawChanged(5, channels.chan6_raw); |
|
|
|
|
|
|
|
if (channels.chan7_raw != UINT16_MAX && channels.chancount > 6) |
|
|
|
|
|
|
|
emit remoteControlChannelRawChanged(6, channels.chan7_raw); |
|
|
|
|
|
|
|
if (channels.chan8_raw != UINT16_MAX && channels.chancount > 7) |
|
|
|
|
|
|
|
emit remoteControlChannelRawChanged(7, channels.chan8_raw); |
|
|
|
|
|
|
|
if (channels.chan9_raw != UINT16_MAX && channels.chancount > 8) |
|
|
|
|
|
|
|
emit remoteControlChannelRawChanged(8, channels.chan9_raw); |
|
|
|
|
|
|
|
if (channels.chan10_raw != UINT16_MAX && channels.chancount > 9) |
|
|
|
|
|
|
|
emit remoteControlChannelRawChanged(9, channels.chan10_raw); |
|
|
|
|
|
|
|
if (channels.chan11_raw != UINT16_MAX && channels.chancount > 10) |
|
|
|
|
|
|
|
emit remoteControlChannelRawChanged(10, channels.chan11_raw); |
|
|
|
|
|
|
|
if (channels.chan12_raw != UINT16_MAX && channels.chancount > 11) |
|
|
|
|
|
|
|
emit remoteControlChannelRawChanged(11, channels.chan12_raw); |
|
|
|
|
|
|
|
if (channels.chan13_raw != UINT16_MAX && channels.chancount > 12) |
|
|
|
|
|
|
|
emit remoteControlChannelRawChanged(12, channels.chan13_raw); |
|
|
|
|
|
|
|
if (channels.chan14_raw != UINT16_MAX && channels.chancount > 13) |
|
|
|
|
|
|
|
emit remoteControlChannelRawChanged(13, channels.chan14_raw); |
|
|
|
|
|
|
|
if (channels.chan15_raw != UINT16_MAX && channels.chancount > 14) |
|
|
|
|
|
|
|
emit remoteControlChannelRawChanged(14, channels.chan15_raw); |
|
|
|
|
|
|
|
if (channels.chan16_raw != UINT16_MAX && channels.chancount > 15) |
|
|
|
|
|
|
|
emit remoteControlChannelRawChanged(15, channels.chan16_raw); |
|
|
|
|
|
|
|
if (channels.chan17_raw != UINT16_MAX && channels.chancount > 16) |
|
|
|
|
|
|
|
emit remoteControlChannelRawChanged(16, channels.chan17_raw); |
|
|
|
|
|
|
|
if (channels.chan18_raw != UINT16_MAX && channels.chancount > 17) |
|
|
|
|
|
|
|
emit remoteControlChannelRawChanged(17, channels.chan18_raw); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
break; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// TODO: (gg 20150420) PX4 Firmware does not seem to send this message. Don't know what to do about it.
|
|
|
|
|
|
|
|
case MAVLINK_MSG_ID_RC_CHANNELS_SCALED: |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
mavlink_rc_channels_scaled_t channels; |
|
|
|
|
|
|
|
mavlink_msg_rc_channels_scaled_decode(&message, &channels); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const unsigned int portWidth = 8; // XXX magic number
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
emit remoteControlRSSIChanged(channels.rssi); |
|
|
|
|
|
|
|
if (static_cast<uint16_t>(channels.chan1_scaled) != UINT16_MAX) |
|
|
|
|
|
|
|
emit remoteControlChannelScaledChanged(channels.port * portWidth + 0, channels.chan1_scaled/10000.0f); |
|
|
|
|
|
|
|
if (static_cast<uint16_t>(channels.chan2_scaled) != UINT16_MAX) |
|
|
|
|
|
|
|
emit remoteControlChannelScaledChanged(channels.port * portWidth + 1, channels.chan2_scaled/10000.0f); |
|
|
|
|
|
|
|
if (static_cast<uint16_t>(channels.chan3_scaled) != UINT16_MAX) |
|
|
|
|
|
|
|
emit remoteControlChannelScaledChanged(channels.port * portWidth + 2, channels.chan3_scaled/10000.0f); |
|
|
|
|
|
|
|
if (static_cast<uint16_t>(channels.chan4_scaled) != UINT16_MAX) |
|
|
|
|
|
|
|
emit remoteControlChannelScaledChanged(channels.port * portWidth + 3, channels.chan4_scaled/10000.0f); |
|
|
|
|
|
|
|
if (static_cast<uint16_t>(channels.chan5_scaled) != UINT16_MAX) |
|
|
|
|
|
|
|
emit remoteControlChannelScaledChanged(channels.port * portWidth + 4, channels.chan5_scaled/10000.0f); |
|
|
|
|
|
|
|
if (static_cast<uint16_t>(channels.chan6_scaled) != UINT16_MAX) |
|
|
|
|
|
|
|
emit remoteControlChannelScaledChanged(channels.port * portWidth + 5, channels.chan6_scaled/10000.0f); |
|
|
|
|
|
|
|
if (static_cast<uint16_t>(channels.chan7_scaled) != UINT16_MAX) |
|
|
|
|
|
|
|
emit remoteControlChannelScaledChanged(channels.port * portWidth + 6, channels.chan7_scaled/10000.0f); |
|
|
|
|
|
|
|
if (static_cast<uint16_t>(channels.chan8_scaled) != UINT16_MAX) |
|
|
|
|
|
|
|
emit remoteControlChannelScaledChanged(channels.port * portWidth + 7, channels.chan8_scaled/10000.0f); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
break; |
|
|
|
|
|
|
|
case MAVLINK_MSG_ID_PARAM_VALUE: |
|
|
|
case MAVLINK_MSG_ID_PARAM_VALUE: |
|
|
|
{ |
|
|
|
{ |
|
|
|
mavlink_param_value_t rawValue; |
|
|
|
mavlink_param_value_t rawValue; |
|
|
|