mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-10-22 10:23:34 +08:00
drivers/uavcan: remove MAVLINK header dependency
This commit is contained in:
@@ -79,11 +79,11 @@ MavlinkParametersManager::handle_message(const mavlink_message_t *msg)
|
||||
if (req_list.target_system == mavlink_system.sysid && req_list.target_component < 127 &&
|
||||
(req_list.target_component != mavlink_system.compid || req_list.target_component == MAV_COMP_ID_ALL)) {
|
||||
// publish list request to UAVCAN driver via uORB.
|
||||
uavcan_parameter_request_s req;
|
||||
uavcan_parameter_request_s req{};
|
||||
req.message_type = msg->msgid;
|
||||
req.node_id = req_list.target_component;
|
||||
req.param_index = 0;
|
||||
|
||||
req.timestamp = hrt_absolute_time();
|
||||
_uavcan_parameter_request_pub.publish(req);
|
||||
}
|
||||
|
||||
@@ -139,7 +139,7 @@ MavlinkParametersManager::handle_message(const mavlink_message_t *msg)
|
||||
if (set.target_system == mavlink_system.sysid && set.target_component < 127 &&
|
||||
(set.target_component != mavlink_system.compid || set.target_component == MAV_COMP_ID_ALL)) {
|
||||
// publish set request to UAVCAN driver via uORB.
|
||||
uavcan_parameter_request_s req;
|
||||
uavcan_parameter_request_s req{};
|
||||
req.message_type = msg->msgid;
|
||||
req.node_id = set.target_component;
|
||||
req.param_index = -1;
|
||||
@@ -157,6 +157,7 @@ MavlinkParametersManager::handle_message(const mavlink_message_t *msg)
|
||||
req.int_value = val;
|
||||
}
|
||||
|
||||
req.timestamp = hrt_absolute_time();
|
||||
_uavcan_parameter_request_pub.publish(req);
|
||||
}
|
||||
|
||||
@@ -217,7 +218,7 @@ MavlinkParametersManager::handle_message(const mavlink_message_t *msg)
|
||||
if (req_read.target_system == mavlink_system.sysid && req_read.target_component < 127 &&
|
||||
(req_read.target_component != mavlink_system.compid || req_read.target_component == MAV_COMP_ID_ALL)) {
|
||||
// publish set request to UAVCAN driver via uORB.
|
||||
uavcan_parameter_request_s req = {};
|
||||
uavcan_parameter_request_s req{};
|
||||
req.timestamp = hrt_absolute_time();
|
||||
req.message_type = msg->msgid;
|
||||
req.node_id = req_read.target_component;
|
||||
|
||||
@@ -130,6 +130,21 @@ protected:
|
||||
rc_parameter_map_s _rc_param_map{};
|
||||
|
||||
uORB::PublicationQueued<uavcan_parameter_request_s> _uavcan_parameter_request_pub{ORB_ID(uavcan_parameter_request)};
|
||||
// enforce ORB_ID(uavcan_parameter_request) constants that map to MAVLINK defines
|
||||
static_assert(uavcan_parameter_request_s::MESSAGE_TYPE_PARAM_REQUEST_READ == MAVLINK_MSG_ID_PARAM_REQUEST_READ,
|
||||
"uavcan_parameter_request_s MAVLINK_MSG_ID_PARAM_REQUEST_READ constant mismatch");
|
||||
static_assert(uavcan_parameter_request_s::MESSAGE_TYPE_PARAM_SET == MAVLINK_MSG_ID_PARAM_SET,
|
||||
"uavcan_parameter_request_s MAVLINK_MSG_ID_PARAM_SET constant mismatch");
|
||||
static_assert(uavcan_parameter_request_s::MESSAGE_TYPE_PARAM_REQUEST_LIST == MAVLINK_MSG_ID_PARAM_REQUEST_LIST,
|
||||
"uavcan_parameter_request_s MAVLINK_MSG_ID_PARAM_REQUEST_LIST constant mismatch");
|
||||
static_assert(uavcan_parameter_request_s::NODE_ID_ALL == MAV_COMP_ID_ALL,
|
||||
"uavcan_parameter_request_s MAV_COMP_ID_ALL constant mismatch");
|
||||
static_assert(uavcan_parameter_request_s::PARAM_TYPE_UINT8 == MAV_PARAM_TYPE_UINT8,
|
||||
"uavcan_parameter_request_s MAV_PARAM_TYPE_UINT8 constant mismatch");
|
||||
static_assert(uavcan_parameter_request_s::PARAM_TYPE_REAL32 == MAV_PARAM_TYPE_REAL32,
|
||||
"uavcan_parameter_request_s MAV_PARAM_TYPE_REAL32 constant mismatch");
|
||||
static_assert(uavcan_parameter_request_s::PARAM_TYPE_INT64 == MAV_PARAM_TYPE_INT64,
|
||||
"uavcan_parameter_request_s MAV_PARAM_TYPE_INT64 constant mismatch");
|
||||
|
||||
uORB::Subscription _uavcan_parameter_value_sub{ORB_ID(uavcan_parameter_value)};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user