2018-08-07 10:12:17 +08:00
# pragma once
// MESSAGE TRAJECTORY_REPRESENTATION_BEZIER PACKING
# define MAVLINK_MSG_ID_TRAJECTORY_REPRESENTATION_BEZIER 333
2020-09-20 10:12:24 +08:00
2018-08-07 10:12:17 +08:00
typedef struct __mavlink_trajectory_representation_bezier_t {
2020-09-20 10:12:24 +08:00
uint32_t time_usec ; /*< [us] Timestamp (UNIX Epoch time or time since system boot). The receiving end can infer timestamp format (since 1.1.1970 or since system boot) by checking for the magnitude the number.*/
2018-08-07 10:12:17 +08:00
float pos_x [ 5 ] ; /*< [m] X-coordinate of starting bezier point, set to NaN if not being used*/
float pos_y [ 5 ] ; /*< [m] Y-coordinate of starting bezier point, set to NaN if not being used*/
float pos_z [ 5 ] ; /*< [m] Z-coordinate of starting bezier point, set to NaN if not being used*/
float delta [ 5 ] ; /*< [s] Bezier time horizon, set to NaN if velocity/acceleration should not be incorporated*/
float pos_yaw [ 5 ] ; /*< [rad] Yaw, set to NaN for unchanged*/
uint8_t valid_points ; /*< Number of valid points (up-to 5 waypoints are possible)*/
2020-09-20 10:12:24 +08:00
} mavlink_trajectory_representation_bezier_t ;
2018-08-07 10:12:17 +08:00
2020-09-20 10:12:24 +08:00
# define MAVLINK_MSG_ID_TRAJECTORY_REPRESENTATION_BEZIER_LEN 105
# define MAVLINK_MSG_ID_TRAJECTORY_REPRESENTATION_BEZIER_MIN_LEN 105
# define MAVLINK_MSG_ID_333_LEN 105
# define MAVLINK_MSG_ID_333_MIN_LEN 105
2018-08-07 10:12:17 +08:00
2020-09-20 10:12:24 +08:00
# define MAVLINK_MSG_ID_TRAJECTORY_REPRESENTATION_BEZIER_CRC 15
# define MAVLINK_MSG_ID_333_CRC 15
2018-08-07 10:12:17 +08:00
# define MAVLINK_MSG_TRAJECTORY_REPRESENTATION_BEZIER_FIELD_POS_X_LEN 5
# define MAVLINK_MSG_TRAJECTORY_REPRESENTATION_BEZIER_FIELD_POS_Y_LEN 5
# define MAVLINK_MSG_TRAJECTORY_REPRESENTATION_BEZIER_FIELD_POS_Z_LEN 5
# define MAVLINK_MSG_TRAJECTORY_REPRESENTATION_BEZIER_FIELD_DELTA_LEN 5
# define MAVLINK_MSG_TRAJECTORY_REPRESENTATION_BEZIER_FIELD_POS_YAW_LEN 5
# if MAVLINK_COMMAND_24BIT
# define MAVLINK_MESSAGE_INFO_TRAJECTORY_REPRESENTATION_BEZIER { \
333, \
"TRAJECTORY_REPRESENTATION_BEZIER", \
7, \
2020-09-20 10:12:24 +08:00
{ { "time_usec", NULL, MAVLINK_TYPE_UINT32_T, 0, 0, offsetof(mavlink_trajectory_representation_bezier_t, time_usec) }, \
{ "valid_points", NULL, MAVLINK_TYPE_UINT8_T, 0, 104, offsetof(mavlink_trajectory_representation_bezier_t, valid_points) }, \
{ "pos_x", NULL, MAVLINK_TYPE_FLOAT, 5, 4, offsetof(mavlink_trajectory_representation_bezier_t, pos_x) }, \
{ "pos_y", NULL, MAVLINK_TYPE_FLOAT, 5, 24, offsetof(mavlink_trajectory_representation_bezier_t, pos_y) }, \
{ "pos_z", NULL, MAVLINK_TYPE_FLOAT, 5, 44, offsetof(mavlink_trajectory_representation_bezier_t, pos_z) }, \
{ "delta", NULL, MAVLINK_TYPE_FLOAT, 5, 64, offsetof(mavlink_trajectory_representation_bezier_t, delta) }, \
{ "pos_yaw", NULL, MAVLINK_TYPE_FLOAT, 5, 84, offsetof(mavlink_trajectory_representation_bezier_t, pos_yaw) }, \
2018-08-07 10:12:17 +08:00
} \
}
# else
# define MAVLINK_MESSAGE_INFO_TRAJECTORY_REPRESENTATION_BEZIER { \
"TRAJECTORY_REPRESENTATION_BEZIER", \
7, \
2020-09-20 10:12:24 +08:00
{ { "time_usec", NULL, MAVLINK_TYPE_UINT32_T, 0, 0, offsetof(mavlink_trajectory_representation_bezier_t, time_usec) }, \
{ "valid_points", NULL, MAVLINK_TYPE_UINT8_T, 0, 104, offsetof(mavlink_trajectory_representation_bezier_t, valid_points) }, \
{ "pos_x", NULL, MAVLINK_TYPE_FLOAT, 5, 4, offsetof(mavlink_trajectory_representation_bezier_t, pos_x) }, \
{ "pos_y", NULL, MAVLINK_TYPE_FLOAT, 5, 24, offsetof(mavlink_trajectory_representation_bezier_t, pos_y) }, \
{ "pos_z", NULL, MAVLINK_TYPE_FLOAT, 5, 44, offsetof(mavlink_trajectory_representation_bezier_t, pos_z) }, \
{ "delta", NULL, MAVLINK_TYPE_FLOAT, 5, 64, offsetof(mavlink_trajectory_representation_bezier_t, delta) }, \
{ "pos_yaw", NULL, MAVLINK_TYPE_FLOAT, 5, 84, offsetof(mavlink_trajectory_representation_bezier_t, pos_yaw) }, \
2018-08-07 10:12:17 +08:00
} \
}
# endif
/**
* @brief Pack a trajectory_representation_bezier 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 time_usec [us] Timestamp (UNIX Epoch time or time since system boot). The receiving end can infer timestamp format (since 1.1.1970 or since system boot) by checking for the magnitude the number.
* @param valid_points Number of valid points (up-to 5 waypoints are possible)
* @param pos_x [m] X-coordinate of starting bezier point, set to NaN if not being used
* @param pos_y [m] Y-coordinate of starting bezier point, set to NaN if not being used
* @param pos_z [m] Z-coordinate of starting bezier point, set to NaN if not being used
* @param delta [s] Bezier time horizon, set to NaN if velocity/acceleration should not be incorporated
* @param pos_yaw [rad] Yaw, set to NaN for unchanged
* @return length of the message in bytes (excluding serial stream start sign)
*/
2020-09-20 10:12:24 +08:00
static inline uint16_t mavlink_msg_trajectory_representation_bezier_pack ( uint16_t system_id , uint8_t component_id , mavlink_message_t * msg ,
uint32_t time_usec , uint8_t valid_points , const float * pos_x , const float * pos_y , const float * pos_z , const float * delta , const float * pos_yaw )
2018-08-07 10:12:17 +08:00
{
# if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
char buf [ MAVLINK_MSG_ID_TRAJECTORY_REPRESENTATION_BEZIER_LEN ] ;
2020-09-20 10:12:24 +08:00
_mav_put_uint32_t ( buf , 0 , time_usec ) ;
_mav_put_uint8_t ( buf , 104 , valid_points ) ;
_mav_put_float_array ( buf , 4 , pos_x , 5 ) ;
_mav_put_float_array ( buf , 24 , pos_y , 5 ) ;
_mav_put_float_array ( buf , 44 , pos_z , 5 ) ;
_mav_put_float_array ( buf , 64 , delta , 5 ) ;
_mav_put_float_array ( buf , 84 , pos_yaw , 5 ) ;
2018-08-07 10:12:17 +08:00
memcpy ( _MAV_PAYLOAD_NON_CONST ( msg ) , buf , MAVLINK_MSG_ID_TRAJECTORY_REPRESENTATION_BEZIER_LEN ) ;
# else
mavlink_trajectory_representation_bezier_t packet ;
packet . time_usec = time_usec ;
packet . valid_points = valid_points ;
mav_array_memcpy ( packet . pos_x , pos_x , sizeof ( float ) * 5 ) ;
mav_array_memcpy ( packet . pos_y , pos_y , sizeof ( float ) * 5 ) ;
mav_array_memcpy ( packet . pos_z , pos_z , sizeof ( float ) * 5 ) ;
mav_array_memcpy ( packet . delta , delta , sizeof ( float ) * 5 ) ;
mav_array_memcpy ( packet . pos_yaw , pos_yaw , sizeof ( float ) * 5 ) ;
memcpy ( _MAV_PAYLOAD_NON_CONST ( msg ) , & packet , MAVLINK_MSG_ID_TRAJECTORY_REPRESENTATION_BEZIER_LEN ) ;
# endif
msg - > msgid = MAVLINK_MSG_ID_TRAJECTORY_REPRESENTATION_BEZIER ;
return mavlink_finalize_message ( msg , system_id , component_id , MAVLINK_MSG_ID_TRAJECTORY_REPRESENTATION_BEZIER_MIN_LEN , MAVLINK_MSG_ID_TRAJECTORY_REPRESENTATION_BEZIER_LEN , MAVLINK_MSG_ID_TRAJECTORY_REPRESENTATION_BEZIER_CRC ) ;
}
/**
* @brief Pack a trajectory_representation_bezier 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 will be sent over
* @param msg The MAVLink message to compress the data into
* @param time_usec [us] Timestamp (UNIX Epoch time or time since system boot). The receiving end can infer timestamp format (since 1.1.1970 or since system boot) by checking for the magnitude the number.
* @param valid_points Number of valid points (up-to 5 waypoints are possible)
* @param pos_x [m] X-coordinate of starting bezier point, set to NaN if not being used
* @param pos_y [m] Y-coordinate of starting bezier point, set to NaN if not being used
* @param pos_z [m] Z-coordinate of starting bezier point, set to NaN if not being used
* @param delta [s] Bezier time horizon, set to NaN if velocity/acceleration should not be incorporated
* @param pos_yaw [rad] Yaw, set to NaN for unchanged
* @return length of the message in bytes (excluding serial stream start sign)
*/
2020-09-20 10:12:24 +08:00
static inline uint16_t mavlink_msg_trajectory_representation_bezier_pack_chan ( uint16_t system_id , uint8_t component_id , uint8_t chan ,
2018-08-07 10:12:17 +08:00
mavlink_message_t * msg ,
2020-09-20 10:12:24 +08:00
uint32_t time_usec , uint8_t valid_points , const float * pos_x , const float * pos_y , const float * pos_z , const float * delta , const float * pos_yaw )
2018-08-07 10:12:17 +08:00
{
# if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
char buf [ MAVLINK_MSG_ID_TRAJECTORY_REPRESENTATION_BEZIER_LEN ] ;
2020-09-20 10:12:24 +08:00
_mav_put_uint32_t ( buf , 0 , time_usec ) ;
_mav_put_uint8_t ( buf , 104 , valid_points ) ;
_mav_put_float_array ( buf , 4 , pos_x , 5 ) ;
_mav_put_float_array ( buf , 24 , pos_y , 5 ) ;
_mav_put_float_array ( buf , 44 , pos_z , 5 ) ;
_mav_put_float_array ( buf , 64 , delta , 5 ) ;
_mav_put_float_array ( buf , 84 , pos_yaw , 5 ) ;
2018-08-07 10:12:17 +08:00
memcpy ( _MAV_PAYLOAD_NON_CONST ( msg ) , buf , MAVLINK_MSG_ID_TRAJECTORY_REPRESENTATION_BEZIER_LEN ) ;
# else
mavlink_trajectory_representation_bezier_t packet ;
packet . time_usec = time_usec ;
packet . valid_points = valid_points ;
mav_array_memcpy ( packet . pos_x , pos_x , sizeof ( float ) * 5 ) ;
mav_array_memcpy ( packet . pos_y , pos_y , sizeof ( float ) * 5 ) ;
mav_array_memcpy ( packet . pos_z , pos_z , sizeof ( float ) * 5 ) ;
mav_array_memcpy ( packet . delta , delta , sizeof ( float ) * 5 ) ;
mav_array_memcpy ( packet . pos_yaw , pos_yaw , sizeof ( float ) * 5 ) ;
memcpy ( _MAV_PAYLOAD_NON_CONST ( msg ) , & packet , MAVLINK_MSG_ID_TRAJECTORY_REPRESENTATION_BEZIER_LEN ) ;
# endif
msg - > msgid = MAVLINK_MSG_ID_TRAJECTORY_REPRESENTATION_BEZIER ;
return mavlink_finalize_message_chan ( msg , system_id , component_id , chan , MAVLINK_MSG_ID_TRAJECTORY_REPRESENTATION_BEZIER_MIN_LEN , MAVLINK_MSG_ID_TRAJECTORY_REPRESENTATION_BEZIER_LEN , MAVLINK_MSG_ID_TRAJECTORY_REPRESENTATION_BEZIER_CRC ) ;
}
/**
* @brief Encode a trajectory_representation_bezier struct
*
* @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 trajectory_representation_bezier C-struct to read the message contents from
*/
2020-09-20 10:12:24 +08:00
static inline uint16_t mavlink_msg_trajectory_representation_bezier_encode ( uint16_t system_id , uint8_t component_id , mavlink_message_t * msg , const mavlink_trajectory_representation_bezier_t * trajectory_representation_bezier )
2018-08-07 10:12:17 +08:00
{
return mavlink_msg_trajectory_representation_bezier_pack ( system_id , component_id , msg , trajectory_representation_bezier - > time_usec , trajectory_representation_bezier - > valid_points , trajectory_representation_bezier - > pos_x , trajectory_representation_bezier - > pos_y , trajectory_representation_bezier - > pos_z , trajectory_representation_bezier - > delta , trajectory_representation_bezier - > pos_yaw ) ;
}
/**
* @brief Encode a trajectory_representation_bezier 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 trajectory_representation_bezier C-struct to read the message contents from
*/
2020-09-20 10:12:24 +08:00
static inline uint16_t mavlink_msg_trajectory_representation_bezier_encode_chan ( uint16_t system_id , uint8_t component_id , uint8_t chan , mavlink_message_t * msg , const mavlink_trajectory_representation_bezier_t * trajectory_representation_bezier )
2018-08-07 10:12:17 +08:00
{
return mavlink_msg_trajectory_representation_bezier_pack_chan ( system_id , component_id , chan , msg , trajectory_representation_bezier - > time_usec , trajectory_representation_bezier - > valid_points , trajectory_representation_bezier - > pos_x , trajectory_representation_bezier - > pos_y , trajectory_representation_bezier - > pos_z , trajectory_representation_bezier - > delta , trajectory_representation_bezier - > pos_yaw ) ;
}
/**
* @brief Send a trajectory_representation_bezier message
* @param chan MAVLink channel to send the message
*
* @param time_usec [us] Timestamp (UNIX Epoch time or time since system boot). The receiving end can infer timestamp format (since 1.1.1970 or since system boot) by checking for the magnitude the number.
* @param valid_points Number of valid points (up-to 5 waypoints are possible)
* @param pos_x [m] X-coordinate of starting bezier point, set to NaN if not being used
* @param pos_y [m] Y-coordinate of starting bezier point, set to NaN if not being used
* @param pos_z [m] Z-coordinate of starting bezier point, set to NaN if not being used
* @param delta [s] Bezier time horizon, set to NaN if velocity/acceleration should not be incorporated
* @param pos_yaw [rad] Yaw, set to NaN for unchanged
*/
# ifdef MAVLINK_USE_CONVENIENCE_FUNCTIONS
2020-09-20 10:12:24 +08:00
static inline void mavlink_msg_trajectory_representation_bezier_send ( mavlink_channel_t chan , uint32_t time_usec , uint8_t valid_points , const float * pos_x , const float * pos_y , const float * pos_z , const float * delta , const float * pos_yaw )
2018-08-07 10:12:17 +08:00
{
# if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
char buf [ MAVLINK_MSG_ID_TRAJECTORY_REPRESENTATION_BEZIER_LEN ] ;
2020-09-20 10:12:24 +08:00
_mav_put_uint32_t ( buf , 0 , time_usec ) ;
_mav_put_uint8_t ( buf , 104 , valid_points ) ;
_mav_put_float_array ( buf , 4 , pos_x , 5 ) ;
_mav_put_float_array ( buf , 24 , pos_y , 5 ) ;
_mav_put_float_array ( buf , 44 , pos_z , 5 ) ;
_mav_put_float_array ( buf , 64 , delta , 5 ) ;
_mav_put_float_array ( buf , 84 , pos_yaw , 5 ) ;
2018-08-07 10:12:17 +08:00
_mav_finalize_message_chan_send ( chan , MAVLINK_MSG_ID_TRAJECTORY_REPRESENTATION_BEZIER , buf , MAVLINK_MSG_ID_TRAJECTORY_REPRESENTATION_BEZIER_MIN_LEN , MAVLINK_MSG_ID_TRAJECTORY_REPRESENTATION_BEZIER_LEN , MAVLINK_MSG_ID_TRAJECTORY_REPRESENTATION_BEZIER_CRC ) ;
# else
mavlink_trajectory_representation_bezier_t packet ;
packet . time_usec = time_usec ;
packet . valid_points = valid_points ;
mav_array_memcpy ( packet . pos_x , pos_x , sizeof ( float ) * 5 ) ;
mav_array_memcpy ( packet . pos_y , pos_y , sizeof ( float ) * 5 ) ;
mav_array_memcpy ( packet . pos_z , pos_z , sizeof ( float ) * 5 ) ;
mav_array_memcpy ( packet . delta , delta , sizeof ( float ) * 5 ) ;
mav_array_memcpy ( packet . pos_yaw , pos_yaw , sizeof ( float ) * 5 ) ;
_mav_finalize_message_chan_send ( chan , MAVLINK_MSG_ID_TRAJECTORY_REPRESENTATION_BEZIER , ( const char * ) & packet , MAVLINK_MSG_ID_TRAJECTORY_REPRESENTATION_BEZIER_MIN_LEN , MAVLINK_MSG_ID_TRAJECTORY_REPRESENTATION_BEZIER_LEN , MAVLINK_MSG_ID_TRAJECTORY_REPRESENTATION_BEZIER_CRC ) ;
# endif
}
/**
* @brief Send a trajectory_representation_bezier message
* @param chan MAVLink channel to send the message
* @param struct The MAVLink struct to serialize
*/
static inline void mavlink_msg_trajectory_representation_bezier_send_struct ( mavlink_channel_t chan , const mavlink_trajectory_representation_bezier_t * trajectory_representation_bezier )
{
# if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
mavlink_msg_trajectory_representation_bezier_send ( chan , trajectory_representation_bezier - > time_usec , trajectory_representation_bezier - > valid_points , trajectory_representation_bezier - > pos_x , trajectory_representation_bezier - > pos_y , trajectory_representation_bezier - > pos_z , trajectory_representation_bezier - > delta , trajectory_representation_bezier - > pos_yaw ) ;
# else
_mav_finalize_message_chan_send ( chan , MAVLINK_MSG_ID_TRAJECTORY_REPRESENTATION_BEZIER , ( const char * ) trajectory_representation_bezier , MAVLINK_MSG_ID_TRAJECTORY_REPRESENTATION_BEZIER_MIN_LEN , MAVLINK_MSG_ID_TRAJECTORY_REPRESENTATION_BEZIER_LEN , MAVLINK_MSG_ID_TRAJECTORY_REPRESENTATION_BEZIER_CRC ) ;
# endif
}
# if MAVLINK_MSG_ID_TRAJECTORY_REPRESENTATION_BEZIER_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.
*/
2020-09-20 10:12:24 +08:00
static inline void mavlink_msg_trajectory_representation_bezier_send_buf ( mavlink_message_t * msgbuf , mavlink_channel_t chan , uint32_t time_usec , uint8_t valid_points , const float * pos_x , const float * pos_y , const float * pos_z , const float * delta , const float * pos_yaw )
2018-08-07 10:12:17 +08:00
{
# if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
char * buf = ( char * ) msgbuf ;
2020-09-20 10:12:24 +08:00
_mav_put_uint32_t ( buf , 0 , time_usec ) ;
_mav_put_uint8_t ( buf , 104 , valid_points ) ;
_mav_put_float_array ( buf , 4 , pos_x , 5 ) ;
_mav_put_float_array ( buf , 24 , pos_y , 5 ) ;
_mav_put_float_array ( buf , 44 , pos_z , 5 ) ;
_mav_put_float_array ( buf , 64 , delta , 5 ) ;
_mav_put_float_array ( buf , 84 , pos_yaw , 5 ) ;
2018-08-07 10:12:17 +08:00
_mav_finalize_message_chan_send ( chan , MAVLINK_MSG_ID_TRAJECTORY_REPRESENTATION_BEZIER , buf , MAVLINK_MSG_ID_TRAJECTORY_REPRESENTATION_BEZIER_MIN_LEN , MAVLINK_MSG_ID_TRAJECTORY_REPRESENTATION_BEZIER_LEN , MAVLINK_MSG_ID_TRAJECTORY_REPRESENTATION_BEZIER_CRC ) ;
# else
mavlink_trajectory_representation_bezier_t * packet = ( mavlink_trajectory_representation_bezier_t * ) msgbuf ;
packet - > time_usec = time_usec ;
packet - > valid_points = valid_points ;
mav_array_memcpy ( packet - > pos_x , pos_x , sizeof ( float ) * 5 ) ;
mav_array_memcpy ( packet - > pos_y , pos_y , sizeof ( float ) * 5 ) ;
mav_array_memcpy ( packet - > pos_z , pos_z , sizeof ( float ) * 5 ) ;
mav_array_memcpy ( packet - > delta , delta , sizeof ( float ) * 5 ) ;
mav_array_memcpy ( packet - > pos_yaw , pos_yaw , sizeof ( float ) * 5 ) ;
_mav_finalize_message_chan_send ( chan , MAVLINK_MSG_ID_TRAJECTORY_REPRESENTATION_BEZIER , ( const char * ) packet , MAVLINK_MSG_ID_TRAJECTORY_REPRESENTATION_BEZIER_MIN_LEN , MAVLINK_MSG_ID_TRAJECTORY_REPRESENTATION_BEZIER_LEN , MAVLINK_MSG_ID_TRAJECTORY_REPRESENTATION_BEZIER_CRC ) ;
# endif
}
# endif
# endif
// MESSAGE TRAJECTORY_REPRESENTATION_BEZIER UNPACKING
/**
* @brief Get field time_usec from trajectory_representation_bezier message
*
* @return [us] Timestamp (UNIX Epoch time or time since system boot). The receiving end can infer timestamp format (since 1.1.1970 or since system boot) by checking for the magnitude the number.
*/
2020-09-20 10:12:24 +08:00
static inline uint32_t mavlink_msg_trajectory_representation_bezier_get_time_usec ( const mavlink_message_t * msg )
2018-08-07 10:12:17 +08:00
{
2020-09-20 10:12:24 +08:00
return _MAV_RETURN_uint32_t ( msg , 0 ) ;
2018-08-07 10:12:17 +08:00
}
/**
* @brief Get field valid_points from trajectory_representation_bezier message
*
* @return Number of valid points (up-to 5 waypoints are possible)
*/
static inline uint8_t mavlink_msg_trajectory_representation_bezier_get_valid_points ( const mavlink_message_t * msg )
{
2020-09-20 10:12:24 +08:00
return _MAV_RETURN_uint8_t ( msg , 104 ) ;
2018-08-07 10:12:17 +08:00
}
/**
* @brief Get field pos_x from trajectory_representation_bezier message
*
* @return [m] X-coordinate of starting bezier point, set to NaN if not being used
*/
static inline uint16_t mavlink_msg_trajectory_representation_bezier_get_pos_x ( const mavlink_message_t * msg , float * pos_x )
{
2020-09-20 10:12:24 +08:00
return _MAV_RETURN_float_array ( msg , pos_x , 5 , 4 ) ;
2018-08-07 10:12:17 +08:00
}
/**
* @brief Get field pos_y from trajectory_representation_bezier message
*
* @return [m] Y-coordinate of starting bezier point, set to NaN if not being used
*/
static inline uint16_t mavlink_msg_trajectory_representation_bezier_get_pos_y ( const mavlink_message_t * msg , float * pos_y )
{
2020-09-20 10:12:24 +08:00
return _MAV_RETURN_float_array ( msg , pos_y , 5 , 24 ) ;
2018-08-07 10:12:17 +08:00
}
/**
* @brief Get field pos_z from trajectory_representation_bezier message
*
* @return [m] Z-coordinate of starting bezier point, set to NaN if not being used
*/
static inline uint16_t mavlink_msg_trajectory_representation_bezier_get_pos_z ( const mavlink_message_t * msg , float * pos_z )
{
2020-09-20 10:12:24 +08:00
return _MAV_RETURN_float_array ( msg , pos_z , 5 , 44 ) ;
2018-08-07 10:12:17 +08:00
}
/**
* @brief Get field delta from trajectory_representation_bezier message
*
* @return [s] Bezier time horizon, set to NaN if velocity/acceleration should not be incorporated
*/
static inline uint16_t mavlink_msg_trajectory_representation_bezier_get_delta ( const mavlink_message_t * msg , float * delta )
{
2020-09-20 10:12:24 +08:00
return _MAV_RETURN_float_array ( msg , delta , 5 , 64 ) ;
2018-08-07 10:12:17 +08:00
}
/**
* @brief Get field pos_yaw from trajectory_representation_bezier message
*
* @return [rad] Yaw, set to NaN for unchanged
*/
static inline uint16_t mavlink_msg_trajectory_representation_bezier_get_pos_yaw ( const mavlink_message_t * msg , float * pos_yaw )
{
2020-09-20 10:12:24 +08:00
return _MAV_RETURN_float_array ( msg , pos_yaw , 5 , 84 ) ;
2018-08-07 10:12:17 +08:00
}
/**
* @brief Decode a trajectory_representation_bezier message into a struct
*
* @param msg The message to decode
* @param trajectory_representation_bezier C-struct to decode the message contents into
*/
static inline void mavlink_msg_trajectory_representation_bezier_decode ( const mavlink_message_t * msg , mavlink_trajectory_representation_bezier_t * trajectory_representation_bezier )
{
# if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
trajectory_representation_bezier - > time_usec = mavlink_msg_trajectory_representation_bezier_get_time_usec ( msg ) ;
mavlink_msg_trajectory_representation_bezier_get_pos_x ( msg , trajectory_representation_bezier - > pos_x ) ;
mavlink_msg_trajectory_representation_bezier_get_pos_y ( msg , trajectory_representation_bezier - > pos_y ) ;
mavlink_msg_trajectory_representation_bezier_get_pos_z ( msg , trajectory_representation_bezier - > pos_z ) ;
mavlink_msg_trajectory_representation_bezier_get_delta ( msg , trajectory_representation_bezier - > delta ) ;
mavlink_msg_trajectory_representation_bezier_get_pos_yaw ( msg , trajectory_representation_bezier - > pos_yaw ) ;
trajectory_representation_bezier - > valid_points = mavlink_msg_trajectory_representation_bezier_get_valid_points ( msg ) ;
# else
uint8_t len = msg - > len < MAVLINK_MSG_ID_TRAJECTORY_REPRESENTATION_BEZIER_LEN ? msg - > len : MAVLINK_MSG_ID_TRAJECTORY_REPRESENTATION_BEZIER_LEN ;
memset ( trajectory_representation_bezier , 0 , MAVLINK_MSG_ID_TRAJECTORY_REPRESENTATION_BEZIER_LEN ) ;
memcpy ( trajectory_representation_bezier , _MAV_PAYLOAD ( msg ) , len ) ;
# endif
}