mavlink_msg_vfr_hud.h
Go to the documentation of this file.
00001 // MESSAGE VFR_HUD PACKING
00002 
00003 #define MAVLINK_MSG_ID_VFR_HUD 74
00004 
00005 typedef struct __mavlink_vfr_hud_t
00006 {
00007  float airspeed; /*< Current airspeed in m/s*/
00008  float groundspeed; /*< Current ground speed in m/s*/
00009  float alt; /*< Current altitude (MSL), in meters*/
00010  float climb; /*< Current climb rate in meters/second*/
00011  int16_t heading; /*< Current heading in degrees, in compass units (0..360, 0=north)*/
00012  uint16_t throttle; /*< Current throttle setting in integer percent, 0 to 100*/
00013 } mavlink_vfr_hud_t;
00014 
00015 #define MAVLINK_MSG_ID_VFR_HUD_LEN 20
00016 #define MAVLINK_MSG_ID_74_LEN 20
00017 
00018 #define MAVLINK_MSG_ID_VFR_HUD_CRC 20
00019 #define MAVLINK_MSG_ID_74_CRC 20
00020 
00021 
00022 
00023 #define MAVLINK_MESSAGE_INFO_VFR_HUD { \
00024         "VFR_HUD", \
00025         6, \
00026         {  { "airspeed", NULL, MAVLINK_TYPE_FLOAT, 0, 0, offsetof(mavlink_vfr_hud_t, airspeed) }, \
00027          { "groundspeed", NULL, MAVLINK_TYPE_FLOAT, 0, 4, offsetof(mavlink_vfr_hud_t, groundspeed) }, \
00028          { "alt", NULL, MAVLINK_TYPE_FLOAT, 0, 8, offsetof(mavlink_vfr_hud_t, alt) }, \
00029          { "climb", NULL, MAVLINK_TYPE_FLOAT, 0, 12, offsetof(mavlink_vfr_hud_t, climb) }, \
00030          { "heading", NULL, MAVLINK_TYPE_INT16_T, 0, 16, offsetof(mavlink_vfr_hud_t, heading) }, \
00031          { "throttle", NULL, MAVLINK_TYPE_UINT16_T, 0, 18, offsetof(mavlink_vfr_hud_t, throttle) }, \
00032          } \
00033 }
00034 
00035 
00050 static inline uint16_t mavlink_msg_vfr_hud_pack(uint8_t system_id, uint8_t component_id, mavlink_message_t* msg,
00051                                                        float airspeed, float groundspeed, int16_t heading, uint16_t throttle, float alt, float climb)
00052 {
00053 #if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
00054         char buf[MAVLINK_MSG_ID_VFR_HUD_LEN];
00055         _mav_put_float(buf, 0, airspeed);
00056         _mav_put_float(buf, 4, groundspeed);
00057         _mav_put_float(buf, 8, alt);
00058         _mav_put_float(buf, 12, climb);
00059         _mav_put_int16_t(buf, 16, heading);
00060         _mav_put_uint16_t(buf, 18, throttle);
00061 
00062         memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_VFR_HUD_LEN);
00063 #else
00064         mavlink_vfr_hud_t packet;
00065         packet.airspeed = airspeed;
00066         packet.groundspeed = groundspeed;
00067         packet.alt = alt;
00068         packet.climb = climb;
00069         packet.heading = heading;
00070         packet.throttle = throttle;
00071 
00072         memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_VFR_HUD_LEN);
00073 #endif
00074 
00075         msg->msgid = MAVLINK_MSG_ID_VFR_HUD;
00076 #if MAVLINK_CRC_EXTRA
00077     return mavlink_finalize_message(msg, system_id, component_id, MAVLINK_MSG_ID_VFR_HUD_LEN, MAVLINK_MSG_ID_VFR_HUD_CRC);
00078 #else
00079     return mavlink_finalize_message(msg, system_id, component_id, MAVLINK_MSG_ID_VFR_HUD_LEN);
00080 #endif
00081 }
00082 
00097 static inline uint16_t mavlink_msg_vfr_hud_pack_chan(uint8_t system_id, uint8_t component_id, uint8_t chan,
00098                                                            mavlink_message_t* msg,
00099                                                            float airspeed,float groundspeed,int16_t heading,uint16_t throttle,float alt,float climb)
00100 {
00101 #if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
00102         char buf[MAVLINK_MSG_ID_VFR_HUD_LEN];
00103         _mav_put_float(buf, 0, airspeed);
00104         _mav_put_float(buf, 4, groundspeed);
00105         _mav_put_float(buf, 8, alt);
00106         _mav_put_float(buf, 12, climb);
00107         _mav_put_int16_t(buf, 16, heading);
00108         _mav_put_uint16_t(buf, 18, throttle);
00109 
00110         memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_VFR_HUD_LEN);
00111 #else
00112         mavlink_vfr_hud_t packet;
00113         packet.airspeed = airspeed;
00114         packet.groundspeed = groundspeed;
00115         packet.alt = alt;
00116         packet.climb = climb;
00117         packet.heading = heading;
00118         packet.throttle = throttle;
00119 
00120         memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_VFR_HUD_LEN);
00121 #endif
00122 
00123         msg->msgid = MAVLINK_MSG_ID_VFR_HUD;
00124 #if MAVLINK_CRC_EXTRA
00125     return mavlink_finalize_message_chan(msg, system_id, component_id, chan, MAVLINK_MSG_ID_VFR_HUD_LEN, MAVLINK_MSG_ID_VFR_HUD_CRC);
00126 #else
00127     return mavlink_finalize_message_chan(msg, system_id, component_id, chan, MAVLINK_MSG_ID_VFR_HUD_LEN);
00128 #endif
00129 }
00130 
00139 static inline uint16_t mavlink_msg_vfr_hud_encode(uint8_t system_id, uint8_t component_id, mavlink_message_t* msg, const mavlink_vfr_hud_t* vfr_hud)
00140 {
00141         return mavlink_msg_vfr_hud_pack(system_id, component_id, msg, vfr_hud->airspeed, vfr_hud->groundspeed, vfr_hud->heading, vfr_hud->throttle, vfr_hud->alt, vfr_hud->climb);
00142 }
00143 
00153 static inline uint16_t mavlink_msg_vfr_hud_encode_chan(uint8_t system_id, uint8_t component_id, uint8_t chan, mavlink_message_t* msg, const mavlink_vfr_hud_t* vfr_hud)
00154 {
00155         return mavlink_msg_vfr_hud_pack_chan(system_id, component_id, chan, msg, vfr_hud->airspeed, vfr_hud->groundspeed, vfr_hud->heading, vfr_hud->throttle, vfr_hud->alt, vfr_hud->climb);
00156 }
00157 
00169 #ifdef MAVLINK_USE_CONVENIENCE_FUNCTIONS
00170 
00171 static inline void mavlink_msg_vfr_hud_send(mavlink_channel_t chan, float airspeed, float groundspeed, int16_t heading, uint16_t throttle, float alt, float climb)
00172 {
00173 #if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
00174         char buf[MAVLINK_MSG_ID_VFR_HUD_LEN];
00175         _mav_put_float(buf, 0, airspeed);
00176         _mav_put_float(buf, 4, groundspeed);
00177         _mav_put_float(buf, 8, alt);
00178         _mav_put_float(buf, 12, climb);
00179         _mav_put_int16_t(buf, 16, heading);
00180         _mav_put_uint16_t(buf, 18, throttle);
00181 
00182 #if MAVLINK_CRC_EXTRA
00183     _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_VFR_HUD, buf, MAVLINK_MSG_ID_VFR_HUD_LEN, MAVLINK_MSG_ID_VFR_HUD_CRC);
00184 #else
00185     _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_VFR_HUD, buf, MAVLINK_MSG_ID_VFR_HUD_LEN);
00186 #endif
00187 #else
00188         mavlink_vfr_hud_t packet;
00189         packet.airspeed = airspeed;
00190         packet.groundspeed = groundspeed;
00191         packet.alt = alt;
00192         packet.climb = climb;
00193         packet.heading = heading;
00194         packet.throttle = throttle;
00195 
00196 #if MAVLINK_CRC_EXTRA
00197     _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_VFR_HUD, (const char *)&packet, MAVLINK_MSG_ID_VFR_HUD_LEN, MAVLINK_MSG_ID_VFR_HUD_CRC);
00198 #else
00199     _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_VFR_HUD, (const char *)&packet, MAVLINK_MSG_ID_VFR_HUD_LEN);
00200 #endif
00201 #endif
00202 }
00203 
00204 #if MAVLINK_MSG_ID_VFR_HUD_LEN <= MAVLINK_MAX_PAYLOAD_LEN
00205 /*
00206   This varient of _send() can be used to save stack space by re-using
00207   memory from the receive buffer.  The caller provides a
00208   mavlink_message_t which is the size of a full mavlink message. This
00209   is usually the receive buffer for the channel, and allows a reply to an
00210   incoming message with minimum stack space usage.
00211  */
00212 static inline void mavlink_msg_vfr_hud_send_buf(mavlink_message_t *msgbuf, mavlink_channel_t chan,  float airspeed, float groundspeed, int16_t heading, uint16_t throttle, float alt, float climb)
00213 {
00214 #if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
00215         char *buf = (char *)msgbuf;
00216         _mav_put_float(buf, 0, airspeed);
00217         _mav_put_float(buf, 4, groundspeed);
00218         _mav_put_float(buf, 8, alt);
00219         _mav_put_float(buf, 12, climb);
00220         _mav_put_int16_t(buf, 16, heading);
00221         _mav_put_uint16_t(buf, 18, throttle);
00222 
00223 #if MAVLINK_CRC_EXTRA
00224     _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_VFR_HUD, buf, MAVLINK_MSG_ID_VFR_HUD_LEN, MAVLINK_MSG_ID_VFR_HUD_CRC);
00225 #else
00226     _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_VFR_HUD, buf, MAVLINK_MSG_ID_VFR_HUD_LEN);
00227 #endif
00228 #else
00229         mavlink_vfr_hud_t *packet = (mavlink_vfr_hud_t *)msgbuf;
00230         packet->airspeed = airspeed;
00231         packet->groundspeed = groundspeed;
00232         packet->alt = alt;
00233         packet->climb = climb;
00234         packet->heading = heading;
00235         packet->throttle = throttle;
00236 
00237 #if MAVLINK_CRC_EXTRA
00238     _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_VFR_HUD, (const char *)packet, MAVLINK_MSG_ID_VFR_HUD_LEN, MAVLINK_MSG_ID_VFR_HUD_CRC);
00239 #else
00240     _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_VFR_HUD, (const char *)packet, MAVLINK_MSG_ID_VFR_HUD_LEN);
00241 #endif
00242 #endif
00243 }
00244 #endif
00245 
00246 #endif
00247 
00248 // MESSAGE VFR_HUD UNPACKING
00249 
00250 
00256 static inline float mavlink_msg_vfr_hud_get_airspeed(const mavlink_message_t* msg)
00257 {
00258         return _MAV_RETURN_float(msg,  0);
00259 }
00260 
00266 static inline float mavlink_msg_vfr_hud_get_groundspeed(const mavlink_message_t* msg)
00267 {
00268         return _MAV_RETURN_float(msg,  4);
00269 }
00270 
00276 static inline int16_t mavlink_msg_vfr_hud_get_heading(const mavlink_message_t* msg)
00277 {
00278         return _MAV_RETURN_int16_t(msg,  16);
00279 }
00280 
00286 static inline uint16_t mavlink_msg_vfr_hud_get_throttle(const mavlink_message_t* msg)
00287 {
00288         return _MAV_RETURN_uint16_t(msg,  18);
00289 }
00290 
00296 static inline float mavlink_msg_vfr_hud_get_alt(const mavlink_message_t* msg)
00297 {
00298         return _MAV_RETURN_float(msg,  8);
00299 }
00300 
00306 static inline float mavlink_msg_vfr_hud_get_climb(const mavlink_message_t* msg)
00307 {
00308         return _MAV_RETURN_float(msg,  12);
00309 }
00310 
00317 static inline void mavlink_msg_vfr_hud_decode(const mavlink_message_t* msg, mavlink_vfr_hud_t* vfr_hud)
00318 {
00319 #if MAVLINK_NEED_BYTE_SWAP
00320         vfr_hud->airspeed = mavlink_msg_vfr_hud_get_airspeed(msg);
00321         vfr_hud->groundspeed = mavlink_msg_vfr_hud_get_groundspeed(msg);
00322         vfr_hud->alt = mavlink_msg_vfr_hud_get_alt(msg);
00323         vfr_hud->climb = mavlink_msg_vfr_hud_get_climb(msg);
00324         vfr_hud->heading = mavlink_msg_vfr_hud_get_heading(msg);
00325         vfr_hud->throttle = mavlink_msg_vfr_hud_get_throttle(msg);
00326 #else
00327         memcpy(vfr_hud, _MAV_PAYLOAD(msg), MAVLINK_MSG_ID_VFR_HUD_LEN);
00328 #endif
00329 }


dji_sdk_dji2mav
Author(s):
autogenerated on Thu Jun 6 2019 17:55:35