Skip to content

Commit

Permalink
plugins: Use mavlink_msg_*_pack_chan() functions
Browse files Browse the repository at this point in the history
Fix #43.
  • Loading branch information
vooon committed Jul 11, 2014
1 parent 7652b4c commit cf1636f
Show file tree
Hide file tree
Showing 6 changed files with 47 additions and 40 deletions.
20 changes: 20 additions & 0 deletions include/mavros/mavros_uas.h
Expand Up @@ -29,6 +29,26 @@

namespace mavplugin {

/**
* @brief helper for mavlink_msg_*_pack_chan()
*
* Filler for first elements of pack functions.
*/
#define UAS_PACK_CHAN(uasobjptr) \
(uasobjptr)->mav_link->get_system_id(), \
(uasobjptr)->mav_link->get_component_id(), \
(uasobjptr)->mav_link->get_channel()

/**
* @brief helper for pack messages with target fields
*
* Filler for target_system, target_component fields.
*/
#define UAS_PACK_TGT(uasobjptr) \
(uasobjptr)->get_tgt_system(), \
(uasobjptr)->get_tgt_component()


/**
* @brief UAS handler for plugins
*/
Expand Down
5 changes: 2 additions & 3 deletions src/plugins/command.cpp
Expand Up @@ -188,9 +188,8 @@ class CommandPlugin : public MavRosPlugin {
float param7) {
mavlink_message_t msg;

mavlink_msg_command_long_pack(0, 0, &msg,
uas->get_tgt_system(),
uas->get_tgt_component(),
mavlink_msg_command_long_pack_chan(UAS_PACK_CHAN(uas), &msg,
UAS_PACK_TGT(uas),
command,
confirmation,
param1,
Expand Down
15 changes: 6 additions & 9 deletions src/plugins/param.cpp
Expand Up @@ -459,9 +459,8 @@ class ParamPlugin : public MavRosPlugin {
void param_request_list() {
mavlink_message_t msg;

mavlink_msg_param_request_list_pack(0, 0, &msg,
uas->get_tgt_system(),
uas->get_tgt_component()
mavlink_msg_param_request_list_pack_chan(UAS_PACK_CHAN(uas), &msg,
UAS_PACK_TGT(uas)
);
uas->mav_link->send_message(&msg);
}
Expand All @@ -480,9 +479,8 @@ class ParamPlugin : public MavRosPlugin {
else
param_id[0] = '\0'; // force NULL termination

mavlink_msg_param_request_read_pack(0, 0, &msg,
uas->get_tgt_system(),
uas->get_tgt_component(),
mavlink_msg_param_request_read_pack_chan(UAS_PACK_CHAN(uas), &msg,
UAS_PACK_TGT(uas),
param_id,
index
);
Expand All @@ -496,9 +494,8 @@ class ParamPlugin : public MavRosPlugin {
char param_id[sizeof(mavlink_param_set_t::param_id)];
strncpy(param_id, param.param_id.c_str(), sizeof(param_id));

mavlink_msg_param_set_pack(0, 0, &msg,
uas->get_tgt_system(),
uas->get_tgt_component(),
mavlink_msg_param_set_pack_chan(UAS_PACK_CHAN(uas), &msg,
UAS_PACK_TGT(uas),
param_id,
pu.param_float,
pu.type
Expand Down
5 changes: 2 additions & 3 deletions src/plugins/rc_io.cpp
Expand Up @@ -220,9 +220,8 @@ class RCIOPlugin : public MavRosPlugin {
void rc_channels_override(boost::array<uint16_t, 8> &channels) {
mavlink_message_t msg;

mavlink_msg_rc_channels_override_pack(0, 0, &msg,
uas->get_tgt_system(),
uas->get_tgt_component(),
mavlink_msg_rc_channels_override_pack_chan(UAS_PACK_CHAN(uas), &msg,
UAS_PACK_TGT(uas),
channels[0],
channels[1],
channels[2],
Expand Down
7 changes: 3 additions & 4 deletions src/plugins/sys_status.cpp
Expand Up @@ -603,7 +603,7 @@ class SystemStatusPlugin : public MavRosPlugin
return;

mavlink_message_t msg;
mavlink_msg_heartbeat_pack(0, 0, &msg,
mavlink_msg_heartbeat_pack_chan(UAS_PACK_CHAN(uas), &msg,
MAV_TYPE_ONBOARD_CONTROLLER,
MAV_AUTOPILOT_INVALID,
MAV_MODE_MANUAL_ARMED,
Expand All @@ -622,9 +622,8 @@ class SystemStatusPlugin : public MavRosPlugin
mavros::StreamRate::Response &res) {

mavlink_message_t msg;
mavlink_msg_request_data_stream_pack(0, 0, &msg,
uas->get_tgt_system(),
uas->get_tgt_component(),
mavlink_msg_request_data_stream_pack_chan(UAS_PACK_CHAN(uas), &msg,
UAS_PACK_TGT(uas),
req.stream_id,
req.message_rate,
(req.on_off)? 1 : 0
Expand Down
35 changes: 14 additions & 21 deletions src/plugins/waypoint.cpp
Expand Up @@ -646,9 +646,8 @@ class WaypointPlugin : public MavRosPlugin {
void mission_item(WaypointItem &wp) {
mavlink_message_t msg;

mavlink_msg_mission_item_pack(0, 0, &msg,
uas->get_tgt_system(),
uas->get_tgt_component(),
mavlink_msg_mission_item_pack_chan(UAS_PACK_CHAN(uas), &msg,
UAS_PACK_TGT(uas),
wp.seq,
wp.frame,
wp.command,
Expand All @@ -668,9 +667,8 @@ class WaypointPlugin : public MavRosPlugin {
void mission_request(uint16_t seq) {
mavlink_message_t msg;

mavlink_msg_mission_request_pack(0, 0, &msg,
uas->get_tgt_system(),
uas->get_tgt_component(),
mavlink_msg_mission_request_pack_chan(UAS_PACK_CHAN(uas), &msg,
UAS_PACK_TGT(uas),
seq
);
uas->mav_link->send_message(&msg);
Expand All @@ -679,9 +677,8 @@ class WaypointPlugin : public MavRosPlugin {
void mission_set_current(uint16_t seq) {
mavlink_message_t msg;

mavlink_msg_mission_set_current_pack(0, 0, &msg,
uas->get_tgt_system(),
uas->get_tgt_component(),
mavlink_msg_mission_set_current_pack_chan(UAS_PACK_CHAN(uas), &msg,
UAS_PACK_TGT(uas),
seq
);
uas->mav_link->send_message(&msg);
Expand All @@ -690,19 +687,17 @@ class WaypointPlugin : public MavRosPlugin {
void mission_request_list() {
mavlink_message_t msg;

mavlink_msg_mission_request_list_pack(0, 0, &msg,
uas->get_tgt_system(),
uas->get_tgt_component()
mavlink_msg_mission_request_list_pack_chan(UAS_PACK_CHAN(uas), &msg,
UAS_PACK_TGT(uas)
);
uas->mav_link->send_message(&msg);
}

void mission_count(uint16_t cnt) {
mavlink_message_t msg;

mavlink_msg_mission_count_pack(0, 0, &msg,
uas->get_tgt_system(),
uas->get_tgt_component(),
mavlink_msg_mission_count_pack_chan(UAS_PACK_CHAN(uas), &msg,
UAS_PACK_TGT(uas),
cnt
);
uas->mav_link->send_message(&msg);
Expand All @@ -711,19 +706,17 @@ class WaypointPlugin : public MavRosPlugin {
void mission_clear_all() {
mavlink_message_t msg;

mavlink_msg_mission_clear_all_pack(0, 0, &msg,
uas->get_tgt_system(),
uas->get_tgt_component()
mavlink_msg_mission_clear_all_pack_chan(UAS_PACK_CHAN(uas), &msg,
UAS_PACK_TGT(uas)
);
uas->mav_link->send_message(&msg);
}

void mission_ack(enum MAV_MISSION_RESULT type) {
mavlink_message_t msg;

mavlink_msg_mission_ack_pack(0, 0, &msg,
uas->get_tgt_system(),
uas->get_tgt_component(),
mavlink_msg_mission_ack_pack_chan(UAS_PACK_CHAN(uas), &msg,
UAS_PACK_TGT(uas),
type
);
uas->mav_link->send_message(&msg);
Expand Down

0 comments on commit cf1636f

Please sign in to comment.