PX4 ROS 2 Interface Library
Library to interface with PX4 from a companion computer using ROS 2
Loading...
Searching...
No Matches
vehicle_status.hpp
1/****************************************************************************
2 * Copyright (c) 2023-2024 PX4 Development Team.
3 * SPDX-License-Identifier: BSD-3-Clause
4 ****************************************************************************/
5
6#pragma once
7
8#include <px4_msgs/msg/vehicle_status.hpp>
9#include <px4_ros2/common/context.hpp>
10#include <px4_ros2/utils/message_version.hpp>
11#include <px4_ros2/utils/subscription.hpp>
12
13namespace px4_ros2 {
23class VehicleStatus : public Subscription<px4_msgs::msg::VehicleStatus> {
24 public:
25 explicit VehicleStatus(Context& context)
27 context, "fmu/out/vehicle_status" +
28 px4_ros2::getMessageNameVersion<px4_msgs::msg::VehicleStatus>())
29 {
30 }
31
37 bool armed() const
38 {
39 return last().arming_state == px4_msgs::msg::VehicleStatus::ARMING_STATE_ARMED;
40 }
41
49 uint8_t navState() const { return last().nav_state; }
50};
51
53} /* namespace px4_ros2 */
Definition context.hpp:18
Provides a subscription to arbitrary ROS topics.
Definition subscription.hpp:27
const px4_msgs::msg::VehicleStatus & last() const
Get the last-received message.
Definition subscription.hpp:57
Provides access to the vehicle's status.
Definition vehicle_status.hpp:23
uint8_t navState() const
Get the vehicle's current active flight mode.
Definition vehicle_status.hpp:49
bool armed() const
Get the vehicle's arming status.
Definition vehicle_status.hpp:37