27 subscriber_ = node->create_subscription<px4_msgs::msg::VehicleStatus>(
28 "/fmu/out/vehicle_status_v1", rclcpp::SensorDataQoS(),
30 RCLCPP_INFO(
getLogger(),
"CpVehicleStatus: subscribed to /fmu/out/vehicle_status");
35 std::lock_guard<std::mutex> lock(
mutex_);
44 if (
armingState_ == px4_msgs::msg::VehicleStatus::ARMING_STATE_ARMED)
46 RCLCPP_INFO(
getLogger(),
"CpVehicleStatus: ARMED");
49 else if (
armingState_ == px4_msgs::msg::VehicleStatus::ARMING_STATE_DISARMED)
51 RCLCPP_INFO(
getLogger(),
"CpVehicleStatus: DISARMED");
67 std::lock_guard<std::mutex> lock(
mutex_);
68 return armingState_ == px4_msgs::msg::VehicleStatus::ARMING_STATE_ARMED;
73 std::lock_guard<std::mutex> lock(
mutex_);
74 return armingState_ == px4_msgs::msg::VehicleStatus::ARMING_STATE_DISARMED;
79 std::lock_guard<std::mutex> lock(
mutex_);
85 std::lock_guard<std::mutex> lock(
mutex_);
smacc2::SmaccSignal< void()> onModeChanged_
uint8_t getNavState() const
rclcpp::Subscription< px4_msgs::msg::VehicleStatus >::SharedPtr subscriber_
void onStatusMessage(const px4_msgs::msg::VehicleStatus::SharedPtr msg)
smacc2::SmaccSignal< void()> onDisarmed_
virtual ~CpVehicleStatus()
uint8_t getArmingState() const
void onInitialize() override
smacc2::SmaccSignal< void()> onArmed_
rclcpp::Logger getLogger() const
rclcpp::Node::SharedPtr getNode()