aboutsummaryrefslogtreecommitdiff
path: root/src/modules/mavlink/mavlink_receiver.cpp
diff options
context:
space:
mode:
authorLorenz Meier <lm@inf.ethz.ch>2014-06-23 14:35:59 +0200
committerLorenz Meier <lm@inf.ethz.ch>2014-06-23 14:35:59 +0200
commit194aa491107ca10a65065edef3977c20c02a507c (patch)
treef47e88a1e7c58093f862d38dc4e75e27f8fd0460 /src/modules/mavlink/mavlink_receiver.cpp
parentf02de30c32acd313dcb4d9e5561634d5a3ab758c (diff)
parent662a7403b2ef00018d6c1b38265ec0ba4a9ae6bf (diff)
downloadpx4-firmware-194aa491107ca10a65065edef3977c20c02a507c.tar.gz
px4-firmware-194aa491107ca10a65065edef3977c20c02a507c.tar.bz2
px4-firmware-194aa491107ca10a65065edef3977c20c02a507c.zip
Merged rate config changes
Diffstat (limited to 'src/modules/mavlink/mavlink_receiver.cpp')
-rw-r--r--src/modules/mavlink/mavlink_receiver.cpp22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/modules/mavlink/mavlink_receiver.cpp b/src/modules/mavlink/mavlink_receiver.cpp
index 0862f6bf0..425fc79a5 100644
--- a/src/modules/mavlink/mavlink_receiver.cpp
+++ b/src/modules/mavlink/mavlink_receiver.cpp
@@ -156,6 +156,10 @@ MavlinkReceiver::handle_message(mavlink_message_t *msg)
handle_message_heartbeat(msg);
break;
+ case MAVLINK_MSG_ID_REQUEST_DATA_STREAM:
+ handle_message_request_data_stream(msg);
+ break;
+
default:
break;
}
@@ -492,6 +496,24 @@ MavlinkReceiver::handle_message_heartbeat(mavlink_message_t *msg)
}
void
+MavlinkReceiver::handle_message_request_data_stream(mavlink_message_t *msg)
+{
+ mavlink_request_data_stream_t req;
+ mavlink_msg_request_data_stream_decode(msg, &req);
+
+ if (req.target_system == mavlink_system.sysid && req.target_component == mavlink_system.compid) {
+ float rate = req.start_stop ? (1000.0f / req.req_message_rate) : 0.0f;
+
+ MavlinkStream *stream;
+ LL_FOREACH(_mavlink->get_streams(), stream) {
+ if (req.req_stream_id == stream->get_id()) {
+ _mavlink->configure_stream_threadsafe(stream->get_name(), rate);
+ }
+ }
+ }
+}
+
+void
MavlinkReceiver::handle_message_hil_sensor(mavlink_message_t *msg)
{
mavlink_hil_sensor_t imu;