PX4 ROS 2 Interface Library
Library to interface with PX4 from a companion computer using ROS 2
navigation_interface_base.hpp
1 /****************************************************************************
2  * Copyright (c) 2023 PX4 Development Team.
3  * SPDX-License-Identifier: BSD-3-Clause
4  ****************************************************************************/
5 
6 #pragma once
7 
8 #include <px4_ros2/common/context.hpp>
9 #include <px4_ros2/common/exception.hpp>
10 
11 namespace px4_ros2 {
12 
17  public:
18  explicit NavigationInterfaceInvalidArgument(const std::string& message)
19  : Exception("PX4 ROS2 navigation interface: invalid argument: " + message)
20  {
21  }
22 };
23 
28  public:
29  explicit PositionMeasurementInterfaceBase(rclcpp::Node& node,
30  std::string topic_namespace_prefix = "")
31  : Context(node, std::move(topic_namespace_prefix)), _node(node)
32  {
33  }
34  virtual ~PositionMeasurementInterfaceBase() = default;
35 
40  bool doRegister() { return true; }
41 
42  protected:
43  rclcpp::Node& _node;
44 };
45 
46 } // namespace px4_ros2
Definition: context.hpp:18
Definition: exception.hpp:14
Thrown to report invalid arguments to measurement interface.
Definition: navigation_interface_base.hpp:16
Base class for position measurement interface.
Definition: navigation_interface_base.hpp:27
bool doRegister()
Definition: navigation_interface_base.hpp:40