mavlink_msg_set_position_control_offset.h 13.2 KB
Newer Older
1
// MESSAGE SET_POSITION_CONTROL_OFFSET PACKING
James Goppert's avatar
James Goppert committed
2

3
#define MAVLINK_MSG_ID_SET_POSITION_CONTROL_OFFSET 160
James Goppert's avatar
James Goppert committed
4

5
typedef struct __mavlink_set_position_control_offset_t
James Goppert's avatar
James Goppert committed
6
{
lm's avatar
lm committed
7 8 9 10 11 12
 float x; ///< x position offset
 float y; ///< y position offset
 float z; ///< z position offset
 float yaw; ///< yaw orientation offset in radians, 0 = NORTH
 uint8_t target_system; ///< System ID
 uint8_t target_component; ///< Component ID
13
} mavlink_set_position_control_offset_t;
James Goppert's avatar
James Goppert committed
14

15
#define MAVLINK_MSG_ID_SET_POSITION_CONTROL_OFFSET_LEN 18
lm's avatar
lm committed
16 17
#define MAVLINK_MSG_ID_160_LEN 18

Lorenz Meier's avatar
Lorenz Meier committed
18 19 20
#define MAVLINK_MSG_ID_SET_POSITION_CONTROL_OFFSET_CRC 22
#define MAVLINK_MSG_ID_160_CRC 22

lm's avatar
lm committed
21 22


23 24
#define MAVLINK_MESSAGE_INFO_SET_POSITION_CONTROL_OFFSET { \
	"SET_POSITION_CONTROL_OFFSET", \
lm's avatar
lm committed
25
	6, \
26 27 28 29 30 31
	{  { "x", NULL, MAVLINK_TYPE_FLOAT, 0, 0, offsetof(mavlink_set_position_control_offset_t, x) }, \
         { "y", NULL, MAVLINK_TYPE_FLOAT, 0, 4, offsetof(mavlink_set_position_control_offset_t, y) }, \
         { "z", NULL, MAVLINK_TYPE_FLOAT, 0, 8, offsetof(mavlink_set_position_control_offset_t, z) }, \
         { "yaw", NULL, MAVLINK_TYPE_FLOAT, 0, 12, offsetof(mavlink_set_position_control_offset_t, yaw) }, \
         { "target_system", NULL, MAVLINK_TYPE_UINT8_T, 0, 16, offsetof(mavlink_set_position_control_offset_t, target_system) }, \
         { "target_component", NULL, MAVLINK_TYPE_UINT8_T, 0, 17, offsetof(mavlink_set_position_control_offset_t, target_component) }, \
lm's avatar
lm committed
32 33 34 35
         } \
}


James Goppert's avatar
James Goppert committed
36
/**
37
 * @brief Pack a set_position_control_offset message
James Goppert's avatar
James Goppert committed
38 39 40 41 42 43 44 45 46 47 48 49
 * @param system_id ID of this system
 * @param component_id ID of this component (e.g. 200 for IMU)
 * @param msg The MAVLink message to compress the data into
 *
 * @param target_system System ID
 * @param target_component Component ID
 * @param x x position offset
 * @param y y position offset
 * @param z z position offset
 * @param yaw yaw orientation offset in radians, 0 = NORTH
 * @return length of the message in bytes (excluding serial stream start sign)
 */
50
static inline uint16_t mavlink_msg_set_position_control_offset_pack(uint8_t system_id, uint8_t component_id, mavlink_message_t* msg,
lm's avatar
lm committed
51
						       uint8_t target_system, uint8_t target_component, float x, float y, float z, float yaw)
James Goppert's avatar
James Goppert committed
52
{
LM's avatar
LM committed
53
#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
Lorenz Meier's avatar
Lorenz Meier committed
54
	char buf[MAVLINK_MSG_ID_SET_POSITION_CONTROL_OFFSET_LEN];
LM's avatar
LM committed
55 56 57 58 59 60 61
	_mav_put_float(buf, 0, x);
	_mav_put_float(buf, 4, y);
	_mav_put_float(buf, 8, z);
	_mav_put_float(buf, 12, yaw);
	_mav_put_uint8_t(buf, 16, target_system);
	_mav_put_uint8_t(buf, 17, target_component);

Lorenz Meier's avatar
Lorenz Meier committed
62
        memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_SET_POSITION_CONTROL_OFFSET_LEN);
LM's avatar
LM committed
63
#else
64
	mavlink_set_position_control_offset_t packet;
LM's avatar
LM committed
65 66 67 68 69 70 71
	packet.x = x;
	packet.y = y;
	packet.z = z;
	packet.yaw = yaw;
	packet.target_system = target_system;
	packet.target_component = target_component;

Lorenz Meier's avatar
Lorenz Meier committed
72
        memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_SET_POSITION_CONTROL_OFFSET_LEN);
LM's avatar
LM committed
73
#endif
James Goppert's avatar
James Goppert committed
74

75
	msg->msgid = MAVLINK_MSG_ID_SET_POSITION_CONTROL_OFFSET;
Lorenz Meier's avatar
Lorenz Meier committed
76 77 78 79 80
#if MAVLINK_CRC_EXTRA
    return mavlink_finalize_message(msg, system_id, component_id, MAVLINK_MSG_ID_SET_POSITION_CONTROL_OFFSET_LEN, MAVLINK_MSG_ID_SET_POSITION_CONTROL_OFFSET_CRC);
#else
    return mavlink_finalize_message(msg, system_id, component_id, MAVLINK_MSG_ID_SET_POSITION_CONTROL_OFFSET_LEN);
#endif
James Goppert's avatar
James Goppert committed
81 82 83
}

/**
84
 * @brief Pack a set_position_control_offset message on a channel
James Goppert's avatar
James Goppert committed
85 86
 * @param system_id ID of this system
 * @param component_id ID of this component (e.g. 200 for IMU)
Lorenz Meier's avatar
Lorenz Meier committed
87
 * @param chan The MAVLink channel this message will be sent over
James Goppert's avatar
James Goppert committed
88 89 90 91 92 93 94 95 96
 * @param msg The MAVLink message to compress the data into
 * @param target_system System ID
 * @param target_component Component ID
 * @param x x position offset
 * @param y y position offset
 * @param z z position offset
 * @param yaw yaw orientation offset in radians, 0 = NORTH
 * @return length of the message in bytes (excluding serial stream start sign)
 */
97
static inline uint16_t mavlink_msg_set_position_control_offset_pack_chan(uint8_t system_id, uint8_t component_id, uint8_t chan,
lm's avatar
lm committed
98 99 100
							   mavlink_message_t* msg,
						           uint8_t target_system,uint8_t target_component,float x,float y,float z,float yaw)
{
LM's avatar
LM committed
101
#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
Lorenz Meier's avatar
Lorenz Meier committed
102
	char buf[MAVLINK_MSG_ID_SET_POSITION_CONTROL_OFFSET_LEN];
LM's avatar
LM committed
103 104 105 106 107 108 109
	_mav_put_float(buf, 0, x);
	_mav_put_float(buf, 4, y);
	_mav_put_float(buf, 8, z);
	_mav_put_float(buf, 12, yaw);
	_mav_put_uint8_t(buf, 16, target_system);
	_mav_put_uint8_t(buf, 17, target_component);

Lorenz Meier's avatar
Lorenz Meier committed
110
        memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_SET_POSITION_CONTROL_OFFSET_LEN);
LM's avatar
LM committed
111
#else
112
	mavlink_set_position_control_offset_t packet;
LM's avatar
LM committed
113 114 115 116 117 118 119
	packet.x = x;
	packet.y = y;
	packet.z = z;
	packet.yaw = yaw;
	packet.target_system = target_system;
	packet.target_component = target_component;

Lorenz Meier's avatar
Lorenz Meier committed
120
        memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_SET_POSITION_CONTROL_OFFSET_LEN);
LM's avatar
LM committed
121
#endif
lm's avatar
lm committed
122

123
	msg->msgid = MAVLINK_MSG_ID_SET_POSITION_CONTROL_OFFSET;
Lorenz Meier's avatar
Lorenz Meier committed
124 125 126 127 128
#if MAVLINK_CRC_EXTRA
    return mavlink_finalize_message_chan(msg, system_id, component_id, chan, MAVLINK_MSG_ID_SET_POSITION_CONTROL_OFFSET_LEN, MAVLINK_MSG_ID_SET_POSITION_CONTROL_OFFSET_CRC);
#else
    return mavlink_finalize_message_chan(msg, system_id, component_id, chan, MAVLINK_MSG_ID_SET_POSITION_CONTROL_OFFSET_LEN);
#endif
lm's avatar
lm committed
129 130
}

James Goppert's avatar
James Goppert committed
131
/**
Lorenz Meier's avatar
Lorenz Meier committed
132
 * @brief Encode a set_position_control_offset struct
James Goppert's avatar
James Goppert committed
133 134 135 136
 *
 * @param system_id ID of this system
 * @param component_id ID of this component (e.g. 200 for IMU)
 * @param msg The MAVLink message to compress the data into
137
 * @param set_position_control_offset C-struct to read the message contents from
James Goppert's avatar
James Goppert committed
138
 */
139
static inline uint16_t mavlink_msg_set_position_control_offset_encode(uint8_t system_id, uint8_t component_id, mavlink_message_t* msg, const mavlink_set_position_control_offset_t* set_position_control_offset)
James Goppert's avatar
James Goppert committed
140
{
141
	return mavlink_msg_set_position_control_offset_pack(system_id, component_id, msg, set_position_control_offset->target_system, set_position_control_offset->target_component, set_position_control_offset->x, set_position_control_offset->y, set_position_control_offset->z, set_position_control_offset->yaw);
James Goppert's avatar
James Goppert committed
142 143
}

Lorenz Meier's avatar
Lorenz Meier committed
144 145 146 147 148 149 150 151 152 153 154 155 156 157
/**
 * @brief Encode a set_position_control_offset struct on a channel
 *
 * @param system_id ID of this system
 * @param component_id ID of this component (e.g. 200 for IMU)
 * @param chan The MAVLink channel this message will be sent over
 * @param msg The MAVLink message to compress the data into
 * @param set_position_control_offset C-struct to read the message contents from
 */
static inline uint16_t mavlink_msg_set_position_control_offset_encode_chan(uint8_t system_id, uint8_t component_id, uint8_t chan, mavlink_message_t* msg, const mavlink_set_position_control_offset_t* set_position_control_offset)
{
	return mavlink_msg_set_position_control_offset_pack_chan(system_id, component_id, chan, msg, set_position_control_offset->target_system, set_position_control_offset->target_component, set_position_control_offset->x, set_position_control_offset->y, set_position_control_offset->z, set_position_control_offset->yaw);
}

James Goppert's avatar
James Goppert committed
158
/**
159
 * @brief Send a set_position_control_offset message
James Goppert's avatar
James Goppert committed
160 161 162 163 164 165 166 167 168
 * @param chan MAVLink channel to send the message
 *
 * @param target_system System ID
 * @param target_component Component ID
 * @param x x position offset
 * @param y y position offset
 * @param z z position offset
 * @param yaw yaw orientation offset in radians, 0 = NORTH
 */
lm's avatar
lm committed
169 170
#ifdef MAVLINK_USE_CONVENIENCE_FUNCTIONS

171
static inline void mavlink_msg_set_position_control_offset_send(mavlink_channel_t chan, uint8_t target_system, uint8_t target_component, float x, float y, float z, float yaw)
lm's avatar
lm committed
172
{
LM's avatar
LM committed
173
#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
Lorenz Meier's avatar
Lorenz Meier committed
174
	char buf[MAVLINK_MSG_ID_SET_POSITION_CONTROL_OFFSET_LEN];
LM's avatar
LM committed
175 176 177 178 179 180 181
	_mav_put_float(buf, 0, x);
	_mav_put_float(buf, 4, y);
	_mav_put_float(buf, 8, z);
	_mav_put_float(buf, 12, yaw);
	_mav_put_uint8_t(buf, 16, target_system);
	_mav_put_uint8_t(buf, 17, target_component);

Lorenz Meier's avatar
Lorenz Meier committed
182 183 184 185 186
#if MAVLINK_CRC_EXTRA
    _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_SET_POSITION_CONTROL_OFFSET, buf, MAVLINK_MSG_ID_SET_POSITION_CONTROL_OFFSET_LEN, MAVLINK_MSG_ID_SET_POSITION_CONTROL_OFFSET_CRC);
#else
    _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_SET_POSITION_CONTROL_OFFSET, buf, MAVLINK_MSG_ID_SET_POSITION_CONTROL_OFFSET_LEN);
#endif
LM's avatar
LM committed
187
#else
188
	mavlink_set_position_control_offset_t packet;
LM's avatar
LM committed
189 190 191 192 193 194 195
	packet.x = x;
	packet.y = y;
	packet.z = z;
	packet.yaw = yaw;
	packet.target_system = target_system;
	packet.target_component = target_component;

Lorenz Meier's avatar
Lorenz Meier committed
196 197 198 199 200
#if MAVLINK_CRC_EXTRA
    _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_SET_POSITION_CONTROL_OFFSET, (const char *)&packet, MAVLINK_MSG_ID_SET_POSITION_CONTROL_OFFSET_LEN, MAVLINK_MSG_ID_SET_POSITION_CONTROL_OFFSET_CRC);
#else
    _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_SET_POSITION_CONTROL_OFFSET, (const char *)&packet, MAVLINK_MSG_ID_SET_POSITION_CONTROL_OFFSET_LEN);
#endif
LM's avatar
LM committed
201
#endif
James Goppert's avatar
James Goppert committed
202 203
}

204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245
#if MAVLINK_MSG_ID_SET_POSITION_CONTROL_OFFSET_LEN <= MAVLINK_MAX_PAYLOAD_LEN
/*
  This varient of _send() can be used to save stack space by re-using
  memory from the receive buffer.  The caller provides a
  mavlink_message_t which is the size of a full mavlink message. This
  is usually the receive buffer for the channel, and allows a reply to an
  incoming message with minimum stack space usage.
 */
static inline void mavlink_msg_set_position_control_offset_send_buf(mavlink_message_t *msgbuf, mavlink_channel_t chan,  uint8_t target_system, uint8_t target_component, float x, float y, float z, float yaw)
{
#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
	char *buf = (char *)msgbuf;
	_mav_put_float(buf, 0, x);
	_mav_put_float(buf, 4, y);
	_mav_put_float(buf, 8, z);
	_mav_put_float(buf, 12, yaw);
	_mav_put_uint8_t(buf, 16, target_system);
	_mav_put_uint8_t(buf, 17, target_component);

#if MAVLINK_CRC_EXTRA
    _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_SET_POSITION_CONTROL_OFFSET, buf, MAVLINK_MSG_ID_SET_POSITION_CONTROL_OFFSET_LEN, MAVLINK_MSG_ID_SET_POSITION_CONTROL_OFFSET_CRC);
#else
    _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_SET_POSITION_CONTROL_OFFSET, buf, MAVLINK_MSG_ID_SET_POSITION_CONTROL_OFFSET_LEN);
#endif
#else
	mavlink_set_position_control_offset_t *packet = (mavlink_set_position_control_offset_t *)msgbuf;
	packet->x = x;
	packet->y = y;
	packet->z = z;
	packet->yaw = yaw;
	packet->target_system = target_system;
	packet->target_component = target_component;

#if MAVLINK_CRC_EXTRA
    _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_SET_POSITION_CONTROL_OFFSET, (const char *)packet, MAVLINK_MSG_ID_SET_POSITION_CONTROL_OFFSET_LEN, MAVLINK_MSG_ID_SET_POSITION_CONTROL_OFFSET_CRC);
#else
    _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_SET_POSITION_CONTROL_OFFSET, (const char *)packet, MAVLINK_MSG_ID_SET_POSITION_CONTROL_OFFSET_LEN);
#endif
#endif
}
#endif

James Goppert's avatar
James Goppert committed
246
#endif
lm's avatar
lm committed
247

248
// MESSAGE SET_POSITION_CONTROL_OFFSET UNPACKING
James Goppert's avatar
James Goppert committed
249

lm's avatar
lm committed
250

James Goppert's avatar
James Goppert committed
251
/**
252
 * @brief Get field target_system from set_position_control_offset message
James Goppert's avatar
James Goppert committed
253 254 255
 *
 * @return System ID
 */
256
static inline uint8_t mavlink_msg_set_position_control_offset_get_target_system(const mavlink_message_t* msg)
James Goppert's avatar
James Goppert committed
257
{
LM's avatar
LM committed
258
	return _MAV_RETURN_uint8_t(msg,  16);
James Goppert's avatar
James Goppert committed
259 260 261
}

/**
262
 * @brief Get field target_component from set_position_control_offset message
James Goppert's avatar
James Goppert committed
263 264 265
 *
 * @return Component ID
 */
266
static inline uint8_t mavlink_msg_set_position_control_offset_get_target_component(const mavlink_message_t* msg)
James Goppert's avatar
James Goppert committed
267
{
LM's avatar
LM committed
268
	return _MAV_RETURN_uint8_t(msg,  17);
James Goppert's avatar
James Goppert committed
269 270 271
}

/**
272
 * @brief Get field x from set_position_control_offset message
James Goppert's avatar
James Goppert committed
273 274 275
 *
 * @return x position offset
 */
276
static inline float mavlink_msg_set_position_control_offset_get_x(const mavlink_message_t* msg)
James Goppert's avatar
James Goppert committed
277
{
LM's avatar
LM committed
278
	return _MAV_RETURN_float(msg,  0);
James Goppert's avatar
James Goppert committed
279 280 281
}

/**
282
 * @brief Get field y from set_position_control_offset message
James Goppert's avatar
James Goppert committed
283 284 285
 *
 * @return y position offset
 */
286
static inline float mavlink_msg_set_position_control_offset_get_y(const mavlink_message_t* msg)
James Goppert's avatar
James Goppert committed
287
{
LM's avatar
LM committed
288
	return _MAV_RETURN_float(msg,  4);
James Goppert's avatar
James Goppert committed
289 290 291
}

/**
292
 * @brief Get field z from set_position_control_offset message
James Goppert's avatar
James Goppert committed
293 294 295
 *
 * @return z position offset
 */
296
static inline float mavlink_msg_set_position_control_offset_get_z(const mavlink_message_t* msg)
James Goppert's avatar
James Goppert committed
297
{
LM's avatar
LM committed
298
	return _MAV_RETURN_float(msg,  8);
James Goppert's avatar
James Goppert committed
299 300 301
}

/**
302
 * @brief Get field yaw from set_position_control_offset message
James Goppert's avatar
James Goppert committed
303 304 305
 *
 * @return yaw orientation offset in radians, 0 = NORTH
 */
306
static inline float mavlink_msg_set_position_control_offset_get_yaw(const mavlink_message_t* msg)
James Goppert's avatar
James Goppert committed
307
{
LM's avatar
LM committed
308
	return _MAV_RETURN_float(msg,  12);
James Goppert's avatar
James Goppert committed
309 310 311
}

/**
312
 * @brief Decode a set_position_control_offset message into a struct
James Goppert's avatar
James Goppert committed
313 314
 *
 * @param msg The message to decode
315
 * @param set_position_control_offset C-struct to decode the message contents into
James Goppert's avatar
James Goppert committed
316
 */
317
static inline void mavlink_msg_set_position_control_offset_decode(const mavlink_message_t* msg, mavlink_set_position_control_offset_t* set_position_control_offset)
James Goppert's avatar
James Goppert committed
318
{
lm's avatar
lm committed
319
#if MAVLINK_NEED_BYTE_SWAP
320 321 322 323 324 325
	set_position_control_offset->x = mavlink_msg_set_position_control_offset_get_x(msg);
	set_position_control_offset->y = mavlink_msg_set_position_control_offset_get_y(msg);
	set_position_control_offset->z = mavlink_msg_set_position_control_offset_get_z(msg);
	set_position_control_offset->yaw = mavlink_msg_set_position_control_offset_get_yaw(msg);
	set_position_control_offset->target_system = mavlink_msg_set_position_control_offset_get_target_system(msg);
	set_position_control_offset->target_component = mavlink_msg_set_position_control_offset_get_target_component(msg);
lm's avatar
lm committed
326
#else
Lorenz Meier's avatar
Lorenz Meier committed
327
	memcpy(set_position_control_offset, _MAV_PAYLOAD(msg), MAVLINK_MSG_ID_SET_POSITION_CONTROL_OFFSET_LEN);
lm's avatar
lm committed
328
#endif
James Goppert's avatar
James Goppert committed
329
}