diff options
author | Anton Babushkin <anton.babushkin@me.com> | 2014-07-23 17:36:10 +0200 |
---|---|---|
committer | Anton Babushkin <anton.babushkin@me.com> | 2014-07-23 17:36:10 +0200 |
commit | 7ecf66c06d15fb9a8c04f96b5bd05fe1c93138fe (patch) | |
tree | 56d4879d437f4b9df167b5fac875f093d80b0bfb /src/modules/mavlink/mavlink_stream.cpp | |
parent | d70b21c51aacae1a3dae755dca4ba9c3fa7a0d88 (diff) | |
download | px4-firmware-7ecf66c06d15fb9a8c04f96b5bd05fe1c93138fe.tar.gz px4-firmware-7ecf66c06d15fb9a8c04f96b5bd05fe1c93138fe.tar.bz2 px4-firmware-7ecf66c06d15fb9a8c04f96b5bd05fe1c93138fe.zip |
mavlink: bugs fixed
Diffstat (limited to 'src/modules/mavlink/mavlink_stream.cpp')
-rw-r--r-- | src/modules/mavlink/mavlink_stream.cpp | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/src/modules/mavlink/mavlink_stream.cpp b/src/modules/mavlink/mavlink_stream.cpp index da3a55172..5b9e45d3e 100644 --- a/src/modules/mavlink/mavlink_stream.cpp +++ b/src/modules/mavlink/mavlink_stream.cpp @@ -71,12 +71,21 @@ int MavlinkStream::update(const hrt_abstime t) { uint64_t dt = t - _last_sent; - unsigned int interval = _interval * _mavlink->get_rate_mult(); + unsigned int interval = _interval; + + if (!const_rate()) { + interval /= _mavlink->get_rate_mult(); + } if (dt > 0 && dt >= interval) { /* interval expired, send message */ send(t); - _last_sent = t; + if (const_rate()) { + _last_sent = (t / _interval) * _interval; + + } else { + _last_sent = t; + } return 0; } |