aboutsummaryrefslogtreecommitdiff
path: root/src/modules/mavlink
diff options
context:
space:
mode:
authorAnton Babushkin <anton.babushkin@me.com>2014-06-26 22:37:11 +0200
committerAnton Babushkin <anton.babushkin@me.com>2014-06-26 22:37:11 +0200
commit62156e78ae45e1c5e2a5ecc305b30cf1b4e0e7f2 (patch)
tree6727b393af755a32e3764373123c58408799ae3a /src/modules/mavlink
parentf3a77705a701a92ae510e18280136b3b7f204b3e (diff)
downloadpx4-firmware-62156e78ae45e1c5e2a5ecc305b30cf1b4e0e7f2.tar.gz
px4-firmware-62156e78ae45e1c5e2a5ecc305b30cf1b4e0e7f2.tar.bz2
px4-firmware-62156e78ae45e1c5e2a5ecc305b30cf1b4e0e7f2.zip
mavlink: init structs for HEARTBEAT if uORB topic copy failed
Diffstat (limited to 'src/modules/mavlink')
-rw-r--r--src/modules/mavlink/mavlink_messages.cpp11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/modules/mavlink/mavlink_messages.cpp b/src/modules/mavlink/mavlink_messages.cpp
index b295bf35f..97520fce9 100644
--- a/src/modules/mavlink/mavlink_messages.cpp
+++ b/src/modules/mavlink/mavlink_messages.cpp
@@ -227,8 +227,15 @@ protected:
struct position_setpoint_triplet_s pos_sp_triplet;
/* always send the heartbeat, independent of the update status of the topics */
- (void)status_sub->update(&status);
- (void)pos_sp_triplet_sub->update(&pos_sp_triplet);
+ if (!status_sub->update(&status)) {
+ /* if topic update failed fill it with defaults */
+ memset(&status, 0, sizeof(status));
+ }
+
+ if (!pos_sp_triplet_sub->update(&pos_sp_triplet)) {
+ /* if topic update failed fill it with defaults */
+ memset(&pos_sp_triplet, 0, sizeof(pos_sp_triplet));
+ }
uint8_t mavlink_state = 0;
uint8_t mavlink_base_mode = 0;