aboutsummaryrefslogtreecommitdiff
path: root/src/modules/mavlink/mavlink_stream.cpp
diff options
context:
space:
mode:
authorAnton Babushkin <anton.babushkin@me.com>2014-07-23 17:36:10 +0200
committerAnton Babushkin <anton.babushkin@me.com>2014-07-23 17:36:10 +0200
commit7ecf66c06d15fb9a8c04f96b5bd05fe1c93138fe (patch)
tree56d4879d437f4b9df167b5fac875f093d80b0bfb /src/modules/mavlink/mavlink_stream.cpp
parentd70b21c51aacae1a3dae755dca4ba9c3fa7a0d88 (diff)
downloadpx4-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.cpp13
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;
}