PX4 Firmware
PX4 Autopilot Software http://px4.io
telemetry_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 telemetry_status.msg */
35 
36 
37 #pragma once
38 
39 
40 #include <uORB/uORB.h>
41 
42 
43 #ifndef __cplusplus
44 #define TELEMETRY_STATUS_LINK_TYPE_GENERIC 0
45 #define TELEMETRY_STATUS_LINK_TYPE_3DR_RADIO 1
46 #define TELEMETRY_STATUS_LINK_TYPE_UBIQUITY_BULLET 2
47 #define TELEMETRY_STATUS_LINK_TYPE_WIRE 3
48 #define TELEMETRY_STATUS_LINK_TYPE_USB 4
49 #define TELEMETRY_STATUS_LINK_TYPE_IRIDIUM 5
50 #define TELEMETRY_STATUS_COMPONENT_ID_ALL 0
51 #define TELEMETRY_STATUS_COMPONENT_ID_AUTOPILOT1 1
52 #define TELEMETRY_STATUS_COMPONENT_ID_CAMERA 100
53 #define TELEMETRY_STATUS_COMPONENT_ID_OBSTACLE_AVOIDANCE 196
54 #define TELEMETRY_STATUS_MAV_TYPE_GENERIC 0
55 #define TELEMETRY_STATUS_MAV_TYPE_GCS 6
56 #define TELEMETRY_STATUS_MAV_TYPE_ONBOARD_CONTROLLER 18
57 #define TELEMETRY_STATUS_MAV_STATE_UNINIT 0
58 #define TELEMETRY_STATUS_MAV_STATE_BOOT 1
59 #define TELEMETRY_STATUS_MAV_STATE_CALIBRATING 2
60 #define TELEMETRY_STATUS_MAV_STATE_STANDBY 3
61 #define TELEMETRY_STATUS_MAV_STATE_ACTIVE 4
62 #define TELEMETRY_STATUS_MAV_STATE_CRITICAL 5
63 #define TELEMETRY_STATUS_MAV_STATE_EMERGENCY 6
64 #define TELEMETRY_STATUS_MAV_STATE_POWEROFF 7
65 #define TELEMETRY_STATUS_MAV_STATE_FLIGHT_TERMINATION 8
66 #define TELEMETRY_STATUS_ORB_QUEUE_LENGTH 3
67 
68 #endif
69 
70 
71 #ifdef __cplusplus
73 #else
75 #endif
76  uint64_t timestamp;
77  uint64_t heartbeat_time;
78  float data_rate;
80  float rate_rx;
81  float rate_tx;
82  float rate_txerr;
85  uint8_t remote_type;
87  uint8_t type;
88  uint8_t mode;
90  bool forwarding;
91  bool mavlink_v2;
92  bool ftp;
93  uint8_t streams;
94  uint8_t _padding0[1]; // required for logger
95 
96 
97 #ifdef __cplusplus
98  static constexpr uint8_t LINK_TYPE_GENERIC = 0;
99  static constexpr uint8_t LINK_TYPE_3DR_RADIO = 1;
100  static constexpr uint8_t LINK_TYPE_UBIQUITY_BULLET = 2;
101  static constexpr uint8_t LINK_TYPE_WIRE = 3;
102  static constexpr uint8_t LINK_TYPE_USB = 4;
103  static constexpr uint8_t LINK_TYPE_IRIDIUM = 5;
104  static constexpr uint8_t COMPONENT_ID_ALL = 0;
105  static constexpr uint8_t COMPONENT_ID_AUTOPILOT1 = 1;
106  static constexpr uint8_t COMPONENT_ID_CAMERA = 100;
107  static constexpr uint8_t COMPONENT_ID_OBSTACLE_AVOIDANCE = 196;
108  static constexpr uint8_t MAV_TYPE_GENERIC = 0;
109  static constexpr uint8_t MAV_TYPE_GCS = 6;
110  static constexpr uint8_t MAV_TYPE_ONBOARD_CONTROLLER = 18;
111  static constexpr uint8_t MAV_STATE_UNINIT = 0;
112  static constexpr uint8_t MAV_STATE_BOOT = 1;
113  static constexpr uint8_t MAV_STATE_CALIBRATING = 2;
114  static constexpr uint8_t MAV_STATE_STANDBY = 3;
115  static constexpr uint8_t MAV_STATE_ACTIVE = 4;
116  static constexpr uint8_t MAV_STATE_CRITICAL = 5;
117  static constexpr uint8_t MAV_STATE_EMERGENCY = 6;
118  static constexpr uint8_t MAV_STATE_POWEROFF = 7;
119  static constexpr uint8_t MAV_STATE_FLIGHT_TERMINATION = 8;
120  static constexpr uint8_t ORB_QUEUE_LENGTH = 3;
121 
122 #endif
123 };
124 
125 /* register this as object request broker structure */
126 ORB_DECLARE(telemetry_status);
127 
128 
129 #ifdef __cplusplus
130 void print_message(const telemetry_status_s& message);
131 #endif
API for the uORB lightweight object broker.
Definition: I2C.hpp:51
ORB_DECLARE(telemetry_status)