You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
64 lines
1.8 KiB
64 lines
1.8 KiB
#include <stdint.h> |
|
|
|
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; |
|
}
|
|
|