mavlink: bring buffering for log messages back

This commit is contained in:
Julian Oes
2016-03-24 13:10:02 +01:00
parent 1fc9b99307
commit de0e467150
2 changed files with 51 additions and 32 deletions
+7
View File
@@ -1637,6 +1637,8 @@ Mavlink::task_main(int argc, char *argv[])
uint64_t status_time = 0;
MavlinkOrbSubscription *ack_sub = add_orb_subscription(ORB_ID(vehicle_command_ack));
uint64_t ack_time = 0;
MavlinkOrbSubscription *mavlink_log_sub = add_orb_subscription(ORB_ID(mavlink_log));
uint64_t mavlink_log_time = 0;
struct vehicle_status_s status;
status_sub->update(&status_time, &status);
@@ -1875,6 +1877,11 @@ Mavlink::task_main(int argc, char *argv[])
send_message(MAVLINK_MSG_ID_COMMAND_ACK, &msg);
}
struct mavlink_log_s mavlink_log;
if (mavlink_log_sub->update(&mavlink_log_time, &mavlink_log)) {
_logbuffer.put(&mavlink_log);
}
/* check for requested subscriptions */
if (_subscribe_to_stream != nullptr) {
if (OK == configure_stream(_subscribe_to_stream, _subscribe_to_stream_rate)) {