Path: blob/master/libraries/AP_ADSB/AP_ADSB_uAvionix_MAVLink.h
9865 views
#pragma once12/*3This program is free software: you can redistribute it and/or modify4it under the terms of the GNU General Public License as published by5the Free Software Foundation, either version 3 of the License, or6(at your option) any later version.78This program is distributed in the hope that it will be useful,9but WITHOUT ANY WARRANTY; without even the implied warranty of10MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the11GNU General Public License for more details.1213You should have received a copy of the GNU General Public License14along with this program. If not, see <http://www.gnu.org/licenses/>.15*/1617#include "AP_ADSB_Backend.h"1819#if HAL_ADSB_UAVIONIX_MAVLINK_ENABLED20class AP_ADSB_uAvionix_MAVLink : public AP_ADSB_Backend {21public:22using AP_ADSB_Backend::AP_ADSB_Backend;2324void update() override;2526// static detection function27static bool detect();2829private:30// send static and dynamic data to ADSB transceiver31void send_configure(const mavlink_channel_t chan);32void send_dynamic_out(const mavlink_channel_t chan) const;3334// special helpers for uAvionix workarounds35uint32_t encode_icao(const uint32_t icao_id) const;36uint8_t get_encoded_callsign_null_char(void);37};38#endif // HAL_ADSB_ENABLED39404142