2024-08-19 16:16:39 +08:00
# pragma once
2023-05-26 20:01:10 +08:00
// MESSAGE MANUAL_CONTROL PACKING
# define MAVLINK_MSG_ID_MANUAL_CONTROL 69
2024-08-19 16:16:39 +08:00
MAVPACKED (
typedef struct __mavlink_manual_control_t {
int16_t x ; /*< X-axis, normalized to the range [-1000,1000]. A value of INT16_MAX indicates that this axis is invalid. Generally corresponds to forward(1000)-backward(-1000) movement on a joystick and the pitch of a vehicle.*/
int16_t y ; /*< Y-axis, normalized to the range [-1000,1000]. A value of INT16_MAX indicates that this axis is invalid. Generally corresponds to left(-1000)-right(1000) movement on a joystick and the roll of a vehicle.*/
int16_t z ; /*< Z-axis, normalized to the range [-1000,1000]. A value of INT16_MAX indicates that this axis is invalid. Generally corresponds to a separate slider movement with maximum being 1000 and minimum being -1000 on a joystick and the thrust of a vehicle. Positive values are positive thrust, negative values are negative thrust.*/
int16_t r ; /*< R-axis, normalized to the range [-1000,1000]. A value of INT16_MAX indicates that this axis is invalid. Generally corresponds to a twisting of the joystick, with counter-clockwise being 1000 and clockwise being -1000, and the yaw of a vehicle.*/
uint16_t buttons ; /*< A bitfield corresponding to the joystick buttons' current state, 1 for pressed, 0 for released. The lowest bit corresponds to Button 1.*/
uint8_t target ; /*< The system to be controlled.*/
} ) mavlink_manual_control_t ;
# define MAVLINK_MSG_ID_MANUAL_CONTROL_LEN 11
# define MAVLINK_MSG_ID_MANUAL_CONTROL_MIN_LEN 11
# define MAVLINK_MSG_ID_69_LEN 11
# define MAVLINK_MSG_ID_69_MIN_LEN 11
2023-05-26 20:01:10 +08:00
2024-08-19 16:16:39 +08:00
# define MAVLINK_MSG_ID_MANUAL_CONTROL_CRC 243
# define MAVLINK_MSG_ID_69_CRC 243
2023-05-26 20:01:10 +08:00
2024-08-19 16:16:39 +08:00
# if MAVLINK_COMMAND_24BIT
2023-05-26 20:01:10 +08:00
# define MAVLINK_MESSAGE_INFO_MANUAL_CONTROL { \
2024-08-19 16:16:39 +08:00
69 , \
" MANUAL_CONTROL " , \
6 , \
{ { " target " , NULL , MAVLINK_TYPE_UINT8_T , 0 , 10 , offsetof ( mavlink_manual_control_t , target ) } , \
{ " x " , NULL , MAVLINK_TYPE_INT16_T , 0 , 0 , offsetof ( mavlink_manual_control_t , x ) } , \
{ " y " , NULL , MAVLINK_TYPE_INT16_T , 0 , 2 , offsetof ( mavlink_manual_control_t , y ) } , \
{ " z " , NULL , MAVLINK_TYPE_INT16_T , 0 , 4 , offsetof ( mavlink_manual_control_t , z ) } , \
{ " r " , NULL , MAVLINK_TYPE_INT16_T , 0 , 6 , offsetof ( mavlink_manual_control_t , r ) } , \
{ " buttons " , NULL , MAVLINK_TYPE_UINT16_T , 0 , 8 , offsetof ( mavlink_manual_control_t , buttons ) } , \
2023-05-26 20:01:10 +08:00
} \
}
2024-08-19 16:16:39 +08:00
# else
# define MAVLINK_MESSAGE_INFO_MANUAL_CONTROL { \
" MANUAL_CONTROL " , \
6 , \
{ { " target " , NULL , MAVLINK_TYPE_UINT8_T , 0 , 10 , offsetof ( mavlink_manual_control_t , target ) } , \
{ " x " , NULL , MAVLINK_TYPE_INT16_T , 0 , 0 , offsetof ( mavlink_manual_control_t , x ) } , \
{ " y " , NULL , MAVLINK_TYPE_INT16_T , 0 , 2 , offsetof ( mavlink_manual_control_t , y ) } , \
{ " z " , NULL , MAVLINK_TYPE_INT16_T , 0 , 4 , offsetof ( mavlink_manual_control_t , z ) } , \
{ " r " , NULL , MAVLINK_TYPE_INT16_T , 0 , 6 , offsetof ( mavlink_manual_control_t , r ) } , \
{ " buttons " , NULL , MAVLINK_TYPE_UINT16_T , 0 , 8 , offsetof ( mavlink_manual_control_t , buttons ) } , \
} \
}
# endif
2023-05-26 20:01:10 +08:00
/**
* @ brief Pack a manual_control 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
*
2024-08-19 16:16:39 +08:00
* @ param target The system to be controlled .
* @ param x X - axis , normalized to the range [ - 1000 , 1000 ] . A value of INT16_MAX indicates that this axis is invalid . Generally corresponds to forward ( 1000 ) - backward ( - 1000 ) movement on a joystick and the pitch of a vehicle .
* @ param y Y - axis , normalized to the range [ - 1000 , 1000 ] . A value of INT16_MAX indicates that this axis is invalid . Generally corresponds to left ( - 1000 ) - right ( 1000 ) movement on a joystick and the roll of a vehicle .
* @ param z Z - axis , normalized to the range [ - 1000 , 1000 ] . A value of INT16_MAX indicates that this axis is invalid . Generally corresponds to a separate slider movement with maximum being 1000 and minimum being - 1000 on a joystick and the thrust of a vehicle . Positive values are positive thrust , negative values are negative thrust .
* @ param r R - axis , normalized to the range [ - 1000 , 1000 ] . A value of INT16_MAX indicates that this axis is invalid . Generally corresponds to a twisting of the joystick , with counter - clockwise being 1000 and clockwise being - 1000 , and the yaw of a vehicle .
* @ param buttons A bitfield corresponding to the joystick buttons ' current state , 1 for pressed , 0 for released . The lowest bit corresponds to Button 1.
2023-05-26 20:01:10 +08:00
* @ return length of the message in bytes ( excluding serial stream start sign )
*/
static inline uint16_t mavlink_msg_manual_control_pack ( uint8_t system_id , uint8_t component_id , mavlink_message_t * msg ,
2024-08-19 16:16:39 +08:00
uint8_t target , int16_t x , int16_t y , int16_t z , int16_t r , uint16_t buttons )
2023-05-26 20:01:10 +08:00
{
# if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
2024-08-19 16:16:39 +08:00
char buf [ MAVLINK_MSG_ID_MANUAL_CONTROL_LEN ] ;
_mav_put_int16_t ( buf , 0 , x ) ;
_mav_put_int16_t ( buf , 2 , y ) ;
_mav_put_int16_t ( buf , 4 , z ) ;
_mav_put_int16_t ( buf , 6 , r ) ;
_mav_put_uint16_t ( buf , 8 , buttons ) ;
_mav_put_uint8_t ( buf , 10 , target ) ;
memcpy ( _MAV_PAYLOAD_NON_CONST ( msg ) , buf , MAVLINK_MSG_ID_MANUAL_CONTROL_LEN ) ;
2023-05-26 20:01:10 +08:00
# else
2024-08-19 16:16:39 +08:00
mavlink_manual_control_t packet ;
packet . x = x ;
packet . y = y ;
packet . z = z ;
packet . r = r ;
packet . buttons = buttons ;
packet . target = target ;
memcpy ( _MAV_PAYLOAD_NON_CONST ( msg ) , & packet , MAVLINK_MSG_ID_MANUAL_CONTROL_LEN ) ;
2023-05-26 20:01:10 +08:00
# endif
2024-08-19 16:16:39 +08:00
msg - > msgid = MAVLINK_MSG_ID_MANUAL_CONTROL ;
return mavlink_finalize_message ( msg , system_id , component_id , MAVLINK_MSG_ID_MANUAL_CONTROL_MIN_LEN , MAVLINK_MSG_ID_MANUAL_CONTROL_LEN , MAVLINK_MSG_ID_MANUAL_CONTROL_CRC ) ;
2023-05-26 20:01:10 +08:00
}
/**
* @ brief Pack a manual_control message on a channel
* @ param system_id ID of this system
* @ param component_id ID of this component ( e . g . 200 for IMU )
2024-08-19 16:16:39 +08:00
* @ param chan The MAVLink channel this message will be sent over
2023-05-26 20:01:10 +08:00
* @ param msg The MAVLink message to compress the data into
2024-08-19 16:16:39 +08:00
* @ param target The system to be controlled .
* @ param x X - axis , normalized to the range [ - 1000 , 1000 ] . A value of INT16_MAX indicates that this axis is invalid . Generally corresponds to forward ( 1000 ) - backward ( - 1000 ) movement on a joystick and the pitch of a vehicle .
* @ param y Y - axis , normalized to the range [ - 1000 , 1000 ] . A value of INT16_MAX indicates that this axis is invalid . Generally corresponds to left ( - 1000 ) - right ( 1000 ) movement on a joystick and the roll of a vehicle .
* @ param z Z - axis , normalized to the range [ - 1000 , 1000 ] . A value of INT16_MAX indicates that this axis is invalid . Generally corresponds to a separate slider movement with maximum being 1000 and minimum being - 1000 on a joystick and the thrust of a vehicle . Positive values are positive thrust , negative values are negative thrust .
* @ param r R - axis , normalized to the range [ - 1000 , 1000 ] . A value of INT16_MAX indicates that this axis is invalid . Generally corresponds to a twisting of the joystick , with counter - clockwise being 1000 and clockwise being - 1000 , and the yaw of a vehicle .
* @ param buttons A bitfield corresponding to the joystick buttons ' current state , 1 for pressed , 0 for released . The lowest bit corresponds to Button 1.
2023-05-26 20:01:10 +08:00
* @ return length of the message in bytes ( excluding serial stream start sign )
*/
static inline uint16_t mavlink_msg_manual_control_pack_chan ( uint8_t system_id , uint8_t component_id , uint8_t chan ,
2024-08-19 16:16:39 +08:00
mavlink_message_t * msg ,
uint8_t target , int16_t x , int16_t y , int16_t z , int16_t r , uint16_t buttons )
2023-05-26 20:01:10 +08:00
{
# if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
2024-08-19 16:16:39 +08:00
char buf [ MAVLINK_MSG_ID_MANUAL_CONTROL_LEN ] ;
_mav_put_int16_t ( buf , 0 , x ) ;
_mav_put_int16_t ( buf , 2 , y ) ;
_mav_put_int16_t ( buf , 4 , z ) ;
_mav_put_int16_t ( buf , 6 , r ) ;
_mav_put_uint16_t ( buf , 8 , buttons ) ;
_mav_put_uint8_t ( buf , 10 , target ) ;
memcpy ( _MAV_PAYLOAD_NON_CONST ( msg ) , buf , MAVLINK_MSG_ID_MANUAL_CONTROL_LEN ) ;
2023-05-26 20:01:10 +08:00
# else
2024-08-19 16:16:39 +08:00
mavlink_manual_control_t packet ;
packet . x = x ;
packet . y = y ;
packet . z = z ;
packet . r = r ;
packet . buttons = buttons ;
packet . target = target ;
memcpy ( _MAV_PAYLOAD_NON_CONST ( msg ) , & packet , MAVLINK_MSG_ID_MANUAL_CONTROL_LEN ) ;
2023-05-26 20:01:10 +08:00
# endif
2024-08-19 16:16:39 +08:00
msg - > msgid = MAVLINK_MSG_ID_MANUAL_CONTROL ;
return mavlink_finalize_message_chan ( msg , system_id , component_id , chan , MAVLINK_MSG_ID_MANUAL_CONTROL_MIN_LEN , MAVLINK_MSG_ID_MANUAL_CONTROL_LEN , MAVLINK_MSG_ID_MANUAL_CONTROL_CRC ) ;
2023-05-26 20:01:10 +08:00
}
/**
2024-08-19 16:16:39 +08:00
* @ brief Encode a manual_control struct
2023-05-26 20:01:10 +08:00
*
* @ 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 manual_control C - struct to read the message contents from
*/
static inline uint16_t mavlink_msg_manual_control_encode ( uint8_t system_id , uint8_t component_id , mavlink_message_t * msg , const mavlink_manual_control_t * manual_control )
{
2024-08-19 16:16:39 +08:00
return mavlink_msg_manual_control_pack ( system_id , component_id , msg , manual_control - > target , manual_control - > x , manual_control - > y , manual_control - > z , manual_control - > r , manual_control - > buttons ) ;
}
/**
* @ brief Encode a manual_control 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 manual_control C - struct to read the message contents from
*/
static inline uint16_t mavlink_msg_manual_control_encode_chan ( uint8_t system_id , uint8_t component_id , uint8_t chan , mavlink_message_t * msg , const mavlink_manual_control_t * manual_control )
{
return mavlink_msg_manual_control_pack_chan ( system_id , component_id , chan , msg , manual_control - > target , manual_control - > x , manual_control - > y , manual_control - > z , manual_control - > r , manual_control - > buttons ) ;
2023-05-26 20:01:10 +08:00
}
/**
* @ brief Send a manual_control message
* @ param chan MAVLink channel to send the message
*
2024-08-19 16:16:39 +08:00
* @ param target The system to be controlled .
* @ param x X - axis , normalized to the range [ - 1000 , 1000 ] . A value of INT16_MAX indicates that this axis is invalid . Generally corresponds to forward ( 1000 ) - backward ( - 1000 ) movement on a joystick and the pitch of a vehicle .
* @ param y Y - axis , normalized to the range [ - 1000 , 1000 ] . A value of INT16_MAX indicates that this axis is invalid . Generally corresponds to left ( - 1000 ) - right ( 1000 ) movement on a joystick and the roll of a vehicle .
* @ param z Z - axis , normalized to the range [ - 1000 , 1000 ] . A value of INT16_MAX indicates that this axis is invalid . Generally corresponds to a separate slider movement with maximum being 1000 and minimum being - 1000 on a joystick and the thrust of a vehicle . Positive values are positive thrust , negative values are negative thrust .
* @ param r R - axis , normalized to the range [ - 1000 , 1000 ] . A value of INT16_MAX indicates that this axis is invalid . Generally corresponds to a twisting of the joystick , with counter - clockwise being 1000 and clockwise being - 1000 , and the yaw of a vehicle .
* @ param buttons A bitfield corresponding to the joystick buttons ' current state , 1 for pressed , 0 for released . The lowest bit corresponds to Button 1.
2023-05-26 20:01:10 +08:00
*/
# ifdef MAVLINK_USE_CONVENIENCE_FUNCTIONS
2024-08-19 16:16:39 +08:00
static inline void mavlink_msg_manual_control_send ( mavlink_channel_t chan , uint8_t target , int16_t x , int16_t y , int16_t z , int16_t r , uint16_t buttons )
2023-05-26 20:01:10 +08:00
{
# if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
2024-08-19 16:16:39 +08:00
char buf [ MAVLINK_MSG_ID_MANUAL_CONTROL_LEN ] ;
_mav_put_int16_t ( buf , 0 , x ) ;
_mav_put_int16_t ( buf , 2 , y ) ;
_mav_put_int16_t ( buf , 4 , z ) ;
_mav_put_int16_t ( buf , 6 , r ) ;
_mav_put_uint16_t ( buf , 8 , buttons ) ;
_mav_put_uint8_t ( buf , 10 , target ) ;
_mav_finalize_message_chan_send ( chan , MAVLINK_MSG_ID_MANUAL_CONTROL , buf , MAVLINK_MSG_ID_MANUAL_CONTROL_MIN_LEN , MAVLINK_MSG_ID_MANUAL_CONTROL_LEN , MAVLINK_MSG_ID_MANUAL_CONTROL_CRC ) ;
2023-05-26 20:01:10 +08:00
# else
2024-08-19 16:16:39 +08:00
mavlink_manual_control_t packet ;
packet . x = x ;
packet . y = y ;
packet . z = z ;
packet . r = r ;
packet . buttons = buttons ;
packet . target = target ;
_mav_finalize_message_chan_send ( chan , MAVLINK_MSG_ID_MANUAL_CONTROL , ( const char * ) & packet , MAVLINK_MSG_ID_MANUAL_CONTROL_MIN_LEN , MAVLINK_MSG_ID_MANUAL_CONTROL_LEN , MAVLINK_MSG_ID_MANUAL_CONTROL_CRC ) ;
2023-05-26 20:01:10 +08:00
# endif
}
/**
2024-08-19 16:16:39 +08:00
* @ brief Send a manual_control message
* @ param chan MAVLink channel to send the message
* @ param struct The MAVLink struct to serialize
2023-05-26 20:01:10 +08:00
*/
2024-08-19 16:16:39 +08:00
static inline void mavlink_msg_manual_control_send_struct ( mavlink_channel_t chan , const mavlink_manual_control_t * manual_control )
2023-05-26 20:01:10 +08:00
{
2024-08-19 16:16:39 +08:00
# if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
mavlink_msg_manual_control_send ( chan , manual_control - > target , manual_control - > x , manual_control - > y , manual_control - > z , manual_control - > r , manual_control - > buttons ) ;
# else
_mav_finalize_message_chan_send ( chan , MAVLINK_MSG_ID_MANUAL_CONTROL , ( const char * ) manual_control , MAVLINK_MSG_ID_MANUAL_CONTROL_MIN_LEN , MAVLINK_MSG_ID_MANUAL_CONTROL_LEN , MAVLINK_MSG_ID_MANUAL_CONTROL_CRC ) ;
# endif
2023-05-26 20:01:10 +08:00
}
2024-08-19 16:16:39 +08:00
# if MAVLINK_MSG_ID_MANUAL_CONTROL_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 .
2023-05-26 20:01:10 +08:00
*/
2024-08-19 16:16:39 +08:00
static inline void mavlink_msg_manual_control_send_buf ( mavlink_message_t * msgbuf , mavlink_channel_t chan , uint8_t target , int16_t x , int16_t y , int16_t z , int16_t r , uint16_t buttons )
2023-05-26 20:01:10 +08:00
{
2024-08-19 16:16:39 +08:00
# if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
char * buf = ( char * ) msgbuf ;
_mav_put_int16_t ( buf , 0 , x ) ;
_mav_put_int16_t ( buf , 2 , y ) ;
_mav_put_int16_t ( buf , 4 , z ) ;
_mav_put_int16_t ( buf , 6 , r ) ;
_mav_put_uint16_t ( buf , 8 , buttons ) ;
_mav_put_uint8_t ( buf , 10 , target ) ;
_mav_finalize_message_chan_send ( chan , MAVLINK_MSG_ID_MANUAL_CONTROL , buf , MAVLINK_MSG_ID_MANUAL_CONTROL_MIN_LEN , MAVLINK_MSG_ID_MANUAL_CONTROL_LEN , MAVLINK_MSG_ID_MANUAL_CONTROL_CRC ) ;
# else
mavlink_manual_control_t * packet = ( mavlink_manual_control_t * ) msgbuf ;
packet - > x = x ;
packet - > y = y ;
packet - > z = z ;
packet - > r = r ;
packet - > buttons = buttons ;
packet - > target = target ;
_mav_finalize_message_chan_send ( chan , MAVLINK_MSG_ID_MANUAL_CONTROL , ( const char * ) packet , MAVLINK_MSG_ID_MANUAL_CONTROL_MIN_LEN , MAVLINK_MSG_ID_MANUAL_CONTROL_LEN , MAVLINK_MSG_ID_MANUAL_CONTROL_CRC ) ;
# endif
2023-05-26 20:01:10 +08:00
}
2024-08-19 16:16:39 +08:00
# endif
# endif
// MESSAGE MANUAL_CONTROL UNPACKING
2023-05-26 20:01:10 +08:00
/**
2024-08-19 16:16:39 +08:00
* @ brief Get field target from manual_control message
2023-05-26 20:01:10 +08:00
*
2024-08-19 16:16:39 +08:00
* @ return The system to be controlled .
2023-05-26 20:01:10 +08:00
*/
2024-08-19 16:16:39 +08:00
static inline uint8_t mavlink_msg_manual_control_get_target ( const mavlink_message_t * msg )
2023-05-26 20:01:10 +08:00
{
2024-08-19 16:16:39 +08:00
return _MAV_RETURN_uint8_t ( msg , 10 ) ;
2023-05-26 20:01:10 +08:00
}
/**
2024-08-19 16:16:39 +08:00
* @ brief Get field x from manual_control message
2023-05-26 20:01:10 +08:00
*
2024-08-19 16:16:39 +08:00
* @ return X - axis , normalized to the range [ - 1000 , 1000 ] . A value of INT16_MAX indicates that this axis is invalid . Generally corresponds to forward ( 1000 ) - backward ( - 1000 ) movement on a joystick and the pitch of a vehicle .
2023-05-26 20:01:10 +08:00
*/
2024-08-19 16:16:39 +08:00
static inline int16_t mavlink_msg_manual_control_get_x ( const mavlink_message_t * msg )
2023-05-26 20:01:10 +08:00
{
2024-08-19 16:16:39 +08:00
return _MAV_RETURN_int16_t ( msg , 0 ) ;
2023-05-26 20:01:10 +08:00
}
/**
2024-08-19 16:16:39 +08:00
* @ brief Get field y from manual_control message
2023-05-26 20:01:10 +08:00
*
2024-08-19 16:16:39 +08:00
* @ return Y - axis , normalized to the range [ - 1000 , 1000 ] . A value of INT16_MAX indicates that this axis is invalid . Generally corresponds to left ( - 1000 ) - right ( 1000 ) movement on a joystick and the roll of a vehicle .
2023-05-26 20:01:10 +08:00
*/
2024-08-19 16:16:39 +08:00
static inline int16_t mavlink_msg_manual_control_get_y ( const mavlink_message_t * msg )
2023-05-26 20:01:10 +08:00
{
2024-08-19 16:16:39 +08:00
return _MAV_RETURN_int16_t ( msg , 2 ) ;
2023-05-26 20:01:10 +08:00
}
/**
2024-08-19 16:16:39 +08:00
* @ brief Get field z from manual_control message
2023-05-26 20:01:10 +08:00
*
2024-08-19 16:16:39 +08:00
* @ return Z - axis , normalized to the range [ - 1000 , 1000 ] . A value of INT16_MAX indicates that this axis is invalid . Generally corresponds to a separate slider movement with maximum being 1000 and minimum being - 1000 on a joystick and the thrust of a vehicle . Positive values are positive thrust , negative values are negative thrust .
2023-05-26 20:01:10 +08:00
*/
2024-08-19 16:16:39 +08:00
static inline int16_t mavlink_msg_manual_control_get_z ( const mavlink_message_t * msg )
2023-05-26 20:01:10 +08:00
{
2024-08-19 16:16:39 +08:00
return _MAV_RETURN_int16_t ( msg , 4 ) ;
2023-05-26 20:01:10 +08:00
}
/**
2024-08-19 16:16:39 +08:00
* @ brief Get field r from manual_control message
2023-05-26 20:01:10 +08:00
*
2024-08-19 16:16:39 +08:00
* @ return R - axis , normalized to the range [ - 1000 , 1000 ] . A value of INT16_MAX indicates that this axis is invalid . Generally corresponds to a twisting of the joystick , with counter - clockwise being 1000 and clockwise being - 1000 , and the yaw of a vehicle .
2023-05-26 20:01:10 +08:00
*/
2024-08-19 16:16:39 +08:00
static inline int16_t mavlink_msg_manual_control_get_r ( const mavlink_message_t * msg )
2023-05-26 20:01:10 +08:00
{
2024-08-19 16:16:39 +08:00
return _MAV_RETURN_int16_t ( msg , 6 ) ;
2023-05-26 20:01:10 +08:00
}
/**
2024-08-19 16:16:39 +08:00
* @ brief Get field buttons from manual_control message
2023-05-26 20:01:10 +08:00
*
2024-08-19 16:16:39 +08:00
* @ return A bitfield corresponding to the joystick buttons ' current state , 1 for pressed , 0 for released . The lowest bit corresponds to Button 1.
2023-05-26 20:01:10 +08:00
*/
2024-08-19 16:16:39 +08:00
static inline uint16_t mavlink_msg_manual_control_get_buttons ( const mavlink_message_t * msg )
2023-05-26 20:01:10 +08:00
{
2024-08-19 16:16:39 +08:00
return _MAV_RETURN_uint16_t ( msg , 8 ) ;
2023-05-26 20:01:10 +08:00
}
/**
* @ brief Decode a manual_control message into a struct
*
* @ param msg The message to decode
* @ param manual_control C - struct to decode the message contents into
*/
static inline void mavlink_msg_manual_control_decode ( const mavlink_message_t * msg , mavlink_manual_control_t * manual_control )
{
2024-08-19 16:16:39 +08:00
# if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
manual_control - > x = mavlink_msg_manual_control_get_x ( msg ) ;
manual_control - > y = mavlink_msg_manual_control_get_y ( msg ) ;
manual_control - > z = mavlink_msg_manual_control_get_z ( msg ) ;
manual_control - > r = mavlink_msg_manual_control_get_r ( msg ) ;
manual_control - > buttons = mavlink_msg_manual_control_get_buttons ( msg ) ;
manual_control - > target = mavlink_msg_manual_control_get_target ( msg ) ;
2023-05-26 20:01:10 +08:00
# else
2024-08-19 16:16:39 +08:00
uint8_t len = msg - > len < MAVLINK_MSG_ID_MANUAL_CONTROL_LEN ? msg - > len : MAVLINK_MSG_ID_MANUAL_CONTROL_LEN ;
memset ( manual_control , 0 , MAVLINK_MSG_ID_MANUAL_CONTROL_LEN ) ;
memcpy ( manual_control , _MAV_PAYLOAD ( msg ) , len ) ;
2023-05-26 20:01:10 +08:00
# endif
}