drivers/uavcan: remove MAVLINK header dependency

This commit is contained in:
Daniel Agar
2019-12-31 21:01:21 -05:00
parent 35073d093f
commit f7cf1ffc41
5 changed files with 43 additions and 18 deletions
+5 -4
View File
@@ -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;
+15
View File
@@ -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)};