NinjaFlight
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
protocol.h File Reference
#include "string.h"
#include "mavlink_types.h"
#include "mavlink_helpers.h"
Include dependency graph for protocol.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define MAVLINK_NEED_BYTE_SWAP   (MAVLINK_ENDIAN != MAVLINK_LITTLE_ENDIAN)
 
#define MAVLINK_STACK_BUFFER   0
 
#define MAVLINK_AVOID_GCC_STACK_BUG   defined(__GNUC__)
 
#define MAVLINK_ASSERT(x)
 
#define MAVLINK_START_UART_SEND(chan, length)
 
#define MAVLINK_END_UART_SEND(chan, length)
 
#define MAVLINK_HELPER   static inline
 
#define _mav_put_uint8_t(buf, wire_offset, b)   buf[wire_offset] = (uint8_t)b
 
#define _mav_put_int8_t(buf, wire_offset, b)   buf[wire_offset] = (int8_t)b
 
#define _mav_put_char(buf, wire_offset, b)   buf[wire_offset] = b
 
#define _mav_put_uint16_t(buf, wire_offset, b)   byte_swap_2(&buf[wire_offset], (const char *)&b)
 
#define _mav_put_int16_t(buf, wire_offset, b)   byte_swap_2(&buf[wire_offset], (const char *)&b)
 
#define _mav_put_uint32_t(buf, wire_offset, b)   byte_swap_4(&buf[wire_offset], (const char *)&b)
 
#define _mav_put_int32_t(buf, wire_offset, b)   byte_swap_4(&buf[wire_offset], (const char *)&b)
 
#define _mav_put_uint64_t(buf, wire_offset, b)   byte_swap_8(&buf[wire_offset], (const char *)&b)
 
#define _mav_put_int64_t(buf, wire_offset, b)   byte_swap_8(&buf[wire_offset], (const char *)&b)
 
#define _mav_put_float(buf, wire_offset, b)   byte_swap_4(&buf[wire_offset], (const char *)&b)
 
#define _mav_put_double(buf, wire_offset, b)   byte_swap_8(&buf[wire_offset], (const char *)&b)
 
#define _MAV_PUT_ARRAY(TYPE, V)
 
#define _MAV_RETURN_char(msg, wire_offset)   (const char)_MAV_PAYLOAD(msg)[wire_offset]
 
#define _MAV_RETURN_int8_t(msg, wire_offset)   (const int8_t)_MAV_PAYLOAD(msg)[wire_offset]
 
#define _MAV_RETURN_uint8_t(msg, wire_offset)   (const uint8_t)_MAV_PAYLOAD(msg)[wire_offset]
 
#define _MAV_MSG_RETURN_TYPE(TYPE, SIZE)
 
#define _MAV_RETURN_ARRAY(TYPE, V)
 

Macro Definition Documentation

#define _MAV_MSG_RETURN_TYPE (   TYPE,
  SIZE 
)
Value:
static inline TYPE _MAV_RETURN_## TYPE(const mavlink_message_t *msg, uint8_t ofs) \
{ TYPE r; byte_swap_## SIZE((char*)&r, &_MAV_PAYLOAD(msg)[ofs]); return r; }
#define _MAV_PUT_ARRAY (   TYPE,
 
)
Value:
static inline void _mav_put_ ## TYPE ##_array(char *buf, uint8_t wire_offset, const TYPE *b, uint8_t array_length) \
{ \
if (b == NULL) { \
memset(&buf[wire_offset], 0, array_length*sizeof(TYPE)); \
} else { \
uint16_t i; \
for (i=0; i<array_length; i++) { \
_mav_put_## TYPE (buf, wire_offset+(i*sizeof(TYPE)), b[i]); \
} \
} \
}
#define _mav_put_char (   buf,
  wire_offset,
 
)    buf[wire_offset] = b
#define _mav_put_double (   buf,
  wire_offset,
 
)    byte_swap_8(&buf[wire_offset], (const char *)&b)
#define _mav_put_float (   buf,
  wire_offset,
 
)    byte_swap_4(&buf[wire_offset], (const char *)&b)
#define _mav_put_int16_t (   buf,
  wire_offset,
 
)    byte_swap_2(&buf[wire_offset], (const char *)&b)
#define _mav_put_int32_t (   buf,
  wire_offset,
 
)    byte_swap_4(&buf[wire_offset], (const char *)&b)
#define _mav_put_int64_t (   buf,
  wire_offset,
 
)    byte_swap_8(&buf[wire_offset], (const char *)&b)
#define _mav_put_int8_t (   buf,
  wire_offset,
 
)    buf[wire_offset] = (int8_t)b
#define _mav_put_uint16_t (   buf,
  wire_offset,
 
)    byte_swap_2(&buf[wire_offset], (const char *)&b)
#define _mav_put_uint32_t (   buf,
  wire_offset,
 
)    byte_swap_4(&buf[wire_offset], (const char *)&b)
#define _mav_put_uint64_t (   buf,
  wire_offset,
 
)    byte_swap_8(&buf[wire_offset], (const char *)&b)
#define _mav_put_uint8_t (   buf,
  wire_offset,
 
)    buf[wire_offset] = (uint8_t)b
#define _MAV_RETURN_ARRAY (   TYPE,
 
)
Value:
static inline uint16_t _MAV_RETURN_## TYPE ##_array(const mavlink_message_t *msg, TYPE *value, \
uint8_t array_length, uint8_t wire_offset) \
{ \
uint16_t i; \
for (i=0; i<array_length; i++) { \
value[i] = _MAV_RETURN_## TYPE (msg, wire_offset+(i*sizeof(value[0]))); \
} \
return array_length*sizeof(value[0]); \
}
#define _MAV_RETURN_char (   msg,
  wire_offset 
)    (const char)_MAV_PAYLOAD(msg)[wire_offset]
#define _MAV_RETURN_int8_t (   msg,
  wire_offset 
)    (const int8_t)_MAV_PAYLOAD(msg)[wire_offset]
#define _MAV_RETURN_uint8_t (   msg,
  wire_offset 
)    (const uint8_t)_MAV_PAYLOAD(msg)[wire_offset]
#define MAVLINK_ASSERT (   x)
#define MAVLINK_AVOID_GCC_STACK_BUG   defined(__GNUC__)
#define MAVLINK_END_UART_SEND (   chan,
  length 
)
#define MAVLINK_HELPER   static inline
#define MAVLINK_NEED_BYTE_SWAP   (MAVLINK_ENDIAN != MAVLINK_LITTLE_ENDIAN)
#define MAVLINK_STACK_BUFFER   0
#define MAVLINK_START_UART_SEND (   chan,
  length 
)