PX4 Firmware
PX4 Autopilot Software http://px4.io
estimator_status.h
Go to the documentation of this file.
1 /****************************************************************************
2  *
3  * Copyright (C) 2013-2016 PX4 Development Team. All rights reserved.
4  *
5  * Redistribution and use in source and binary forms, with or without
6  * modification, are permitted provided that the following conditions
7  * are met:
8  *
9  * 1. Redistributions of source code must retain the above copyright
10  * notice, this list of conditions and the following disclaimer.
11  * 2. Redistributions in binary form must reproduce the above copyright
12  * notice, this list of conditions and the following disclaimer in
13  * the documentation and/or other materials provided with the
14  * distribution.
15  * 3. Neither the name PX4 nor the names of its contributors may be
16  * used to endorse or promote products derived from this software
17  * without specific prior written permission.
18  *
19  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
20  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
21  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
22  * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
23  * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
24  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
25  * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
26  * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
27  * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
28  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
29  * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
30  * POSSIBILITY OF SUCH DAMAGE.
31  *
32  ****************************************************************************/
33 
34 /* Auto-generated by genmsg_cpp from file estimator_status.msg */
35 
36 
37 #pragma once
38 
39 
40 #include <uORB/uORB.h>
41 
42 
43 #ifndef __cplusplus
44 #define ESTIMATOR_STATUS_GPS_CHECK_FAIL_GPS_FIX 0
45 #define ESTIMATOR_STATUS_GPS_CHECK_FAIL_MIN_SAT_COUNT 1
46 #define ESTIMATOR_STATUS_GPS_CHECK_FAIL_MIN_PDOP 2
47 #define ESTIMATOR_STATUS_GPS_CHECK_FAIL_MAX_HORZ_ERR 3
48 #define ESTIMATOR_STATUS_GPS_CHECK_FAIL_MAX_VERT_ERR 4
49 #define ESTIMATOR_STATUS_GPS_CHECK_FAIL_MAX_SPD_ERR 5
50 #define ESTIMATOR_STATUS_GPS_CHECK_FAIL_MAX_HORZ_DRIFT 6
51 #define ESTIMATOR_STATUS_GPS_CHECK_FAIL_MAX_VERT_DRIFT 7
52 #define ESTIMATOR_STATUS_GPS_CHECK_FAIL_MAX_HORZ_SPD_ERR 8
53 #define ESTIMATOR_STATUS_GPS_CHECK_FAIL_MAX_VERT_SPD_ERR 9
54 #define ESTIMATOR_STATUS_CS_TILT_ALIGN 0
55 #define ESTIMATOR_STATUS_CS_YAW_ALIGN 1
56 #define ESTIMATOR_STATUS_CS_GPS 2
57 #define ESTIMATOR_STATUS_CS_OPT_FLOW 3
58 #define ESTIMATOR_STATUS_CS_MAG_HDG 4
59 #define ESTIMATOR_STATUS_CS_MAG_3D 5
60 #define ESTIMATOR_STATUS_CS_MAG_DEC 6
61 #define ESTIMATOR_STATUS_CS_IN_AIR 7
62 #define ESTIMATOR_STATUS_CS_WIND 8
63 #define ESTIMATOR_STATUS_CS_BARO_HGT 9
64 #define ESTIMATOR_STATUS_CS_RNG_HGT 10
65 #define ESTIMATOR_STATUS_CS_GPS_HGT 11
66 #define ESTIMATOR_STATUS_CS_EV_POS 12
67 #define ESTIMATOR_STATUS_CS_EV_YAW 13
68 #define ESTIMATOR_STATUS_CS_EV_HGT 14
69 #define ESTIMATOR_STATUS_CS_BETA 15
70 #define ESTIMATOR_STATUS_CS_MAG_FIELD 16
71 #define ESTIMATOR_STATUS_CS_FIXED_WING 17
72 #define ESTIMATOR_STATUS_CS_MAG_FAULT 18
73 #define ESTIMATOR_STATUS_CS_ASPD 19
74 #define ESTIMATOR_STATUS_CS_GND_EFFECT 20
75 #define ESTIMATOR_STATUS_CS_RNG_STUCK 21
76 #define ESTIMATOR_STATUS_CS_GPS_YAW 22
77 #define ESTIMATOR_STATUS_CS_MAG_ALIGNED 23
78 
79 #endif
80 
81 
82 #ifdef __cplusplus
84 #else
86 #endif
87  uint64_t timestamp;
88  float states[24];
89  float vibe[3];
90  float covariances[24];
101  float time_slip;
106  uint8_t n_states;
112  uint8_t health_flags;
113  uint8_t timeout_flags;
114 
115 
116 #ifdef __cplusplus
117  static constexpr uint8_t GPS_CHECK_FAIL_GPS_FIX = 0;
118  static constexpr uint8_t GPS_CHECK_FAIL_MIN_SAT_COUNT = 1;
119  static constexpr uint8_t GPS_CHECK_FAIL_MIN_PDOP = 2;
120  static constexpr uint8_t GPS_CHECK_FAIL_MAX_HORZ_ERR = 3;
121  static constexpr uint8_t GPS_CHECK_FAIL_MAX_VERT_ERR = 4;
122  static constexpr uint8_t GPS_CHECK_FAIL_MAX_SPD_ERR = 5;
123  static constexpr uint8_t GPS_CHECK_FAIL_MAX_HORZ_DRIFT = 6;
124  static constexpr uint8_t GPS_CHECK_FAIL_MAX_VERT_DRIFT = 7;
125  static constexpr uint8_t GPS_CHECK_FAIL_MAX_HORZ_SPD_ERR = 8;
126  static constexpr uint8_t GPS_CHECK_FAIL_MAX_VERT_SPD_ERR = 9;
127  static constexpr uint8_t CS_TILT_ALIGN = 0;
128  static constexpr uint8_t CS_YAW_ALIGN = 1;
129  static constexpr uint8_t CS_GPS = 2;
130  static constexpr uint8_t CS_OPT_FLOW = 3;
131  static constexpr uint8_t CS_MAG_HDG = 4;
132  static constexpr uint8_t CS_MAG_3D = 5;
133  static constexpr uint8_t CS_MAG_DEC = 6;
134  static constexpr uint8_t CS_IN_AIR = 7;
135  static constexpr uint8_t CS_WIND = 8;
136  static constexpr uint8_t CS_BARO_HGT = 9;
137  static constexpr uint8_t CS_RNG_HGT = 10;
138  static constexpr uint8_t CS_GPS_HGT = 11;
139  static constexpr uint8_t CS_EV_POS = 12;
140  static constexpr uint8_t CS_EV_YAW = 13;
141  static constexpr uint8_t CS_EV_HGT = 14;
142  static constexpr uint8_t CS_BETA = 15;
143  static constexpr uint8_t CS_MAG_FIELD = 16;
144  static constexpr uint8_t CS_FIXED_WING = 17;
145  static constexpr uint8_t CS_MAG_FAULT = 18;
146  static constexpr uint8_t CS_ASPD = 19;
147  static constexpr uint8_t CS_GND_EFFECT = 20;
148  static constexpr uint8_t CS_RNG_STUCK = 21;
149  static constexpr uint8_t CS_GPS_YAW = 22;
150  static constexpr uint8_t CS_MAG_ALIGNED = 23;
151 
152 #endif
153 };
154 
155 /* register this as object request broker structure */
156 ORB_DECLARE(estimator_status);
157 
158 
159 #ifdef __cplusplus
160 void print_message(const estimator_status_s& message);
161 #endif
API for the uORB lightweight object broker.
Definition: I2C.hpp:51
ORB_DECLARE(estimator_status)
uint16_t solution_status_flags
uint16_t innovation_check_flags