diff options
author | Lorenz Meier <lorenz@px4.io> | 2015-03-31 11:39:54 -0700 |
---|---|---|
committer | Lorenz Meier <lorenz@px4.io> | 2015-03-31 11:39:54 -0700 |
commit | 4a60fef4c0371cf63fa76b584acc22665e821e11 (patch) | |
tree | bdbd61c82b5bf361bf376f477586ee0d96f3a45e | |
parent | 3d8c85920b06bf37f4a0b1c17de9863a7533a36d (diff) | |
parent | fa9f7075fa42197e2daed6513647d07761dde090 (diff) | |
download | px4-firmware-4a60fef4c0371cf63fa76b584acc22665e821e11.tar.gz px4-firmware-4a60fef4c0371cf63fa76b584acc22665e821e11.tar.bz2 px4-firmware-4a60fef4c0371cf63fa76b584acc22665e821e11.zip |
Merge pull request #1964 from matt-beall/pingMessages
Ping messages
-rw-r--r-- | src/modules/mavlink/mavlink_receiver.cpp | 17 | ||||
-rw-r--r-- | src/modules/mavlink/mavlink_receiver.h | 1 |
2 files changed, 18 insertions, 0 deletions
diff --git a/src/modules/mavlink/mavlink_receiver.cpp b/src/modules/mavlink/mavlink_receiver.cpp index e3f274b8b..3f9f7e139 100644 --- a/src/modules/mavlink/mavlink_receiver.cpp +++ b/src/modules/mavlink/mavlink_receiver.cpp @@ -157,6 +157,10 @@ MavlinkReceiver::handle_message(mavlink_message_t *msg) handle_message_optical_flow_rad(msg); break; + case MAVLINK_MSG_ID_PING: + handle_message_ping(msg); + break; + case MAVLINK_MSG_ID_SET_MODE: handle_message_set_mode(msg); break; @@ -947,6 +951,19 @@ MavlinkReceiver::handle_message_heartbeat(mavlink_message_t *msg) } void +MavlinkReceiver::handle_message_ping(mavlink_message_t *msg) +{ + mavlink_ping_t ping; + mavlink_msg_ping_decode( msg, &ping); + if ((mavlink_system.sysid == ping.target_system) && + (mavlink_system.compid == ping.target_component)) { + mavlink_message_t msg_out; + mavlink_msg_ping_encode(_mavlink->get_system_id(), _mavlink->get_component_id(), &msg_out, &ping); + _mavlink->send_message(MAVLINK_MSG_ID_PING, &msg_out); + } +} + +void MavlinkReceiver::handle_message_request_data_stream(mavlink_message_t *msg) { mavlink_request_data_stream_t req; diff --git a/src/modules/mavlink/mavlink_receiver.h b/src/modules/mavlink/mavlink_receiver.h index 1d214b948..ffacb59a6 100644 --- a/src/modules/mavlink/mavlink_receiver.h +++ b/src/modules/mavlink/mavlink_receiver.h @@ -127,6 +127,7 @@ private: void handle_message_radio_status(mavlink_message_t *msg); void handle_message_manual_control(mavlink_message_t *msg); void handle_message_heartbeat(mavlink_message_t *msg); + void handle_message_ping(mavlink_message_t *msg); void handle_message_request_data_stream(mavlink_message_t *msg); void handle_message_system_time(mavlink_message_t *msg); void handle_message_timesync(mavlink_message_t *msg); |