aboutsummaryrefslogtreecommitdiff
path: root/mavlink/include/mavlink/v1.0/matrixpilot/mavlink_msg_serial_udb_extra_f5.h
blob: 79db8f1d82555aaadfdeb0a1d80ac2bd66c50c3b (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
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
246
247
248
249
250
251
252
253
254
// MESSAGE SERIAL_UDB_EXTRA_F5 PACKING

#define MAVLINK_MSG_ID_SERIAL_UDB_EXTRA_F5 173

typedef struct __mavlink_serial_udb_extra_f5_t
{
 float sue_YAWKP_AILERON; ///< Serial UDB YAWKP_AILERON Gain for Proporional control of navigation
 float sue_YAWKD_AILERON; ///< Serial UDB YAWKD_AILERON Gain for Rate control of navigation
 float sue_ROLLKP; ///< Serial UDB Extra ROLLKP Gain for Proportional control of roll stabilization
 float sue_ROLLKD; ///< Serial UDB Extra ROLLKD Gain for Rate control of roll stabilization
 float sue_YAW_STABILIZATION_AILERON; ///< YAW_STABILIZATION_AILERON Proportional control
 float sue_AILERON_BOOST; ///< Gain For Boosting Manual Aileron control When Plane Stabilized
} mavlink_serial_udb_extra_f5_t;

#define MAVLINK_MSG_ID_SERIAL_UDB_EXTRA_F5_LEN 24
#define MAVLINK_MSG_ID_173_LEN 24



#define MAVLINK_MESSAGE_INFO_SERIAL_UDB_EXTRA_F5 { \
	"SERIAL_UDB_EXTRA_F5", \
	6, \
	{  { "sue_YAWKP_AILERON", NULL, MAVLINK_TYPE_FLOAT, 0, 0, offsetof(mavlink_serial_udb_extra_f5_t, sue_YAWKP_AILERON) }, \
         { "sue_YAWKD_AILERON", NULL, MAVLINK_TYPE_FLOAT, 0, 4, offsetof(mavlink_serial_udb_extra_f5_t, sue_YAWKD_AILERON) }, \
         { "sue_ROLLKP", NULL, MAVLINK_TYPE_FLOAT, 0, 8, offsetof(mavlink_serial_udb_extra_f5_t, sue_ROLLKP) }, \
         { "sue_ROLLKD", NULL, MAVLINK_TYPE_FLOAT, 0, 12, offsetof(mavlink_serial_udb_extra_f5_t, sue_ROLLKD) }, \
         { "sue_YAW_STABILIZATION_AILERON", NULL, MAVLINK_TYPE_FLOAT, 0, 16, offsetof(mavlink_serial_udb_extra_f5_t, sue_YAW_STABILIZATION_AILERON) }, \
         { "sue_AILERON_BOOST", NULL, MAVLINK_TYPE_FLOAT, 0, 20, offsetof(mavlink_serial_udb_extra_f5_t, sue_AILERON_BOOST) }, \
         } \
}


/**
 * @brief Pack a serial_udb_extra_f5 message
 * @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 sue_YAWKP_AILERON Serial UDB YAWKP_AILERON Gain for Proporional control of navigation
 * @param sue_YAWKD_AILERON Serial UDB YAWKD_AILERON Gain for Rate control of navigation
 * @param sue_ROLLKP Serial UDB Extra ROLLKP Gain for Proportional control of roll stabilization
 * @param sue_ROLLKD Serial UDB Extra ROLLKD Gain for Rate control of roll stabilization
 * @param sue_YAW_STABILIZATION_AILERON YAW_STABILIZATION_AILERON Proportional control
 * @param sue_AILERON_BOOST Gain For Boosting Manual Aileron control When Plane Stabilized
 * @return length of the message in bytes (excluding serial stream start sign)
 */
static inline uint16_t mavlink_msg_serial_udb_extra_f5_pack(uint8_t system_id, uint8_t component_id, mavlink_message_t* msg,
						       float sue_YAWKP_AILERON, float sue_YAWKD_AILERON, float sue_ROLLKP, float sue_ROLLKD, float sue_YAW_STABILIZATION_AILERON, float sue_AILERON_BOOST)
{
#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
	char buf[24];
	_mav_put_float(buf, 0, sue_YAWKP_AILERON);
	_mav_put_float(buf, 4, sue_YAWKD_AILERON);
	_mav_put_float(buf, 8, sue_ROLLKP);
	_mav_put_float(buf, 12, sue_ROLLKD);
	_mav_put_float(buf, 16, sue_YAW_STABILIZATION_AILERON);
	_mav_put_float(buf, 20, sue_AILERON_BOOST);

        memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, 24);
#else
	mavlink_serial_udb_extra_f5_t packet;
	packet.sue_YAWKP_AILERON = sue_YAWKP_AILERON;
	packet.sue_YAWKD_AILERON = sue_YAWKD_AILERON;
	packet.sue_ROLLKP = sue_ROLLKP;
	packet.sue_ROLLKD = sue_ROLLKD;
	packet.sue_YAW_STABILIZATION_AILERON = sue_YAW_STABILIZATION_AILERON;
	packet.sue_AILERON_BOOST = sue_AILERON_BOOST;

        memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, 24);
#endif

	msg->msgid = MAVLINK_MSG_ID_SERIAL_UDB_EXTRA_F5;
	return mavlink_finalize_message(msg, system_id, component_id, 24, 121);
}

/**
 * @brief Pack a serial_udb_extra_f5 message 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 was sent over
 * @param msg The MAVLink message to compress the data into
 * @param sue_YAWKP_AILERON Serial UDB YAWKP_AILERON Gain for Proporional control of navigation
 * @param sue_YAWKD_AILERON Serial UDB YAWKD_AILERON Gain for Rate control of navigation
 * @param sue_ROLLKP Serial UDB Extra ROLLKP Gain for Proportional control of roll stabilization
 * @param sue_ROLLKD Serial UDB Extra ROLLKD Gain for Rate control of roll stabilization
 * @param sue_YAW_STABILIZATION_AILERON YAW_STABILIZATION_AILERON Proportional control
 * @param sue_AILERON_BOOST Gain For Boosting Manual Aileron control When Plane Stabilized
 * @return length of the message in bytes (excluding serial stream start sign)
 */
static inline uint16_t mavlink_msg_serial_udb_extra_f5_pack_chan(uint8_t system_id, uint8_t component_id, uint8_t chan,
							   mavlink_message_t* msg,
						           float sue_YAWKP_AILERON,float sue_YAWKD_AILERON,float sue_ROLLKP,float sue_ROLLKD,float sue_YAW_STABILIZATION_AILERON,float sue_AILERON_BOOST)
{
#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
	char buf[24];
	_mav_put_float(buf, 0, sue_YAWKP_AILERON);
	_mav_put_float(buf, 4, sue_YAWKD_AILERON);
	_mav_put_float(buf, 8, sue_ROLLKP);
	_mav_put_float(buf, 12, sue_ROLLKD);
	_mav_put_float(buf, 16, sue_YAW_STABILIZATION_AILERON);
	_mav_put_float(buf, 20, sue_AILERON_BOOST);

        memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, 24);
#else
	mavlink_serial_udb_extra_f5_t packet;
	packet.sue_YAWKP_AILERON = sue_YAWKP_AILERON;
	packet.sue_YAWKD_AILERON = sue_YAWKD_AILERON;
	packet.sue_ROLLKP = sue_ROLLKP;
	packet.sue_ROLLKD = sue_ROLLKD;
	packet.sue_YAW_STABILIZATION_AILERON = sue_YAW_STABILIZATION_AILERON;
	packet.sue_AILERON_BOOST = sue_AILERON_BOOST;

        memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, 24);
#endif

	msg->msgid = MAVLINK_MSG_ID_SERIAL_UDB_EXTRA_F5;
	return mavlink_finalize_message_chan(msg, system_id, component_id, chan, 24, 121);
}

/**
 * @brief Encode a serial_udb_extra_f5 struct into a message
 *
 * @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 serial_udb_extra_f5 C-struct to read the message contents from
 */
static inline uint16_t mavlink_msg_serial_udb_extra_f5_encode(uint8_t system_id, uint8_t component_id, mavlink_message_t* msg, const mavlink_serial_udb_extra_f5_t* serial_udb_extra_f5)
{
	return mavlink_msg_serial_udb_extra_f5_pack(system_id, component_id, msg, serial_udb_extra_f5->sue_YAWKP_AILERON, serial_udb_extra_f5->sue_YAWKD_AILERON, serial_udb_extra_f5->sue_ROLLKP, serial_udb_extra_f5->sue_ROLLKD, serial_udb_extra_f5->sue_YAW_STABILIZATION_AILERON, serial_udb_extra_f5->sue_AILERON_BOOST);
}

/**
 * @brief Send a serial_udb_extra_f5 message
 * @param chan MAVLink channel to send the message
 *
 * @param sue_YAWKP_AILERON Serial UDB YAWKP_AILERON Gain for Proporional control of navigation
 * @param sue_YAWKD_AILERON Serial UDB YAWKD_AILERON Gain for Rate control of navigation
 * @param sue_ROLLKP Serial UDB Extra ROLLKP Gain for Proportional control of roll stabilization
 * @param sue_ROLLKD Serial UDB Extra ROLLKD Gain for Rate control of roll stabilization
 * @param sue_YAW_STABILIZATION_AILERON YAW_STABILIZATION_AILERON Proportional control
 * @param sue_AILERON_BOOST Gain For Boosting Manual Aileron control When Plane Stabilized
 */
#ifdef MAVLINK_USE_CONVENIENCE_FUNCTIONS

static inline void mavlink_msg_serial_udb_extra_f5_send(mavlink_channel_t chan, float sue_YAWKP_AILERON, float sue_YAWKD_AILERON, float sue_ROLLKP, float sue_ROLLKD, float sue_YAW_STABILIZATION_AILERON, float sue_AILERON_BOOST)
{
#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
	char buf[24];
	_mav_put_float(buf, 0, sue_YAWKP_AILERON);
	_mav_put_float(buf, 4, sue_YAWKD_AILERON);
	_mav_put_float(buf, 8, sue_ROLLKP);
	_mav_put_float(buf, 12, sue_ROLLKD);
	_mav_put_float(buf, 16, sue_YAW_STABILIZATION_AILERON);
	_mav_put_float(buf, 20, sue_AILERON_BOOST);

	_mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_SERIAL_UDB_EXTRA_F5, buf, 24, 121);
#else
	mavlink_serial_udb_extra_f5_t packet;
	packet.sue_YAWKP_AILERON = sue_YAWKP_AILERON;
	packet.sue_YAWKD_AILERON = sue_YAWKD_AILERON;
	packet.sue_ROLLKP = sue_ROLLKP;
	packet.sue_ROLLKD = sue_ROLLKD;
	packet.sue_YAW_STABILIZATION_AILERON = sue_YAW_STABILIZATION_AILERON;
	packet.sue_AILERON_BOOST = sue_AILERON_BOOST;

	_mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_SERIAL_UDB_EXTRA_F5, (const char *)&packet, 24, 121);
#endif
}

#endif

// MESSAGE SERIAL_UDB_EXTRA_F5 UNPACKING


/**
 * @brief Get field sue_YAWKP_AILERON from serial_udb_extra_f5 message
 *
 * @return Serial UDB YAWKP_AILERON Gain for Proporional control of navigation
 */
static inline float mavlink_msg_serial_udb_extra_f5_get_sue_YAWKP_AILERON(const mavlink_message_t* msg)
{
	return _MAV_RETURN_float(msg,  0);
}

/**
 * @brief Get field sue_YAWKD_AILERON from serial_udb_extra_f5 message
 *
 * @return Serial UDB YAWKD_AILERON Gain for Rate control of navigation
 */
static inline float mavlink_msg_serial_udb_extra_f5_get_sue_YAWKD_AILERON(const mavlink_message_t* msg)
{
	return _MAV_RETURN_float(msg,  4);
}

/**
 * @brief Get field sue_ROLLKP from serial_udb_extra_f5 message
 *
 * @return Serial UDB Extra ROLLKP Gain for Proportional control of roll stabilization
 */
static inline float mavlink_msg_serial_udb_extra_f5_get_sue_ROLLKP(const mavlink_message_t* msg)
{
	return _MAV_RETURN_float(msg,  8);
}

/**
 * @brief Get field sue_ROLLKD from serial_udb_extra_f5 message
 *
 * @return Serial UDB Extra ROLLKD Gain for Rate control of roll stabilization
 */
static inline float mavlink_msg_serial_udb_extra_f5_get_sue_ROLLKD(const mavlink_message_t* msg)
{
	return _MAV_RETURN_float(msg,  12);
}

/**
 * @brief Get field sue_YAW_STABILIZATION_AILERON from serial_udb_extra_f5 message
 *
 * @return YAW_STABILIZATION_AILERON Proportional control
 */
static inline float mavlink_msg_serial_udb_extra_f5_get_sue_YAW_STABILIZATION_AILERON(const mavlink_message_t* msg)
{
	return _MAV_RETURN_float(msg,  16);
}

/**
 * @brief Get field sue_AILERON_BOOST from serial_udb_extra_f5 message
 *
 * @return Gain For Boosting Manual Aileron control When Plane Stabilized
 */
static inline float mavlink_msg_serial_udb_extra_f5_get_sue_AILERON_BOOST(const mavlink_message_t* msg)
{
	return _MAV_RETURN_float(msg,  20);
}

/**
 * @brief Decode a serial_udb_extra_f5 message into a struct
 *
 * @param msg The message to decode
 * @param serial_udb_extra_f5 C-struct to decode the message contents into
 */
static inline void mavlink_msg_serial_udb_extra_f5_decode(const mavlink_message_t* msg, mavlink_serial_udb_extra_f5_t* serial_udb_extra_f5)
{
#if MAVLINK_NEED_BYTE_SWAP
	serial_udb_extra_f5->sue_YAWKP_AILERON = mavlink_msg_serial_udb_extra_f5_get_sue_YAWKP_AILERON(msg);
	serial_udb_extra_f5->sue_YAWKD_AILERON = mavlink_msg_serial_udb_extra_f5_get_sue_YAWKD_AILERON(msg);
	serial_udb_extra_f5->sue_ROLLKP = mavlink_msg_serial_udb_extra_f5_get_sue_ROLLKP(msg);
	serial_udb_extra_f5->sue_ROLLKD = mavlink_msg_serial_udb_extra_f5_get_sue_ROLLKD(msg);
	serial_udb_extra_f5->sue_YAW_STABILIZATION_AILERON = mavlink_msg_serial_udb_extra_f5_get_sue_YAW_STABILIZATION_AILERON(msg);
	serial_udb_extra_f5->sue_AILERON_BOOST = mavlink_msg_serial_udb_extra_f5_get_sue_AILERON_BOOST(msg);
#else
	memcpy(serial_udb_extra_f5, _MAV_PAYLOAD(msg), 24);
#endif
}