Add support for mavlink message DEBUG_VECT

This commit is contained in:
Julien Lecoeur
2017-08-30 14:45:02 +01:00
committed by Nuno Marques
parent eeb966d375
commit 12353f4da7
6 changed files with 109 additions and 0 deletions
+28
View File
@@ -139,6 +139,7 @@ MavlinkReceiver::MavlinkReceiver(Mavlink *parent) :
_control_state_pub(nullptr),
_debug_key_value_pub(nullptr),
_debug_value_pub(nullptr),
_debug_vect_pub(nullptr),
_gps_inject_data_pub(nullptr),
_command_ack_pub(nullptr),
_control_mode_sub(orb_subscribe(ORB_ID(vehicle_control_mode))),
@@ -317,6 +318,10 @@ MavlinkReceiver::handle_message(mavlink_message_t *msg)
handle_message_debug(msg);
break;
case MAVLINK_MSG_ID_DEBUG_VECT:
handle_message_debug_vect(msg);
break;
default:
break;
}
@@ -2409,6 +2414,29 @@ void MavlinkReceiver::handle_message_debug(mavlink_message_t *msg)
}
}
void MavlinkReceiver::handle_message_debug_vect(mavlink_message_t *msg)
{
mavlink_debug_vect_t debug_msg;
debug_vect_s debug_topic = {};
mavlink_msg_debug_vect_decode(msg, &debug_msg);
debug_topic.timestamp = hrt_absolute_time();
debug_topic.timestamp_us = debug_msg.time_usec;
memcpy(debug_topic.name, debug_msg.name, sizeof(debug_topic.name));
debug_topic.name[sizeof(debug_topic.name) - 1] = '\0'; // enforce null termination
debug_topic.x = debug_msg.x;
debug_topic.y = debug_msg.y;
debug_topic.z = debug_msg.z;
if (_debug_vect_pub == nullptr) {
_debug_vect_pub = orb_advertise(ORB_ID(debug_vect), &debug_topic);
} else {
orb_publish(ORB_ID(debug_vect), _debug_vect_pub, &debug_topic);
}
}
/**
* Receive data from UART.
*/