From 78cd3cc7221a4b565f3bc7b8c51d5787d622120e Mon Sep 17 00:00:00 2001 From: Pierre Kancir Date: Tue, 30 Apr 2019 12:22:47 +0200 Subject: [PATCH] AP_ADSB: pass mavlink_message_t by const reference --- libraries/AP_ADSB/AP_ADSB.cpp | 16 ++++++++-------- libraries/AP_ADSB/AP_ADSB.h | 8 ++++---- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/libraries/AP_ADSB/AP_ADSB.cpp b/libraries/AP_ADSB/AP_ADSB.cpp index 03efc653f4..d9121332a0 100644 --- a/libraries/AP_ADSB/AP_ADSB.cpp +++ b/libraries/AP_ADSB/AP_ADSB.cpp @@ -384,7 +384,7 @@ bool AP_ADSB::find_index(const adsb_vehicle_t &vehicle, uint16_t *index) const * Update the vehicle list. If the vehicle is already in the * list then it will update it, otherwise it will be added. */ -void AP_ADSB::handle_vehicle(const mavlink_message_t* packet) +void AP_ADSB::handle_vehicle(const mavlink_message_t &packet) { if (in_state.vehicle_list == nullptr) { // We are only null when disabled. Updating is inhibited. @@ -393,7 +393,7 @@ void AP_ADSB::handle_vehicle(const mavlink_message_t* packet) uint16_t index = in_state.list_size + 1; // initialize with invalid index adsb_vehicle_t vehicle {}; - mavlink_msg_adsb_vehicle_decode(packet, &vehicle.info); + mavlink_msg_adsb_vehicle_decode(&packet, &vehicle.info); const Location vehicle_loc = AP_ADSB::get_location(vehicle); const bool my_loc_is_zero = _my_loc.is_zero(); const float my_loc_distance_to_vehicle = _my_loc.get_distance(vehicle_loc); @@ -691,10 +691,10 @@ uint8_t AP_ADSB::get_encoded_callsign_null_char() * This allows a GCS to send cfg info through the autopilot to the ADSB hardware. * This is done indirectly by reading and storing the packet and then another mechanism sends it out periodically */ -void AP_ADSB::handle_out_cfg(const mavlink_message_t* msg) +void AP_ADSB::handle_out_cfg(const mavlink_message_t &msg) { mavlink_uavionix_adsb_out_cfg_t packet {}; - mavlink_msg_uavionix_adsb_out_cfg_decode(msg, &packet); + mavlink_msg_uavionix_adsb_out_cfg_decode(&msg, &packet); out_state.cfg.was_set_externally = true; @@ -759,10 +759,10 @@ void AP_ADSB::send_configure(const mavlink_channel_t chan) * we determine which channel is on so we don't have to send out_state to all channels */ -void AP_ADSB::handle_transceiver_report(const mavlink_channel_t chan, const mavlink_message_t* msg) +void AP_ADSB::handle_transceiver_report(const mavlink_channel_t chan, const mavlink_message_t &msg) { mavlink_uavionix_adsb_transceiver_health_report_t packet {}; - mavlink_msg_uavionix_adsb_transceiver_health_report_decode(msg, &packet); + mavlink_msg_uavionix_adsb_transceiver_health_report_decode(&msg, &packet); if (out_state.chan != chan) { gcs().send_text(MAV_SEVERITY_DEBUG, "ADSB: Found transceiver on channel %d", chan); @@ -852,9 +852,9 @@ bool AP_ADSB::next_sample(adsb_vehicle_t &vehicle) return samples.pop_front(vehicle); } -void AP_ADSB::handle_message(const mavlink_channel_t chan, const mavlink_message_t* msg) +void AP_ADSB::handle_message(const mavlink_channel_t chan, const mavlink_message_t &msg) { - switch (msg->msgid) { + switch (msg.msgid) { case MAVLINK_MSG_ID_ADSB_VEHICLE: handle_vehicle(msg); break; diff --git a/libraries/AP_ADSB/AP_ADSB.h b/libraries/AP_ADSB/AP_ADSB.h index 384ec3bbee..747345afee 100644 --- a/libraries/AP_ADSB/AP_ADSB.h +++ b/libraries/AP_ADSB/AP_ADSB.h @@ -77,7 +77,7 @@ public: bool next_sample(adsb_vehicle_t &obstacle); // mavlink message handler - void handle_message(const mavlink_channel_t chan, const mavlink_message_t* msg); + void handle_message(const mavlink_channel_t chan, const mavlink_message_t &msg); // when true, a vehicle with that ICAO was found in database and the vehicle is populated. bool get_vehicle_by_ICAO(const uint32_t icao, adsb_vehicle_t &vehicle) const; @@ -120,12 +120,12 @@ private: uint8_t get_encoded_callsign_null_char(void); // add or update vehicle_list from inbound mavlink msg - void handle_vehicle(const mavlink_message_t* msg); + void handle_vehicle(const mavlink_message_t &msg); // handle ADS-B transceiver report for ping2020 - void handle_transceiver_report(mavlink_channel_t chan, const mavlink_message_t* msg); + void handle_transceiver_report(mavlink_channel_t chan, const mavlink_message_t &msg); - void handle_out_cfg(const mavlink_message_t* msg); + void handle_out_cfg(const mavlink_message_t &msg); AP_Int8 _enabled;