Merged in f5soh/librepilot/update_credits (pull request #529)
[librepilot.git] / flight / libraries / mavlink / v1.0 / common / mavlink_msg_mission_current.h
blob4ebcd1998ec575f55d4d69b6ca37bffaa76cc734
1 // MESSAGE MISSION_CURRENT PACKING
3 #define MAVLINK_MSG_ID_MISSION_CURRENT 42
5 typedef struct __mavlink_mission_current_t {
6 uint16_t seq; ///< Sequence
7 } mavlink_mission_current_t;
9 #define MAVLINK_MSG_ID_MISSION_CURRENT_LEN 2
10 #define MAVLINK_MSG_ID_42_LEN 2
13 #define MAVLINK_MESSAGE_INFO_MISSION_CURRENT \
14 { \
15 "MISSION_CURRENT", \
16 1, \
17 { \
18 { "seq", NULL, MAVLINK_TYPE_UINT16_T, 0, 0, offsetof(mavlink_mission_current_t, seq) }, \
19 } \
23 /**
24 * @brief Pack a mission_current message
25 * @param system_id ID of this system
26 * @param component_id ID of this component (e.g. 200 for IMU)
27 * @param msg The MAVLink message to compress the data into
29 * @param seq Sequence
30 * @return length of the message in bytes (excluding serial stream start sign)
32 static inline uint16_t mavlink_msg_mission_current_pack(uint8_t system_id, uint8_t component_id, mavlink_message_t *msg,
33 uint16_t seq)
35 #if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
36 char buf[2];
37 _mav_put_uint16_t(buf, 0, seq);
39 memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, 2);
40 #else
41 mavlink_mission_current_t packet;
42 packet.seq = seq;
44 memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, 2);
45 #endif
47 msg->msgid = MAVLINK_MSG_ID_MISSION_CURRENT;
48 return mavlink_finalize_message(msg, system_id, component_id, 2, 28);
51 /**
52 * @brief Pack a mission_current message on a channel
53 * @param system_id ID of this system
54 * @param component_id ID of this component (e.g. 200 for IMU)
55 * @param chan The MAVLink channel this message was sent over
56 * @param msg The MAVLink message to compress the data into
57 * @param seq Sequence
58 * @return length of the message in bytes (excluding serial stream start sign)
60 static inline uint16_t mavlink_msg_mission_current_pack_chan(uint8_t system_id, uint8_t component_id, uint8_t chan,
61 mavlink_message_t *msg,
62 uint16_t seq)
64 #if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
65 char buf[2];
66 _mav_put_uint16_t(buf, 0, seq);
68 memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, 2);
69 #else
70 mavlink_mission_current_t packet;
71 packet.seq = seq;
73 memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, 2);
74 #endif
76 msg->msgid = MAVLINK_MSG_ID_MISSION_CURRENT;
77 return mavlink_finalize_message_chan(msg, system_id, component_id, chan, 2, 28);
80 /**
81 * @brief Encode a mission_current struct into a message
83 * @param system_id ID of this system
84 * @param component_id ID of this component (e.g. 200 for IMU)
85 * @param msg The MAVLink message to compress the data into
86 * @param mission_current C-struct to read the message contents from
88 static inline uint16_t mavlink_msg_mission_current_encode(uint8_t system_id, uint8_t component_id, mavlink_message_t *msg, const mavlink_mission_current_t *mission_current)
90 return mavlink_msg_mission_current_pack(system_id, component_id, msg, mission_current->seq);
93 /**
94 * @brief Send a mission_current message
95 * @param chan MAVLink channel to send the message
97 * @param seq Sequence
99 #ifdef MAVLINK_USE_CONVENIENCE_FUNCTIONS
101 static inline void mavlink_msg_mission_current_send(mavlink_channel_t chan, uint16_t seq)
103 #if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
104 char buf[2];
105 _mav_put_uint16_t(buf, 0, seq);
107 _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_MISSION_CURRENT, buf, 2, 28);
108 #else
109 mavlink_mission_current_t packet;
110 packet.seq = seq;
112 _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_MISSION_CURRENT, (const char *)&packet, 2, 28);
113 #endif
116 #endif
118 // MESSAGE MISSION_CURRENT UNPACKING
122 * @brief Get field seq from mission_current message
124 * @return Sequence
126 static inline uint16_t mavlink_msg_mission_current_get_seq(const mavlink_message_t *msg)
128 return _MAV_RETURN_uint16_t(msg, 0);
132 * @brief Decode a mission_current message into a struct
134 * @param msg The message to decode
135 * @param mission_current C-struct to decode the message contents into
137 static inline void mavlink_msg_mission_current_decode(const mavlink_message_t *msg, mavlink_mission_current_t *mission_current)
139 #if MAVLINK_NEED_BYTE_SWAP
140 mission_current->seq = mavlink_msg_mission_current_get_seq(msg);
141 #else
142 memcpy(mission_current, _MAV_PAYLOAD(msg), 2);
143 #endif