SMACC2
Loading...
Searching...
No Matches
smacc2_client_library
cl_px4_mr
src
cl_px4_mr
components
cp_vehicle_command_ack.cpp
Go to the documentation of this file.
1
// Copyright 2025 Robosoft Inc.
2
//
3
// Licensed under the Apache License, Version 2.0 (the "License");
4
// you may not use this file except in compliance with the License.
5
// You may obtain a copy of the License at
6
//
7
// http://www.apache.org/licenses/LICENSE-2.0
8
//
9
// Unless required by applicable law or agreed to in writing, software
10
// distributed under the License is distributed on an "AS IS" BASIS,
11
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
// See the License for the specific language governing permissions and
13
// limitations under the License.
14
15
#include <
cl_px4_mr/components/cp_vehicle_command_ack.hpp
>
16
17
namespace
cl_px4_mr
18
{
19
20
CpVehicleCommandAck::CpVehicleCommandAck
() {}
21
22
CpVehicleCommandAck::~CpVehicleCommandAck
() {}
23
24
void
CpVehicleCommandAck::onInitialize
()
25
{
26
auto
node = this->
getNode
();
27
subscriber_
= node->create_subscription<px4_msgs::msg::VehicleCommandAck>(
28
"/fmu/out/vehicle_command_ack"
, rclcpp::SensorDataQoS(),
29
std::bind(&
CpVehicleCommandAck::onAckMessage
,
this
, std::placeholders::_1));
30
RCLCPP_INFO(
getLogger
(),
"CpVehicleCommandAck: subscribed to /fmu/out/vehicle_command_ack"
);
31
}
32
33
void
CpVehicleCommandAck::onAckMessage
(
const
px4_msgs::msg::VehicleCommandAck::SharedPtr msg)
34
{
35
lastCommand_
= msg->command;
36
lastResult_
= msg->result;
37
RCLCPP_INFO(
getLogger
(),
"CpVehicleCommandAck: command=%u result=%u"
, msg->command, msg->result);
38
onAckReceived_
();
39
}
40
41
uint32_t
CpVehicleCommandAck::getLastAckCommand
()
const
{
return
lastCommand_
; }
42
43
uint8_t
CpVehicleCommandAck::getLastAckResult
()
const
{
return
lastResult_
; }
44
45
}
// namespace cl_px4_mr
cl_px4_mr::CpVehicleCommandAck::~CpVehicleCommandAck
virtual ~CpVehicleCommandAck()
Definition
cp_vehicle_command_ack.cpp:22
cl_px4_mr::CpVehicleCommandAck::lastCommand_
uint32_t lastCommand_
Definition
cp_vehicle_command_ack.hpp:41
cl_px4_mr::CpVehicleCommandAck::getLastAckResult
uint8_t getLastAckResult() const
Definition
cp_vehicle_command_ack.cpp:43
cl_px4_mr::CpVehicleCommandAck::subscriber_
rclcpp::Subscription< px4_msgs::msg::VehicleCommandAck >::SharedPtr subscriber_
Definition
cp_vehicle_command_ack.hpp:40
cl_px4_mr::CpVehicleCommandAck::CpVehicleCommandAck
CpVehicleCommandAck()
Definition
cp_vehicle_command_ack.cpp:20
cl_px4_mr::CpVehicleCommandAck::onInitialize
void onInitialize() override
Definition
cp_vehicle_command_ack.cpp:24
cl_px4_mr::CpVehicleCommandAck::onAckReceived_
smacc2::SmaccSignal< void()> onAckReceived_
Definition
cp_vehicle_command_ack.hpp:35
cl_px4_mr::CpVehicleCommandAck::onAckMessage
void onAckMessage(const px4_msgs::msg::VehicleCommandAck::SharedPtr msg)
Definition
cp_vehicle_command_ack.cpp:33
cl_px4_mr::CpVehicleCommandAck::lastResult_
uint8_t lastResult_
Definition
cp_vehicle_command_ack.hpp:42
cl_px4_mr::CpVehicleCommandAck::getLastAckCommand
uint32_t getLastAckCommand() const
Definition
cp_vehicle_command_ack.cpp:41
smacc2::ISmaccComponent::getLogger
rclcpp::Logger getLogger() const
Definition
smacc_component.cpp:44
smacc2::ISmaccComponent::getNode
rclcpp::Node::SharedPtr getNode()
Definition
smacc_component.cpp:42
cp_vehicle_command_ack.hpp
cl_px4_mr
Definition
cl_px4_mr.hpp:28
Generated by
1.12.0