aboutsummaryrefslogtreecommitdiff
path: root/src/modules/mavlink/mavlink_main.cpp
diff options
context:
space:
mode:
authorAnton Babushkin <anton.babushkin@me.com>2014-02-26 23:02:53 +0400
committerAnton Babushkin <anton.babushkin@me.com>2014-02-26 23:02:53 +0400
commit18f72f8dd7a3bd4a9af00fe28afd29e0cc65e2e9 (patch)
tree472ab71f19ca649435b3ecd10b53cadb66270524 /src/modules/mavlink/mavlink_main.cpp
parent85dc422d9804c894009e37c6eaab67a10c5dca28 (diff)
downloadpx4-firmware-18f72f8dd7a3bd4a9af00fe28afd29e0cc65e2e9.tar.gz
px4-firmware-18f72f8dd7a3bd4a9af00fe28afd29e0cc65e2e9.tar.bz2
px4-firmware-18f72f8dd7a3bd4a9af00fe28afd29e0cc65e2e9.zip
mavlink: GPS_GLOBAL_ORIGIN message added, set message rate depending on baudrate
Diffstat (limited to 'src/modules/mavlink/mavlink_main.cpp')
-rw-r--r--src/modules/mavlink/mavlink_main.cpp21
1 files changed, 11 insertions, 10 deletions
diff --git a/src/modules/mavlink/mavlink_main.cpp b/src/modules/mavlink/mavlink_main.cpp
index 5ac76e1cf..3102c937d 100644
--- a/src/modules/mavlink/mavlink_main.cpp
+++ b/src/modules/mavlink/mavlink_main.cpp
@@ -1531,18 +1531,19 @@ Mavlink::task_main(int argc, char *argv[])
mavlink_log_info(_mavlink_fd, "[mavlink] started");
/* add default streams, intervals depend on baud rate */
-// if (_baudrate >= 230400) {
-// } else if (_baudrate >= 115200) {
-// } else if (_baudrate >= 57600) {
-// }
+ float rate_mult = _baudrate / 57600.0f;
+ if (rate_mult > 4.0f) {
+ rate_mult = 4.0f;
+ }
add_stream("HEARTBEAT", 1.0f);
- add_stream("SYS_STATUS", 1.0f);
- add_stream("HIGHRES_IMU", 1.0f);
- add_stream("ATTITUDE", 10.0f);
- add_stream("GPS_RAW_INT", 1.0f);
- add_stream("GLOBAL_POSITION_INT", 5.0f);
- add_stream("LOCAL_POSITION_NED", 5.0f);
+ add_stream("SYS_STATUS", 1.0f * rate_mult);
+ add_stream("GPS_GLOBAL_ORIGIN", 0.5f * rate_mult);
+ add_stream("HIGHRES_IMU", 1.0f * rate_mult);
+ add_stream("ATTITUDE", 10.0f * rate_mult);
+ add_stream("GPS_RAW_INT", 1.0f * rate_mult);
+ add_stream("GLOBAL_POSITION_INT", 5.0f * rate_mult);
+ add_stream("LOCAL_POSITION_NED", 5.0f * rate_mult);
while (!_task_should_exit) {
/* main loop */