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 {
13 
18 {
19 public:
20  explicit NavigationInterfaceInvalidArgument(const std::string & message)
21  : Exception("PX4 ROS2 navigation interface: invalid argument: " + message) {}
22 };
23 
28 {
29 public:
31  rclcpp::Node & node,
32  std::string topic_namespace_prefix = "")
33  : Context(node, std::move(topic_namespace_prefix)), _node(node) {}
34  virtual ~PositionMeasurementInterfaceBase() = default;
35 
40  bool doRegister()
41  {
42  return true;
43  }
44 
45 protected:
46  rclcpp::Node & _node;
47 };
48 
49 } // namespace px4_ros2
Definition: context.hpp:20
Definition: exception.hpp:16
Thrown to report invalid arguments to measurement interface.
Definition: navigation_interface_base.hpp:18
Base class for position measurement interface.
Definition: navigation_interface_base.hpp:28
bool doRegister()
Definition: navigation_interface_base.hpp:40