aboutsummaryrefslogtreecommitdiff
path: root/src/modules/mavlink/mavlink_main.cpp
diff options
context:
space:
mode:
authorAndreas Antener <antener_a@gmx.ch>2014-09-22 10:57:17 +1000
committerAndreas Antener <antener_a@gmx.ch>2014-09-22 10:57:17 +1000
commit25b2d4b823d339c69365baecc7b9eada37e0a529 (patch)
treec4c8b087f69ca935b3aa70712e79298e38750cac /src/modules/mavlink/mavlink_main.cpp
parent6a6bd0997346d3994bae09e7c598e99088a12eb4 (diff)
downloadpx4-firmware-25b2d4b823d339c69365baecc7b9eada37e0a529.tar.gz
px4-firmware-25b2d4b823d339c69365baecc7b9eada37e0a529.tar.bz2
px4-firmware-25b2d4b823d339c69365baecc7b9eada37e0a529.zip
change rates for mavlink streams
Diffstat (limited to 'src/modules/mavlink/mavlink_main.cpp')
-rw-r--r--src/modules/mavlink/mavlink_main.cpp45
1 files changed, 28 insertions, 17 deletions
diff --git a/src/modules/mavlink/mavlink_main.cpp b/src/modules/mavlink/mavlink_main.cpp
index dd830071d..69565e3ab 100644
--- a/src/modules/mavlink/mavlink_main.cpp
+++ b/src/modules/mavlink/mavlink_main.cpp
@@ -1328,7 +1328,7 @@ Mavlink::task_main(int argc, char *argv[])
* make space for two messages plus off-by-one space as we use the empty element
* marker ring buffer approach.
*/
- if (OK != message_buffer_init(2 * sizeof(mavlink_message_t) + 1)) {
+ if (OK != message_buffer_init(10 * sizeof(mavlink_message_t) + 1)) {
errx(1, "can't allocate message buffer, exiting");
}
@@ -1374,39 +1374,50 @@ Mavlink::task_main(int argc, char *argv[])
_parameters_manager->set_interval(interval_from_rate(30.0f));
LL_APPEND(_streams, _parameters_manager);
- /* MISSION_STREAM stream, actually sends all MISSION_XXX messages at some rate depending on
- * remote requests rate. Rate specified here controls how much bandwidth we will reserve for
- * mission messages. */
- _mission_manager = (MavlinkMissionManager *) MavlinkMissionManager::new_instance(this);
- _mission_manager->set_interval(interval_from_rate(10.0f));
- _mission_manager->set_verbose(_verbose);
- LL_APPEND(_streams, _mission_manager);
+
switch (_mode) {
case MAVLINK_MODE_NORMAL:
+ /* MISSION_STREAM stream, actually sends all MISSION_XXX messages at some rate depending on
+ * remote requests rate. Rate specified here controls how much bandwidth we will reserve for
+ * mission messages. */
+ _mission_manager = (MavlinkMissionManager *) MavlinkMissionManager::new_instance(this);
+ _mission_manager->set_interval(interval_from_rate(2.0f));
+ _mission_manager->set_verbose(_verbose);
+ LL_APPEND(_streams, _mission_manager);
+
configure_stream("SYS_STATUS", 1.0f);
configure_stream("GPS_GLOBAL_ORIGIN", 0.5f);
configure_stream("HIGHRES_IMU", 1.0f);
- configure_stream("ATTITUDE", 15.0f);
- configure_stream("VFR_HUD", 8.0f);
+ configure_stream("ATTITUDE", 4.0f);
+ configure_stream("VFR_HUD", 4.0f);
configure_stream("GPS_RAW_INT", 1.0f);
- configure_stream("GLOBAL_POSITION_INT", 3.0f);
- configure_stream("LOCAL_POSITION_NED", 3.0f);
+ configure_stream("GLOBAL_POSITION_INT", 1.0f);
+ configure_stream("LOCAL_POSITION_NED", 1.0f);
configure_stream("RC_CHANNELS_RAW", 1.0f);
- configure_stream("POSITION_TARGET_GLOBAL_INT", 3.0f);
- configure_stream("ATTITUDE_TARGET", 15.0f);
+ configure_stream("POSITION_TARGET_GLOBAL_INT", 1.0f);
+ configure_stream("ATTITUDE_TARGET", 1.0f);
configure_stream("DISTANCE_SENSOR", 0.5f);
- configure_stream("OPTICAL_FLOW", 20.0f);
+ //configure_stream("OPTICAL_FLOW", 20.0f);
break;
case MAVLINK_MODE_ONBOARD:
+ /* MISSION_STREAM stream, actually sends all MISSION_XXX messages at some rate depending on
+ * remote requests rate. Rate specified here controls how much bandwidth we will reserve for
+ * mission messages. */
+ _mission_manager = (MavlinkMissionManager *) MavlinkMissionManager::new_instance(this);
+ _mission_manager->set_interval(interval_from_rate(10.0f));
+ _mission_manager->set_verbose(_verbose);
+ LL_APPEND(_streams, _mission_manager);
+
configure_stream("SYS_STATUS", 1.0f);
// XXX OBC change back: We need to be bandwidth-efficient here too
configure_stream("ATTITUDE", 50.0f);
configure_stream("GLOBAL_POSITION_INT", 50.0f);
configure_stream("CAMERA_CAPTURE", 2.0f);
- configure_stream("ATTITUDE_TARGET", 50.0f);
- configure_stream("POSITION_TARGET_GLOBAL_INT", 20.0f);
+ configure_stream("ATTITUDE_TARGET", 10.0f);
+ configure_stream("POSITION_TARGET_GLOBAL_INT", 10.0f);
+ configure_stream("VFR_HUD", 10.0f);
break;
default: