18 #include <mavros_msgs/TerrainReport.h> 21 namespace extra_plugins {
53 void handle_terrain_report(
const mavlink::mavlink_message_t *msg, mavlink::common::msg::TERRAIN_REPORT &report) {
54 auto terrain_report_msg = boost::make_shared<mavros_msgs::TerrainReport>();
57 terrain_report_msg->header.frame_id =
"terrain";
59 terrain_report_msg->latitude = (double) report.lat / 1e7;
60 terrain_report_msg->longitude = (
double) report.lon / 1e7;
61 terrain_report_msg->spacing = report.spacing;
62 terrain_report_msg->terrain_height = report.terrain_height;
63 terrain_report_msg->current_height = report.current_height;
64 terrain_report_msg->pending = report.pending;
65 terrain_report_msg->loaded = report.loaded;
67 terrain_report_pub.
publish(terrain_report_msg);
void handle_terrain_report(const mavlink::mavlink_message_t *msg, mavlink::common::msg::TERRAIN_REPORT &report)
HandlerInfo make_handler(const mavlink::msgid_t id, void(_C::*fn)(const mavlink::mavlink_message_t *msg, const mavconn::Framing framing))
ros::Publisher terrain_report_pub
void publish(const boost::shared_ptr< M > &message) const
void initialize(UAS &uas_) override
Subscriptions get_subscriptions() override
Publisher advertise(const std::string &topic, uint32_t queue_size, bool latch=false)
std::vector< HandlerInfo > Subscriptions
void initialize(UAS &uas_) override
ros::NodeHandle terrain_nh
#define PLUGINLIB_EXPORT_CLASS(class_type, base_class_type)