mirror of https://github.com/ArduPilot/ardupilot
67 lines
1.8 KiB
C++
67 lines
1.8 KiB
C++
#include <stdint.h>
|
|
|
|
#pragma once
|
|
|
|
namespace MSP
|
|
{
|
|
// src/main/msp/msp_protocol_v2_sensor_msg.h
|
|
typedef struct PACKED {
|
|
uint8_t quality; // [0;255]
|
|
int32_t distance_mm; // Negative value for out of range
|
|
} msp_rangefinder_data_message_t;
|
|
|
|
typedef struct PACKED {
|
|
uint8_t quality; // [0;255]
|
|
int32_t motion_x;
|
|
int32_t motion_y;
|
|
} msp_opflow_data_message_t;
|
|
|
|
typedef struct PACKED {
|
|
uint8_t instance; // sensor instance number to support multi-sensor setups
|
|
uint16_t gps_week; // GPS week, 0xFFFF if not available
|
|
uint32_t ms_tow;
|
|
uint8_t fix_type;
|
|
uint8_t satellites_in_view;
|
|
uint16_t horizontal_pos_accuracy; // [cm]
|
|
uint16_t vertical_pos_accuracy; // [cm]
|
|
uint16_t horizontal_vel_accuracy; // [cm/s]
|
|
uint16_t hdop;
|
|
int32_t longitude;
|
|
int32_t latitude;
|
|
int32_t msl_altitude; // cm
|
|
int32_t ned_vel_north; // cm/s
|
|
int32_t ned_vel_east;
|
|
int32_t ned_vel_down;
|
|
uint16_t ground_course; // deg * 100, 0..36000
|
|
uint16_t true_yaw; // deg * 100, values of 0..36000 are valid. 65535 = no data available
|
|
uint16_t year;
|
|
uint8_t month;
|
|
uint8_t day;
|
|
uint8_t hour;
|
|
uint8_t min;
|
|
uint8_t sec;
|
|
} msp_gps_data_message_t;
|
|
|
|
typedef struct PACKED {
|
|
uint8_t instance;
|
|
uint32_t time_ms;
|
|
float pressure_pa;
|
|
int16_t temp; // centi-degrees C
|
|
} msp_baro_data_message_t;
|
|
|
|
typedef struct PACKED {
|
|
uint8_t instance;
|
|
uint32_t time_ms;
|
|
int16_t magX; // mGauss, front
|
|
int16_t magY; // mGauss, right
|
|
int16_t magZ; // mGauss, down
|
|
} msp_compass_data_message_t;
|
|
|
|
typedef struct PACKED {
|
|
uint8_t instance;
|
|
uint32_t time_ms;
|
|
float pressure;
|
|
int16_t temp; // centi-degrees C
|
|
} msp_airspeed_data_message_t;
|
|
}
|