@jawji/orchestrator 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +181 -0
- package/dist/adapters/mavsdk-adapter.d.ts +4 -0
- package/dist/adapters/mavsdk-adapter.d.ts.map +1 -0
- package/dist/adapters/mavsdk-adapter.js +51 -0
- package/dist/adapters/mavsdk-adapter.js.map +1 -0
- package/dist/adapters/vlm-client.d.ts +3 -0
- package/dist/adapters/vlm-client.d.ts.map +1 -0
- package/dist/adapters/vlm-client.js +19 -0
- package/dist/adapters/vlm-client.js.map +1 -0
- package/dist/grpc/mavsdk-client.d.ts +8 -0
- package/dist/grpc/mavsdk-client.d.ts.map +1 -0
- package/dist/grpc/mavsdk-client.js +34 -0
- package/dist/grpc/mavsdk-client.js.map +1 -0
- package/dist/index.d.ts +14 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +8 -0
- package/dist/index.js.map +1 -0
- package/dist/modes/landing-zone-check.d.ts +3 -0
- package/dist/modes/landing-zone-check.d.ts.map +1 -0
- package/dist/modes/landing-zone-check.js +52 -0
- package/dist/modes/landing-zone-check.js.map +1 -0
- package/dist/modes/vision-assist-mode.d.ts +8 -0
- package/dist/modes/vision-assist-mode.d.ts.map +1 -0
- package/dist/modes/vision-assist-mode.js +2 -0
- package/dist/modes/vision-assist-mode.js.map +1 -0
- package/dist/orchestrator.d.ts +13 -0
- package/dist/orchestrator.d.ts.map +1 -0
- package/dist/orchestrator.js +106 -0
- package/dist/orchestrator.js.map +1 -0
- package/dist/server/status-server.d.ts +23 -0
- package/dist/server/status-server.d.ts.map +1 -0
- package/dist/server/status-server.js +35 -0
- package/dist/server/status-server.js.map +1 -0
- package/dist/types.d.ts +55 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/dist/vlm/miril-client.d.ts +12 -0
- package/dist/vlm/miril-client.d.ts.map +1 -0
- package/dist/vlm/miril-client.js +45 -0
- package/dist/vlm/miril-client.js.map +1 -0
- package/package.json +47 -0
- package/proto/action/action.proto +368 -0
- package/proto/mavsdk_options.proto +23 -0
- package/proto/mission/mission.proto +285 -0
- package/proto/telemetry/telemetry.proto +897 -0
|
@@ -0,0 +1,897 @@
|
|
|
1
|
+
syntax = "proto3";
|
|
2
|
+
|
|
3
|
+
package mavsdk.rpc.telemetry;
|
|
4
|
+
|
|
5
|
+
import "mavsdk_options.proto";
|
|
6
|
+
|
|
7
|
+
option java_package = "io.mavsdk.telemetry";
|
|
8
|
+
option java_outer_classname = "TelemetryProto";
|
|
9
|
+
|
|
10
|
+
/*
|
|
11
|
+
* Allow users to get vehicle telemetry and state information
|
|
12
|
+
* (e.g. battery, GPS, RC connection, flight mode etc.) and set telemetry update rates.
|
|
13
|
+
* Certain Telemetry Topics such as, Position or Velocity_Ned require GPS Fix before data gets published.
|
|
14
|
+
*/
|
|
15
|
+
service TelemetryService {
|
|
16
|
+
// Subscribe to 'position' updates.
|
|
17
|
+
rpc SubscribePosition(SubscribePositionRequest) returns(stream PositionResponse) {}
|
|
18
|
+
// Subscribe to 'home position' updates.
|
|
19
|
+
rpc SubscribeHome(SubscribeHomeRequest) returns(stream HomeResponse) {}
|
|
20
|
+
// Subscribe to in-air updates.
|
|
21
|
+
rpc SubscribeInAir(SubscribeInAirRequest) returns(stream InAirResponse) {}
|
|
22
|
+
// Subscribe to landed state updates
|
|
23
|
+
rpc SubscribeLandedState(SubscribeLandedStateRequest) returns(stream LandedStateResponse) {}
|
|
24
|
+
// Subscribe to armed updates.
|
|
25
|
+
rpc SubscribeArmed(SubscribeArmedRequest) returns(stream ArmedResponse) {}
|
|
26
|
+
// subscribe to vtol state Updates
|
|
27
|
+
rpc SubscribeVtolState(SubscribeVtolStateRequest) returns(stream VtolStateResponse) {}
|
|
28
|
+
// Subscribe to 'attitude' updates (quaternion).
|
|
29
|
+
rpc SubscribeAttitudeQuaternion(SubscribeAttitudeQuaternionRequest) returns(stream AttitudeQuaternionResponse) {}
|
|
30
|
+
// Subscribe to 'attitude' updates (Euler).
|
|
31
|
+
rpc SubscribeAttitudeEuler(SubscribeAttitudeEulerRequest) returns(stream AttitudeEulerResponse) {}
|
|
32
|
+
// Subscribe to 'attitude' updates (angular velocity)
|
|
33
|
+
rpc SubscribeAttitudeAngularVelocityBody(SubscribeAttitudeAngularVelocityBodyRequest) returns(stream AttitudeAngularVelocityBodyResponse) {}
|
|
34
|
+
// Subscribe to 'ground speed' updates (NED).
|
|
35
|
+
rpc SubscribeVelocityNed(SubscribeVelocityNedRequest) returns(stream VelocityNedResponse) {}
|
|
36
|
+
// Subscribe to 'GPS info' updates.
|
|
37
|
+
rpc SubscribeGpsInfo(SubscribeGpsInfoRequest) returns(stream GpsInfoResponse) {}
|
|
38
|
+
// Subscribe to 'Raw GPS' updates.
|
|
39
|
+
rpc SubscribeRawGps(SubscribeRawGpsRequest) returns(stream RawGpsResponse) {}
|
|
40
|
+
// Subscribe to 'battery' updates.
|
|
41
|
+
rpc SubscribeBattery(SubscribeBatteryRequest) returns(stream BatteryResponse) {}
|
|
42
|
+
// Subscribe to 'flight mode' updates.
|
|
43
|
+
rpc SubscribeFlightMode(SubscribeFlightModeRequest) returns(stream FlightModeResponse) {}
|
|
44
|
+
// Subscribe to 'health' updates.
|
|
45
|
+
rpc SubscribeHealth(SubscribeHealthRequest) returns(stream HealthResponse) {}
|
|
46
|
+
// Subscribe to 'RC status' updates.
|
|
47
|
+
rpc SubscribeRcStatus(SubscribeRcStatusRequest) returns(stream RcStatusResponse) {}
|
|
48
|
+
// Subscribe to 'status text' updates.
|
|
49
|
+
rpc SubscribeStatusText(SubscribeStatusTextRequest) returns(stream StatusTextResponse) {}
|
|
50
|
+
// Subscribe to 'actuator control target' updates.
|
|
51
|
+
rpc SubscribeActuatorControlTarget(SubscribeActuatorControlTargetRequest) returns(stream ActuatorControlTargetResponse) {}
|
|
52
|
+
// Subscribe to 'actuator output status' updates.
|
|
53
|
+
rpc SubscribeActuatorOutputStatus(SubscribeActuatorOutputStatusRequest) returns(stream ActuatorOutputStatusResponse) {}
|
|
54
|
+
// Subscribe to 'odometry' updates.
|
|
55
|
+
rpc SubscribeOdometry(SubscribeOdometryRequest) returns(stream OdometryResponse) {}
|
|
56
|
+
// Subscribe to 'position velocity' updates.
|
|
57
|
+
rpc SubscribePositionVelocityNed(SubscribePositionVelocityNedRequest) returns(stream PositionVelocityNedResponse) {}
|
|
58
|
+
// Subscribe to 'ground truth' updates.
|
|
59
|
+
rpc SubscribeGroundTruth(SubscribeGroundTruthRequest) returns(stream GroundTruthResponse) {}
|
|
60
|
+
// Subscribe to 'fixedwing metrics' updates.
|
|
61
|
+
rpc SubscribeFixedwingMetrics(SubscribeFixedwingMetricsRequest) returns(stream FixedwingMetricsResponse) {}
|
|
62
|
+
// Subscribe to 'IMU' updates (in SI units in NED body frame).
|
|
63
|
+
rpc SubscribeImu(SubscribeImuRequest) returns(stream ImuResponse) {}
|
|
64
|
+
// Subscribe to 'Scaled IMU' updates.
|
|
65
|
+
rpc SubscribeScaledImu(SubscribeScaledImuRequest) returns(stream ScaledImuResponse) {}
|
|
66
|
+
// Subscribe to 'Raw IMU' updates (note that units are are incorrect and "raw" as provided by the sensor)
|
|
67
|
+
rpc SubscribeRawImu(SubscribeRawImuRequest) returns(stream RawImuResponse) {}
|
|
68
|
+
// Subscribe to 'HealthAllOk' updates.
|
|
69
|
+
rpc SubscribeHealthAllOk(SubscribeHealthAllOkRequest) returns(stream HealthAllOkResponse) {}
|
|
70
|
+
// Subscribe to 'unix epoch time' updates.
|
|
71
|
+
rpc SubscribeUnixEpochTime(SubscribeUnixEpochTimeRequest) returns(stream UnixEpochTimeResponse) {}
|
|
72
|
+
// Subscribe to 'Distance Sensor' updates.
|
|
73
|
+
rpc SubscribeDistanceSensor(SubscribeDistanceSensorRequest) returns(stream DistanceSensorResponse) {}
|
|
74
|
+
// Subscribe to 'Scaled Pressure' updates.
|
|
75
|
+
rpc SubscribeScaledPressure(SubscribeScaledPressureRequest) returns(stream ScaledPressureResponse) {}
|
|
76
|
+
// Subscribe to 'Heading' updates.
|
|
77
|
+
rpc SubscribeHeading(SubscribeHeadingRequest) returns(stream HeadingResponse) {}
|
|
78
|
+
// Subscribe to 'Altitude' updates.
|
|
79
|
+
rpc SubscribeAltitude(SubscribeAltitudeRequest) returns(stream AltitudeResponse){}
|
|
80
|
+
// Subscribe to 'Wind Estimated' updates.
|
|
81
|
+
rpc SubscribeWind(SubscribeWindRequest) returns(stream WindResponse){}
|
|
82
|
+
|
|
83
|
+
// Set rate to 'position' updates.
|
|
84
|
+
rpc SetRatePosition(SetRatePositionRequest) returns(SetRatePositionResponse) {}
|
|
85
|
+
// Set rate to 'home position' updates.
|
|
86
|
+
rpc SetRateHome(SetRateHomeRequest) returns(SetRateHomeResponse) {}
|
|
87
|
+
// Set rate to in-air updates.
|
|
88
|
+
rpc SetRateInAir(SetRateInAirRequest) returns(SetRateInAirResponse) {}
|
|
89
|
+
// Set rate to landed state updates
|
|
90
|
+
rpc SetRateLandedState(SetRateLandedStateRequest) returns(SetRateLandedStateResponse) {}
|
|
91
|
+
// Set rate to VTOL state updates
|
|
92
|
+
rpc SetRateVtolState(SetRateVtolStateRequest) returns(SetRateVtolStateResponse) {}
|
|
93
|
+
// Set rate to 'attitude euler angle' updates.
|
|
94
|
+
rpc SetRateAttitudeQuaternion(SetRateAttitudeQuaternionRequest) returns(SetRateAttitudeQuaternionResponse) {}
|
|
95
|
+
// Set rate to 'attitude quaternion' updates.
|
|
96
|
+
rpc SetRateAttitudeEuler(SetRateAttitudeEulerRequest) returns(SetRateAttitudeEulerResponse) {}
|
|
97
|
+
// Set rate of camera attitude updates.
|
|
98
|
+
// Set rate to 'ground speed' updates (NED).
|
|
99
|
+
rpc SetRateVelocityNed(SetRateVelocityNedRequest) returns(SetRateVelocityNedResponse) {}
|
|
100
|
+
// Set rate to 'GPS info' updates.
|
|
101
|
+
rpc SetRateGpsInfo(SetRateGpsInfoRequest) returns(SetRateGpsInfoResponse) {}
|
|
102
|
+
// Set rate to 'Raw GPS' updates.
|
|
103
|
+
rpc SetRateRawGps(SetRateRawGpsRequest) returns(SetRateRawGpsResponse) {}
|
|
104
|
+
// Set rate to 'battery' updates.
|
|
105
|
+
rpc SetRateBattery(SetRateBatteryRequest) returns(SetRateBatteryResponse) {}
|
|
106
|
+
// Set rate to 'RC status' updates.
|
|
107
|
+
rpc SetRateRcStatus(SetRateRcStatusRequest) returns(SetRateRcStatusResponse) {}
|
|
108
|
+
// Set rate to 'actuator control target' updates.
|
|
109
|
+
rpc SetRateActuatorControlTarget(SetRateActuatorControlTargetRequest) returns(SetRateActuatorControlTargetResponse) {}
|
|
110
|
+
// Set rate to 'actuator output status' updates.
|
|
111
|
+
rpc SetRateActuatorOutputStatus(SetRateActuatorOutputStatusRequest) returns(SetRateActuatorOutputStatusResponse) {}
|
|
112
|
+
// Set rate to 'odometry' updates.
|
|
113
|
+
rpc SetRateOdometry(SetRateOdometryRequest) returns(SetRateOdometryResponse) {}
|
|
114
|
+
// Set rate to 'position velocity' updates.
|
|
115
|
+
rpc SetRatePositionVelocityNed(SetRatePositionVelocityNedRequest) returns(SetRatePositionVelocityNedResponse) {}
|
|
116
|
+
// Set rate to 'ground truth' updates.
|
|
117
|
+
rpc SetRateGroundTruth(SetRateGroundTruthRequest) returns(SetRateGroundTruthResponse) {}
|
|
118
|
+
// Set rate to 'fixedwing metrics' updates.
|
|
119
|
+
rpc SetRateFixedwingMetrics(SetRateFixedwingMetricsRequest) returns(SetRateFixedwingMetricsResponse) {}
|
|
120
|
+
// Set rate to 'IMU' updates.
|
|
121
|
+
rpc SetRateImu(SetRateImuRequest) returns(SetRateImuResponse) {}
|
|
122
|
+
// Set rate to 'Scaled IMU' updates.
|
|
123
|
+
rpc SetRateScaledImu(SetRateScaledImuRequest) returns(SetRateScaledImuResponse) {}
|
|
124
|
+
// Set rate to 'Raw IMU' updates.
|
|
125
|
+
rpc SetRateRawImu(SetRateRawImuRequest) returns(SetRateRawImuResponse) {}
|
|
126
|
+
// Set rate to 'unix epoch time' updates.
|
|
127
|
+
rpc SetRateUnixEpochTime(SetRateUnixEpochTimeRequest) returns(SetRateUnixEpochTimeResponse) {}
|
|
128
|
+
// Set rate to 'Distance Sensor' updates.
|
|
129
|
+
rpc SetRateDistanceSensor(SetRateDistanceSensorRequest) returns(SetRateDistanceSensorResponse) {}
|
|
130
|
+
// Set rate to 'Altitude' updates.
|
|
131
|
+
rpc SetRateAltitude(SetRateAltitudeRequest) returns(SetRateAltitudeResponse){}
|
|
132
|
+
// Set rate to 'Health' updates.
|
|
133
|
+
rpc SetRateHealth(SetRateHealthRequest) returns(SetRateHealthResponse){}
|
|
134
|
+
|
|
135
|
+
// Get the GPS location of where the estimator has been initialized.
|
|
136
|
+
rpc GetGpsGlobalOrigin(GetGpsGlobalOriginRequest) returns(GetGpsGlobalOriginResponse) {}
|
|
137
|
+
|
|
138
|
+
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
message SubscribePositionRequest {}
|
|
142
|
+
message PositionResponse {
|
|
143
|
+
Position position = 1; // The next position
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
message SubscribeHomeRequest {}
|
|
147
|
+
message HomeResponse {
|
|
148
|
+
HomePosition home = 1; // The next home position
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
message SubscribeInAirRequest {}
|
|
152
|
+
message InAirResponse {
|
|
153
|
+
bool is_in_air = 1; // The next 'in-air' state
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
message SubscribeLandedStateRequest {}
|
|
157
|
+
message LandedStateResponse {
|
|
158
|
+
LandedState landed_state = 1; // The next 'landed' state
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
message SubscribeArmedRequest {}
|
|
162
|
+
message ArmedResponse {
|
|
163
|
+
bool is_armed = 1; // The next 'armed' state
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
message SubscribeVtolStateRequest {}
|
|
167
|
+
message VtolStateResponse {
|
|
168
|
+
VtolState vtol_state = 1; // The next 'vtol' state
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
message SubscribeAttitudeQuaternionRequest {}
|
|
172
|
+
message AttitudeQuaternionResponse {
|
|
173
|
+
Quaternion attitude_quaternion = 1; // The next attitude (quaternion)
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
message SubscribeAttitudeEulerRequest {}
|
|
177
|
+
message AttitudeEulerResponse {
|
|
178
|
+
EulerAngle attitude_euler = 1; // The next attitude (Euler)
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
message SubscribeAttitudeAngularVelocityBodyRequest {}
|
|
182
|
+
message AttitudeAngularVelocityBodyResponse {
|
|
183
|
+
AngularVelocityBody attitude_angular_velocity_body = 1; // The next angular velocity (rad/s)
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
message SubscribeVelocityNedRequest {}
|
|
187
|
+
message VelocityNedResponse {
|
|
188
|
+
VelocityNed velocity_ned = 1; // The next velocity (NED)
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
message SubscribeGpsInfoRequest {}
|
|
192
|
+
message GpsInfoResponse {
|
|
193
|
+
GpsInfo gps_info = 1; // The next 'GPS info' state
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
message SubscribeRawGpsRequest {}
|
|
197
|
+
message RawGpsResponse {
|
|
198
|
+
RawGps raw_gps = 1; // The next 'Raw GPS' state. Warning: this is an advanced feature, use `Position` updates to get the location of the drone!
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
message SubscribeBatteryRequest {}
|
|
202
|
+
message BatteryResponse {
|
|
203
|
+
Battery battery = 1; // The next 'battery' state
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
message SubscribeFlightModeRequest {}
|
|
207
|
+
message FlightModeResponse {
|
|
208
|
+
FlightMode flight_mode = 1; // The next flight mode
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
message SubscribeHealthRequest {}
|
|
212
|
+
message HealthResponse {
|
|
213
|
+
Health health = 1; // The next 'health' state
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
message SubscribeRcStatusRequest {}
|
|
217
|
+
message RcStatusResponse {
|
|
218
|
+
RcStatus rc_status = 1; // The next RC status
|
|
219
|
+
}
|
|
220
|
+
|
|
221
|
+
message SubscribeStatusTextRequest {}
|
|
222
|
+
message StatusTextResponse {
|
|
223
|
+
StatusText status_text = 1; // The next 'status text'
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
message SubscribeActuatorControlTargetRequest {}
|
|
227
|
+
message ActuatorControlTargetResponse {
|
|
228
|
+
ActuatorControlTarget actuator_control_target = 1; // The next actuator control target
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
message SubscribeActuatorOutputStatusRequest {}
|
|
232
|
+
message ActuatorOutputStatusResponse {
|
|
233
|
+
ActuatorOutputStatus actuator_output_status = 1; // The next actuator output status
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
message SubscribeOdometryRequest {}
|
|
237
|
+
message OdometryResponse {
|
|
238
|
+
Odometry odometry = 1; // The next odometry status
|
|
239
|
+
}
|
|
240
|
+
|
|
241
|
+
message SubscribePositionVelocityNedRequest {}
|
|
242
|
+
message PositionVelocityNedResponse {
|
|
243
|
+
PositionVelocityNed position_velocity_ned = 1; // The next position and velocity status
|
|
244
|
+
}
|
|
245
|
+
|
|
246
|
+
message SubscribeGroundTruthRequest {}
|
|
247
|
+
message GroundTruthResponse {
|
|
248
|
+
GroundTruth ground_truth = 1; // Ground truth position information available in simulation
|
|
249
|
+
}
|
|
250
|
+
|
|
251
|
+
message SubscribeFixedwingMetricsRequest {}
|
|
252
|
+
message FixedwingMetricsResponse {
|
|
253
|
+
FixedwingMetrics fixedwing_metrics = 1; // The next fixedwing metrics
|
|
254
|
+
}
|
|
255
|
+
|
|
256
|
+
message SubscribeImuRequest {}
|
|
257
|
+
message ImuResponse {
|
|
258
|
+
Imu imu = 1; // The next IMU status
|
|
259
|
+
}
|
|
260
|
+
|
|
261
|
+
message SubscribeScaledImuRequest {}
|
|
262
|
+
message ScaledImuResponse {
|
|
263
|
+
Imu imu = 1; // The next scaled IMU status
|
|
264
|
+
}
|
|
265
|
+
|
|
266
|
+
message SubscribeRawImuRequest {}
|
|
267
|
+
message RawImuResponse {
|
|
268
|
+
Imu imu = 1; // The next raw IMU status
|
|
269
|
+
}
|
|
270
|
+
|
|
271
|
+
message SubscribeHealthAllOkRequest {}
|
|
272
|
+
message HealthAllOkResponse {
|
|
273
|
+
bool is_health_all_ok = 1; // The next 'health all ok' status
|
|
274
|
+
}
|
|
275
|
+
|
|
276
|
+
message SubscribeUnixEpochTimeRequest {}
|
|
277
|
+
message UnixEpochTimeResponse {
|
|
278
|
+
uint64 time_us = 1; // The next 'unix epoch time' status
|
|
279
|
+
}
|
|
280
|
+
|
|
281
|
+
message SubscribeDistanceSensorRequest {}
|
|
282
|
+
message DistanceSensorResponse {
|
|
283
|
+
DistanceSensor distance_sensor = 1; // The next Distance Sensor status
|
|
284
|
+
}
|
|
285
|
+
|
|
286
|
+
message SubscribeScaledPressureRequest {}
|
|
287
|
+
message ScaledPressureResponse {
|
|
288
|
+
ScaledPressure scaled_pressure = 1; // The next Scaled Pressure status
|
|
289
|
+
}
|
|
290
|
+
|
|
291
|
+
message SubscribeHeadingRequest {}
|
|
292
|
+
message HeadingResponse {
|
|
293
|
+
Heading heading_deg = 1; // The next heading (yaw) in degrees
|
|
294
|
+
}
|
|
295
|
+
|
|
296
|
+
message SubscribeAltitudeRequest {}
|
|
297
|
+
message AltitudeResponse {
|
|
298
|
+
Altitude altitude = 1; // The next altitude
|
|
299
|
+
}
|
|
300
|
+
|
|
301
|
+
message SubscribeWindRequest {}
|
|
302
|
+
message WindResponse {
|
|
303
|
+
Wind wind = 1; // The next wind
|
|
304
|
+
}
|
|
305
|
+
|
|
306
|
+
message SetRatePositionRequest {
|
|
307
|
+
double rate_hz = 1; // The requested rate (in Hertz)
|
|
308
|
+
}
|
|
309
|
+
message SetRatePositionResponse {
|
|
310
|
+
TelemetryResult telemetry_result = 1;
|
|
311
|
+
}
|
|
312
|
+
|
|
313
|
+
message SetRateHomeRequest {
|
|
314
|
+
double rate_hz = 1; // The requested rate (in Hertz)
|
|
315
|
+
}
|
|
316
|
+
message SetRateHomeResponse {
|
|
317
|
+
TelemetryResult telemetry_result = 1;
|
|
318
|
+
}
|
|
319
|
+
|
|
320
|
+
message SetRateInAirRequest {
|
|
321
|
+
double rate_hz = 1; // The requested rate (in Hertz)
|
|
322
|
+
}
|
|
323
|
+
message SetRateInAirResponse {
|
|
324
|
+
TelemetryResult telemetry_result = 1;
|
|
325
|
+
}
|
|
326
|
+
|
|
327
|
+
message SetRateLandedStateRequest {
|
|
328
|
+
double rate_hz = 1; // The requested rate (in Hertz)
|
|
329
|
+
}
|
|
330
|
+
message SetRateLandedStateResponse {
|
|
331
|
+
TelemetryResult telemetry_result = 1;
|
|
332
|
+
}
|
|
333
|
+
|
|
334
|
+
message SetRateVtolStateRequest {
|
|
335
|
+
double rate_hz = 1; // The requested rate (in Hertz)
|
|
336
|
+
}
|
|
337
|
+
message SetRateVtolStateResponse {
|
|
338
|
+
TelemetryResult telemetry_result = 1;
|
|
339
|
+
}
|
|
340
|
+
|
|
341
|
+
message SetRateAttitudeEulerRequest {
|
|
342
|
+
double rate_hz = 1; // The requested rate (in Hertz)
|
|
343
|
+
}
|
|
344
|
+
message SetRateAttitudeEulerResponse {
|
|
345
|
+
TelemetryResult telemetry_result = 1;
|
|
346
|
+
}
|
|
347
|
+
|
|
348
|
+
message SetRateAttitudeQuaternionRequest {
|
|
349
|
+
double rate_hz = 1; // The requested rate (in Hertz)
|
|
350
|
+
}
|
|
351
|
+
message SetRateAttitudeQuaternionResponse {
|
|
352
|
+
TelemetryResult telemetry_result = 1;
|
|
353
|
+
}
|
|
354
|
+
|
|
355
|
+
message SetRateAttitudeAngularVelocityBodyRequest {
|
|
356
|
+
double rate_hz = 1; // The requested rate (in Hertz)
|
|
357
|
+
}
|
|
358
|
+
message SetRateAttitudeAngularVelocityBodyResponse {
|
|
359
|
+
TelemetryResult telemetry_result = 1;
|
|
360
|
+
}
|
|
361
|
+
|
|
362
|
+
message SetRateVelocityNedRequest {
|
|
363
|
+
double rate_hz = 1; // The requested rate (in Hertz)
|
|
364
|
+
}
|
|
365
|
+
message SetRateVelocityNedResponse {
|
|
366
|
+
TelemetryResult telemetry_result = 1;
|
|
367
|
+
}
|
|
368
|
+
|
|
369
|
+
message SetRateGpsInfoRequest {
|
|
370
|
+
double rate_hz = 1; // The requested rate (in Hertz)
|
|
371
|
+
}
|
|
372
|
+
message SetRateGpsInfoResponse {
|
|
373
|
+
TelemetryResult telemetry_result = 1;
|
|
374
|
+
}
|
|
375
|
+
|
|
376
|
+
message SetRateRawGpsRequest {
|
|
377
|
+
double rate_hz = 1; // The requested rate (in Hertz)
|
|
378
|
+
}
|
|
379
|
+
message SetRateRawGpsResponse {
|
|
380
|
+
TelemetryResult telemetry_result = 1;
|
|
381
|
+
}
|
|
382
|
+
|
|
383
|
+
message SetRateBatteryRequest {
|
|
384
|
+
double rate_hz = 1; // The requested rate (in Hertz)
|
|
385
|
+
}
|
|
386
|
+
message SetRateBatteryResponse {
|
|
387
|
+
TelemetryResult telemetry_result = 1;
|
|
388
|
+
}
|
|
389
|
+
|
|
390
|
+
message SetRateRcStatusRequest {
|
|
391
|
+
double rate_hz = 1; // The requested rate (in Hertz)
|
|
392
|
+
}
|
|
393
|
+
message SetRateRcStatusResponse {
|
|
394
|
+
TelemetryResult telemetry_result = 1;
|
|
395
|
+
}
|
|
396
|
+
|
|
397
|
+
message SetRateActuatorControlTargetRequest {
|
|
398
|
+
double rate_hz = 1; // The requested rate (in Hertz)
|
|
399
|
+
}
|
|
400
|
+
message SetRateActuatorControlTargetResponse {
|
|
401
|
+
TelemetryResult telemetry_result = 1;
|
|
402
|
+
}
|
|
403
|
+
|
|
404
|
+
message SetRateActuatorOutputStatusRequest {
|
|
405
|
+
double rate_hz = 1; // The requested rate (in Hertz)
|
|
406
|
+
}
|
|
407
|
+
message SetRateActuatorOutputStatusResponse {
|
|
408
|
+
TelemetryResult telemetry_result = 1;
|
|
409
|
+
}
|
|
410
|
+
|
|
411
|
+
message SetRateOdometryRequest {
|
|
412
|
+
double rate_hz = 1; // The requested rate (in Hertz)
|
|
413
|
+
}
|
|
414
|
+
message SetRateOdometryResponse {
|
|
415
|
+
TelemetryResult telemetry_result = 1;
|
|
416
|
+
}
|
|
417
|
+
|
|
418
|
+
message SetRatePositionVelocityNedRequest {
|
|
419
|
+
double rate_hz = 1; // The requested rate (in Hertz)
|
|
420
|
+
}
|
|
421
|
+
message SetRatePositionVelocityNedResponse {
|
|
422
|
+
TelemetryResult telemetry_result = 1;
|
|
423
|
+
}
|
|
424
|
+
|
|
425
|
+
message SetRateGroundTruthRequest {
|
|
426
|
+
double rate_hz = 1; // The requested rate (in Hertz)
|
|
427
|
+
}
|
|
428
|
+
message SetRateGroundTruthResponse {
|
|
429
|
+
TelemetryResult telemetry_result = 1;
|
|
430
|
+
}
|
|
431
|
+
|
|
432
|
+
message SetRateFixedwingMetricsRequest {
|
|
433
|
+
double rate_hz = 1; // The requested rate (in Hertz)
|
|
434
|
+
}
|
|
435
|
+
message SetRateFixedwingMetricsResponse {
|
|
436
|
+
TelemetryResult telemetry_result = 1;
|
|
437
|
+
}
|
|
438
|
+
|
|
439
|
+
message SetRateImuRequest {
|
|
440
|
+
double rate_hz = 1; // The requested rate (in Hertz)
|
|
441
|
+
}
|
|
442
|
+
message SetRateImuResponse {
|
|
443
|
+
TelemetryResult telemetry_result = 1;
|
|
444
|
+
}
|
|
445
|
+
|
|
446
|
+
message SetRateScaledImuRequest {
|
|
447
|
+
double rate_hz = 1; // The requested rate (in Hertz)
|
|
448
|
+
}
|
|
449
|
+
message SetRateScaledImuResponse {
|
|
450
|
+
TelemetryResult telemetry_result = 1;
|
|
451
|
+
}
|
|
452
|
+
|
|
453
|
+
message SetRateRawImuRequest {
|
|
454
|
+
double rate_hz = 1; // The requested rate (in Hertz)
|
|
455
|
+
}
|
|
456
|
+
message SetRateRawImuResponse {
|
|
457
|
+
TelemetryResult telemetry_result = 1;
|
|
458
|
+
}
|
|
459
|
+
|
|
460
|
+
message SetRateUnixEpochTimeRequest {
|
|
461
|
+
double rate_hz = 1; // The requested rate (in Hertz)
|
|
462
|
+
}
|
|
463
|
+
message SetRateUnixEpochTimeResponse {
|
|
464
|
+
TelemetryResult telemetry_result = 1;
|
|
465
|
+
}
|
|
466
|
+
|
|
467
|
+
message SetRateDistanceSensorRequest {
|
|
468
|
+
double rate_hz = 1; // The requested rate (in Hertz)
|
|
469
|
+
}
|
|
470
|
+
message SetRateDistanceSensorResponse {
|
|
471
|
+
TelemetryResult telemetry_result = 1;
|
|
472
|
+
}
|
|
473
|
+
|
|
474
|
+
message GetGpsGlobalOriginRequest {}
|
|
475
|
+
message GetGpsGlobalOriginResponse {
|
|
476
|
+
TelemetryResult telemetry_result = 1;
|
|
477
|
+
GpsGlobalOrigin gps_global_origin = 2;
|
|
478
|
+
}
|
|
479
|
+
|
|
480
|
+
message SetRateAltitudeRequest {
|
|
481
|
+
double rate_hz = 1; // The requested rate (in Hertz)
|
|
482
|
+
}
|
|
483
|
+
message SetRateAltitudeResponse {
|
|
484
|
+
TelemetryResult telemetry_result = 1;
|
|
485
|
+
}
|
|
486
|
+
|
|
487
|
+
message SetRateHealthRequest {
|
|
488
|
+
double rate_hz = 1; // The requested rate (in Hertz)
|
|
489
|
+
}
|
|
490
|
+
message SetRateHealthResponse {
|
|
491
|
+
TelemetryResult telemetry_result = 1;
|
|
492
|
+
}
|
|
493
|
+
|
|
494
|
+
// Position type in global coordinates.
|
|
495
|
+
message Position {
|
|
496
|
+
double latitude_deg = 1 [(mavsdk.options.default_value)="NaN"]; // Latitude in degrees (range: -90 to +90)
|
|
497
|
+
double longitude_deg = 2 [(mavsdk.options.default_value)="NaN"]; // Longitude in degrees (range: -180 to +180)
|
|
498
|
+
float absolute_altitude_m = 3 [(mavsdk.options.default_value)="NaN"]; // Altitude AMSL (above mean sea level) in metres
|
|
499
|
+
float relative_altitude_m = 4 [(mavsdk.options.default_value)="NaN"]; // Altitude relative to takeoff altitude in metres
|
|
500
|
+
}
|
|
501
|
+
|
|
502
|
+
// Heading type used for global position
|
|
503
|
+
message Heading {
|
|
504
|
+
double heading_deg = 1 [(mavsdk.options.default_value)="NaN"]; // Heading in degrees (range: 0 to +360)
|
|
505
|
+
}
|
|
506
|
+
|
|
507
|
+
/*
|
|
508
|
+
* Quaternion type.
|
|
509
|
+
*
|
|
510
|
+
* All rotations and axis systems follow the right-hand rule.
|
|
511
|
+
* The Hamilton quaternion product definition is used.
|
|
512
|
+
* A zero-rotation quaternion is represented by (1,0,0,0).
|
|
513
|
+
* The quaternion could also be written as w + xi + yj + zk.
|
|
514
|
+
*
|
|
515
|
+
* For more info see: https://en.wikipedia.org/wiki/Quaternion
|
|
516
|
+
*/
|
|
517
|
+
message Quaternion {
|
|
518
|
+
float w = 1 [(mavsdk.options.default_value)="NaN"]; // Quaternion entry 0, also denoted as a
|
|
519
|
+
float x = 2 [(mavsdk.options.default_value)="NaN"]; // Quaternion entry 1, also denoted as b
|
|
520
|
+
float y = 3 [(mavsdk.options.default_value)="NaN"]; // Quaternion entry 2, also denoted as c
|
|
521
|
+
float z = 4 [(mavsdk.options.default_value)="NaN"]; // Quaternion entry 3, also denoted as d
|
|
522
|
+
uint64 timestamp_us = 5; // Timestamp in microseconds
|
|
523
|
+
}
|
|
524
|
+
|
|
525
|
+
/*
|
|
526
|
+
* Home position type.
|
|
527
|
+
*
|
|
528
|
+
* Includes the global GPS position, local NED position, surface quaternion,
|
|
529
|
+
* and approach vector from the MAVLink HOME_POSITION message.
|
|
530
|
+
*/
|
|
531
|
+
message HomePosition {
|
|
532
|
+
uint64 timestamp_us = 1; // Timestamp (UNIX Epoch or since system boot) in microseconds
|
|
533
|
+
double latitude_deg = 2 [(mavsdk.options.default_value)="NaN"]; // Latitude in degrees (range: -90 to +90)
|
|
534
|
+
double longitude_deg = 3 [(mavsdk.options.default_value)="NaN"]; // Longitude in degrees (range: -180 to +180)
|
|
535
|
+
float absolute_altitude_m = 4 [(mavsdk.options.default_value)="NaN"]; // Altitude AMSL (above mean sea level) in metres
|
|
536
|
+
float relative_altitude_m = 5 [(mavsdk.options.default_value)="NaN"]; // Altitude relative to takeoff altitude in metres
|
|
537
|
+
float local_north_m = 6 [(mavsdk.options.default_value)="NaN"]; // Local North position in NED frame (m)
|
|
538
|
+
float local_east_m = 7 [(mavsdk.options.default_value)="NaN"]; // Local East position in NED frame (m)
|
|
539
|
+
float local_down_m = 8 [(mavsdk.options.default_value)="NaN"]; // Local Down position in NED frame (m, positive down)
|
|
540
|
+
Quaternion q = 9; // Surface quaternion (world-to-surface-normal and heading)
|
|
541
|
+
float approach_north_m = 10 [(mavsdk.options.default_value)="NaN"]; // Local North position of the approach vector end in NED frame (m)
|
|
542
|
+
float approach_east_m = 11 [(mavsdk.options.default_value)="NaN"]; // Local East position of the approach vector end in NED frame (m)
|
|
543
|
+
float approach_down_m = 12 [(mavsdk.options.default_value)="NaN"]; // Local Down position of the approach vector end in NED frame (m)
|
|
544
|
+
}
|
|
545
|
+
|
|
546
|
+
/*
|
|
547
|
+
* Euler angle type.
|
|
548
|
+
*
|
|
549
|
+
* All rotations and axis systems follow the right-hand rule.
|
|
550
|
+
* The Euler angles follow the convention of a 3-2-1 intrinsic Tait-Bryan rotation sequence.
|
|
551
|
+
*
|
|
552
|
+
* For more info see https://en.wikipedia.org/wiki/Euler_angles
|
|
553
|
+
*/
|
|
554
|
+
message EulerAngle {
|
|
555
|
+
float roll_deg = 1 [(mavsdk.options.default_value)="NaN"]; // Roll angle in degrees, positive is banking to the right
|
|
556
|
+
float pitch_deg = 2 [(mavsdk.options.default_value)="NaN"]; // Pitch angle in degrees, positive is pitching nose up
|
|
557
|
+
float yaw_deg = 3 [(mavsdk.options.default_value)="NaN"]; // Yaw angle in degrees, positive is clock-wise seen from above
|
|
558
|
+
uint64 timestamp_us = 4; // Timestamp in microseconds
|
|
559
|
+
}
|
|
560
|
+
|
|
561
|
+
// Angular velocity type.
|
|
562
|
+
message AngularVelocityBody {
|
|
563
|
+
float roll_rad_s = 1 [(mavsdk.options.default_value)="NaN"]; // Roll angular velocity
|
|
564
|
+
float pitch_rad_s = 2 [(mavsdk.options.default_value)="NaN"]; // Pitch angular velocity
|
|
565
|
+
float yaw_rad_s = 3 [(mavsdk.options.default_value)="NaN"]; // Yaw angular velocity
|
|
566
|
+
}
|
|
567
|
+
|
|
568
|
+
// GPS information type.
|
|
569
|
+
message GpsInfo {
|
|
570
|
+
int32 num_satellites = 1 [(mavsdk.options.default_value)="0"]; // Number of visible satellites in use
|
|
571
|
+
FixType fix_type = 2; // Fix type
|
|
572
|
+
}
|
|
573
|
+
|
|
574
|
+
/*
|
|
575
|
+
* Raw GPS information type.
|
|
576
|
+
*
|
|
577
|
+
* Warning: this is an advanced type! If you want the location of the drone, use
|
|
578
|
+
* the position instead. This message exposes the raw values of the GNSS sensor.
|
|
579
|
+
*/
|
|
580
|
+
message RawGps {
|
|
581
|
+
uint64 timestamp_us = 1; // Timestamp in microseconds (UNIX Epoch time or time since system boot, to be inferred)
|
|
582
|
+
double latitude_deg = 2; // Latitude in degrees (WGS84, EGM96 ellipsoid)
|
|
583
|
+
double longitude_deg = 3; // Longitude in degrees (WGS84, EGM96 ellipsoid)
|
|
584
|
+
float absolute_altitude_m = 4; // Altitude AMSL (above mean sea level) in metres
|
|
585
|
+
float hdop = 5; // GPS HDOP horizontal dilution of position (unitless). If unknown, set to NaN
|
|
586
|
+
float vdop = 6; // GPS VDOP vertical dilution of position (unitless). If unknown, set to NaN
|
|
587
|
+
float velocity_m_s = 7; // Ground velocity in metres per second
|
|
588
|
+
float cog_deg = 8; // Course over ground (NOT heading, but direction of movement) in degrees. If unknown, set to NaN
|
|
589
|
+
float altitude_ellipsoid_m = 9; // Altitude in metres (above WGS84, EGM96 ellipsoid)
|
|
590
|
+
float horizontal_uncertainty_m = 10; // Position uncertainty in metres
|
|
591
|
+
float vertical_uncertainty_m = 11; // Altitude uncertainty in metres
|
|
592
|
+
float velocity_uncertainty_m_s = 12; // Velocity uncertainty in metres per second
|
|
593
|
+
float heading_uncertainty_deg = 13; // Heading uncertainty in degrees
|
|
594
|
+
float yaw_deg = 14; // Yaw in earth frame from north.
|
|
595
|
+
}
|
|
596
|
+
|
|
597
|
+
// GPS fix type.
|
|
598
|
+
enum FixType {
|
|
599
|
+
FIX_TYPE_NO_GPS = 0; // No GPS connected
|
|
600
|
+
FIX_TYPE_NO_FIX = 1; // No position information, GPS is connected
|
|
601
|
+
FIX_TYPE_FIX_2D = 2; // 2D position
|
|
602
|
+
FIX_TYPE_FIX_3D = 3; // 3D position
|
|
603
|
+
FIX_TYPE_FIX_DGPS = 4; // DGPS/SBAS aided 3D position
|
|
604
|
+
FIX_TYPE_RTK_FLOAT = 5; // RTK float, 3D position
|
|
605
|
+
FIX_TYPE_RTK_FIXED = 6; // RTK Fixed, 3D position
|
|
606
|
+
}
|
|
607
|
+
|
|
608
|
+
// Battery function type.
|
|
609
|
+
enum BatteryFunction {
|
|
610
|
+
BATTERY_FUNCTION_UNKNOWN = 0; // Battery function is unknown
|
|
611
|
+
BATTERY_FUNCTION_ALL = 1; // Battery supports all flight systems
|
|
612
|
+
BATTERY_FUNCTION_PROPULSION = 2; // Battery for the propulsion system
|
|
613
|
+
BATTERY_FUNCTION_AVIONICS = 3; // Avionics battery
|
|
614
|
+
BATTERY_FUNCTION_PAYLOAD = 4; // Payload battery
|
|
615
|
+
|
|
616
|
+
}
|
|
617
|
+
|
|
618
|
+
// Battery type.
|
|
619
|
+
message Battery {
|
|
620
|
+
uint32 id = 1 [(mavsdk.options.default_value)="0"]; // Battery ID, for systems with multiple batteries
|
|
621
|
+
float temperature_degc = 2 [(mavsdk.options.default_value)="NaN"]; // Temperature of the battery in degrees Celsius. NAN for unknown temperature
|
|
622
|
+
float voltage_v = 3 [(mavsdk.options.default_value)="NaN"]; // Voltage in volts
|
|
623
|
+
float current_battery_a = 4 [(mavsdk.options.default_value)="NaN"]; // Battery current in Amps, NAN if autopilot does not measure the current
|
|
624
|
+
float capacity_consumed_ah = 5 [(mavsdk.options.default_value)="NaN"]; // Consumed charge in Amp hours, NAN if autopilot does not provide consumption estimate
|
|
625
|
+
float remaining_percent = 6 [(mavsdk.options.default_value)="NaN"]; // Estimated battery remaining (range: 0 to 100)
|
|
626
|
+
float time_remaining_s = 7 [(mavsdk.options.default_value)="NaN"]; // Estimated battery usage time remaining
|
|
627
|
+
BatteryFunction battery_function = 8; // Function of the battery
|
|
628
|
+
}
|
|
629
|
+
|
|
630
|
+
/*
|
|
631
|
+
* Flight modes.
|
|
632
|
+
*
|
|
633
|
+
* For more information about flight modes, check out
|
|
634
|
+
* https://docs.px4.io/master/en/config/flight_mode.html.
|
|
635
|
+
*/
|
|
636
|
+
enum FlightMode {
|
|
637
|
+
FLIGHT_MODE_UNKNOWN = 0; // Mode not known
|
|
638
|
+
FLIGHT_MODE_READY = 1; // Armed and ready to take off
|
|
639
|
+
FLIGHT_MODE_TAKEOFF = 2; // Taking off
|
|
640
|
+
FLIGHT_MODE_HOLD = 3; // Holding (hovering in place (or circling for fixed-wing vehicles)
|
|
641
|
+
FLIGHT_MODE_MISSION = 4; // In mission
|
|
642
|
+
FLIGHT_MODE_RETURN_TO_LAUNCH = 5; // Returning to launch position (then landing)
|
|
643
|
+
FLIGHT_MODE_LAND = 6; // Landing
|
|
644
|
+
FLIGHT_MODE_OFFBOARD = 7; // In 'offboard' mode
|
|
645
|
+
FLIGHT_MODE_FOLLOW_ME = 8; // In 'follow-me' mode
|
|
646
|
+
FLIGHT_MODE_MANUAL = 9; // In 'Manual' mode
|
|
647
|
+
FLIGHT_MODE_ALTCTL = 10; // In 'Altitude Control' mode
|
|
648
|
+
FLIGHT_MODE_POSCTL = 11; // In 'Position Control' mode
|
|
649
|
+
FLIGHT_MODE_ACRO = 12; // In 'Acro' mode
|
|
650
|
+
FLIGHT_MODE_STABILIZED = 13; // In 'Stabilize' mode
|
|
651
|
+
FLIGHT_MODE_RATTITUDE = 14; // In 'Rattitude' mode
|
|
652
|
+
}
|
|
653
|
+
|
|
654
|
+
// Health type.
|
|
655
|
+
message Health {
|
|
656
|
+
bool is_gyrometer_calibration_ok = 1 [(mavsdk.options.default_value)="false"]; // True if the gyrometer is calibrated
|
|
657
|
+
bool is_accelerometer_calibration_ok = 2 [(mavsdk.options.default_value)="false"]; // True if the accelerometer is calibrated
|
|
658
|
+
bool is_magnetometer_calibration_ok = 3 [(mavsdk.options.default_value)="false"]; // True if the magnetometer is calibrated
|
|
659
|
+
bool is_local_position_ok = 5 [(mavsdk.options.default_value)="false"]; // True if the local position estimate is good enough to fly in 'position control' mode
|
|
660
|
+
bool is_global_position_ok = 6 [(mavsdk.options.default_value)="false"]; // True if the global position estimate is good enough to fly in 'position control' mode
|
|
661
|
+
bool is_home_position_ok = 7 [(mavsdk.options.default_value)="false"]; // True if the home position has been initialized properly
|
|
662
|
+
bool is_armable = 8 [(mavsdk.options.default_value)="false"]; // True if system can be armed
|
|
663
|
+
}
|
|
664
|
+
|
|
665
|
+
// Remote control status type.
|
|
666
|
+
message RcStatus {
|
|
667
|
+
bool was_available_once = 1 [(mavsdk.options.default_value)="false"]; // True if an RC signal has been available once
|
|
668
|
+
bool is_available = 2 [(mavsdk.options.default_value)="false"]; // True if the RC signal is available now
|
|
669
|
+
float signal_strength_percent = 3 [(mavsdk.options.default_value)="NaN"]; // Signal strength (range: 0 to 100, NaN if unknown)
|
|
670
|
+
}
|
|
671
|
+
|
|
672
|
+
// Status types.
|
|
673
|
+
enum StatusTextType {
|
|
674
|
+
STATUS_TEXT_TYPE_DEBUG = 0; // Debug
|
|
675
|
+
STATUS_TEXT_TYPE_INFO = 1; // Information
|
|
676
|
+
STATUS_TEXT_TYPE_NOTICE = 2; // Notice
|
|
677
|
+
STATUS_TEXT_TYPE_WARNING = 3; // Warning
|
|
678
|
+
STATUS_TEXT_TYPE_ERROR = 4; // Error
|
|
679
|
+
STATUS_TEXT_TYPE_CRITICAL = 5; // Critical
|
|
680
|
+
STATUS_TEXT_TYPE_ALERT = 6; // Alert
|
|
681
|
+
STATUS_TEXT_TYPE_EMERGENCY = 7; // Emergency
|
|
682
|
+
}
|
|
683
|
+
|
|
684
|
+
// StatusText information type.
|
|
685
|
+
message StatusText {
|
|
686
|
+
StatusTextType type = 1; // Message type
|
|
687
|
+
string text = 2; // MAVLink status message
|
|
688
|
+
}
|
|
689
|
+
|
|
690
|
+
// Actuator control target type.
|
|
691
|
+
message ActuatorControlTarget {
|
|
692
|
+
int32 group = 1 [(mavsdk.options.default_value)="0"]; // An actuator control group is e.g. 'attitude' for the core flight controls, or 'gimbal' for a payload.
|
|
693
|
+
repeated float controls = 2; // Controls normed from -1 to 1, where 0 is neutral position.
|
|
694
|
+
}
|
|
695
|
+
|
|
696
|
+
// Actuator output status type.
|
|
697
|
+
message ActuatorOutputStatus {
|
|
698
|
+
uint32 active = 1 [(mavsdk.options.default_value)="0"]; // Active outputs
|
|
699
|
+
repeated float actuator = 2; // Servo/motor output values
|
|
700
|
+
}
|
|
701
|
+
|
|
702
|
+
// Landed State enumeration.
|
|
703
|
+
enum LandedState {
|
|
704
|
+
LANDED_STATE_UNKNOWN = 0; // Landed state is unknown
|
|
705
|
+
LANDED_STATE_ON_GROUND = 1; // The vehicle is on the ground
|
|
706
|
+
LANDED_STATE_IN_AIR = 2; // The vehicle is in the air
|
|
707
|
+
LANDED_STATE_TAKING_OFF = 3; // The vehicle is taking off
|
|
708
|
+
LANDED_STATE_LANDING = 4; // The vehicle is landing
|
|
709
|
+
}
|
|
710
|
+
|
|
711
|
+
// VTOL State enumeration
|
|
712
|
+
enum VtolState {
|
|
713
|
+
VTOL_STATE_UNDEFINED = 0; // MAV is not configured as VTOL
|
|
714
|
+
VTOL_STATE_TRANSITION_TO_FW = 1; // VTOL is in transition from multicopter to fixed-wing
|
|
715
|
+
VTOL_STATE_TRANSITION_TO_MC = 2; // VTOL is in transition from fixed-wing to multicopter
|
|
716
|
+
VTOL_STATE_MC = 3; // VTOL is in multicopter state
|
|
717
|
+
VTOL_STATE_FW = 4; // VTOL is in fixed-wing state
|
|
718
|
+
}
|
|
719
|
+
|
|
720
|
+
/*
|
|
721
|
+
* Covariance type.
|
|
722
|
+
*
|
|
723
|
+
* Row-major representation of a 6x6 cross-covariance matrix
|
|
724
|
+
* upper right triangle.
|
|
725
|
+
* Set first to NaN if unknown.
|
|
726
|
+
*/
|
|
727
|
+
message Covariance {
|
|
728
|
+
repeated float covariance_matrix = 1; // Representation of a covariance matrix.
|
|
729
|
+
}
|
|
730
|
+
|
|
731
|
+
// Velocity type, represented in the Body (X Y Z) frame and in metres/second.
|
|
732
|
+
message VelocityBody {
|
|
733
|
+
float x_m_s = 1; // Velocity in X in metres/second
|
|
734
|
+
float y_m_s = 2; // Velocity in Y in metres/second
|
|
735
|
+
float z_m_s = 3; // Velocity in Z in metres/second
|
|
736
|
+
}
|
|
737
|
+
|
|
738
|
+
// Position type, represented in the Body (X Y Z) frame
|
|
739
|
+
message PositionBody {
|
|
740
|
+
float x_m = 1; // X Position in metres.
|
|
741
|
+
float y_m = 2; // Y Position in metres.
|
|
742
|
+
float z_m = 3; // Z Position in metres.
|
|
743
|
+
}
|
|
744
|
+
|
|
745
|
+
// Odometry message type.
|
|
746
|
+
message Odometry {
|
|
747
|
+
// Mavlink frame id
|
|
748
|
+
enum MavFrame {
|
|
749
|
+
MAV_FRAME_UNDEF = 0; // Frame is undefined.
|
|
750
|
+
MAV_FRAME_BODY_NED = 8; // Setpoint in body NED frame. This makes sense if all position control is externalized - e.g. useful to command 2 m/s^2 acceleration to the right.
|
|
751
|
+
MAV_FRAME_VISION_NED = 16; // Odometry local coordinate frame of data given by a vision estimation system, Z-down (x: north, y: east, z: down).
|
|
752
|
+
MAV_FRAME_ESTIM_NED = 18; // Odometry local coordinate frame of data given by an estimator running onboard the vehicle, Z-down (x: north, y: east, z: down).
|
|
753
|
+
}
|
|
754
|
+
|
|
755
|
+
uint64 time_usec = 1; // Timestamp (0 to use Backend timestamp).
|
|
756
|
+
MavFrame frame_id = 2; // Coordinate frame of reference for the pose data.
|
|
757
|
+
MavFrame child_frame_id = 3; // Coordinate frame of reference for the velocity in free space (twist) data.
|
|
758
|
+
PositionBody position_body = 4; // Position.
|
|
759
|
+
Quaternion q = 5; // Quaternion components, w, x, y, z (1 0 0 0 is the null-rotation).
|
|
760
|
+
VelocityBody velocity_body = 6; // Linear velocity (m/s).
|
|
761
|
+
AngularVelocityBody angular_velocity_body = 7; // Angular velocity (rad/s).
|
|
762
|
+
Covariance pose_covariance = 8; // Pose cross-covariance matrix.
|
|
763
|
+
Covariance velocity_covariance = 9; // Velocity cross-covariance matrix.
|
|
764
|
+
}
|
|
765
|
+
|
|
766
|
+
// DistanceSensor message type.
|
|
767
|
+
message DistanceSensor {
|
|
768
|
+
float minimum_distance_m = 1 [(mavsdk.options.default_value)="NaN"]; // Minimum distance the sensor can measure, NaN if unknown.
|
|
769
|
+
float maximum_distance_m = 2 [(mavsdk.options.default_value)="NaN"]; // Maximum distance the sensor can measure, NaN if unknown.
|
|
770
|
+
float current_distance_m = 3 [(mavsdk.options.default_value)="NaN"]; // Current distance reading, NaN if unknown.
|
|
771
|
+
EulerAngle orientation = 4; // Sensor Orientation reading.
|
|
772
|
+
}
|
|
773
|
+
|
|
774
|
+
// Scaled Pressure message type.
|
|
775
|
+
message ScaledPressure {
|
|
776
|
+
uint64 timestamp_us = 1; // Timestamp (time since system boot)
|
|
777
|
+
float absolute_pressure_hpa = 2; // Absolute pressure in hPa
|
|
778
|
+
float differential_pressure_hpa = 3; // Differential pressure 1 in hPa
|
|
779
|
+
float temperature_deg = 4; // Absolute pressure temperature (in celsius)
|
|
780
|
+
float differential_pressure_temperature_deg = 5; // Differential pressure temperature (in celsius, 0 if not available)
|
|
781
|
+
}
|
|
782
|
+
|
|
783
|
+
// PositionNed message type.
|
|
784
|
+
message PositionNed {
|
|
785
|
+
float north_m = 1 [(mavsdk.options.default_value)="NaN"]; // Position along north direction in metres
|
|
786
|
+
float east_m = 2 [(mavsdk.options.default_value)="NaN"]; // Position along east direction in metres
|
|
787
|
+
float down_m = 3 [(mavsdk.options.default_value)="NaN"]; // Position along down direction in metres
|
|
788
|
+
}
|
|
789
|
+
|
|
790
|
+
// VelocityNed message type.
|
|
791
|
+
message VelocityNed {
|
|
792
|
+
float north_m_s = 1; // Velocity along north direction in metres per second
|
|
793
|
+
float east_m_s = 2; // Velocity along east direction in metres per second
|
|
794
|
+
float down_m_s = 3; // Velocity along down direction in metres per second
|
|
795
|
+
}
|
|
796
|
+
|
|
797
|
+
// PositionVelocityNed message type.
|
|
798
|
+
message PositionVelocityNed {
|
|
799
|
+
PositionNed position = 1; // Position (NED)
|
|
800
|
+
VelocityNed velocity = 2; // Velocity (NED)
|
|
801
|
+
}
|
|
802
|
+
|
|
803
|
+
// GroundTruth message type.
|
|
804
|
+
message GroundTruth {
|
|
805
|
+
double latitude_deg = 1 [(mavsdk.options.default_value)="NaN"]; // Latitude in degrees (range: -90 to +90)
|
|
806
|
+
double longitude_deg = 2 [(mavsdk.options.default_value)="NaN"]; // Longitude in degrees (range: -180 to 180)
|
|
807
|
+
float absolute_altitude_m = 3 [(mavsdk.options.default_value)="NaN"]; // Altitude AMSL (above mean sea level) in metres
|
|
808
|
+
uint64 timestamp_us = 4; // Timestamp in microseconds (since system boot)
|
|
809
|
+
}
|
|
810
|
+
|
|
811
|
+
// FixedwingMetrics message type.
|
|
812
|
+
message FixedwingMetrics {
|
|
813
|
+
float airspeed_m_s = 1 [(mavsdk.options.default_value)="NaN"]; // Current indicated airspeed (IAS) in metres per second
|
|
814
|
+
float throttle_percentage = 2 [(mavsdk.options.default_value)="NaN"]; // Current throttle setting (0 to 100)
|
|
815
|
+
float climb_rate_m_s = 3 [(mavsdk.options.default_value)="NaN"]; // Current climb rate in metres per second
|
|
816
|
+
float groundspeed_m_s = 4 [(mavsdk.options.default_value)="NaN"]; // Current groundspeed metres per second
|
|
817
|
+
float heading_deg = 5 [(mavsdk.options.default_value)="NaN"]; // Current heading in compass units (0-360, 0=north)
|
|
818
|
+
float absolute_altitude_m = 6 [(mavsdk.options.default_value)="NaN"]; // Current altitude in metres (MSL)
|
|
819
|
+
}
|
|
820
|
+
|
|
821
|
+
// AccelerationFrd message type.
|
|
822
|
+
message AccelerationFrd {
|
|
823
|
+
float forward_m_s2 = 1 [(mavsdk.options.default_value)="NaN"]; // Acceleration in forward direction in metres per second^2
|
|
824
|
+
float right_m_s2 = 2 [(mavsdk.options.default_value)="NaN"]; // Acceleration in right direction in metres per second^2
|
|
825
|
+
float down_m_s2 = 3 [(mavsdk.options.default_value)="NaN"]; // Acceleration in down direction in metres per second^2
|
|
826
|
+
}
|
|
827
|
+
|
|
828
|
+
// AngularVelocityFrd message type.
|
|
829
|
+
message AngularVelocityFrd {
|
|
830
|
+
float forward_rad_s = 1 [(mavsdk.options.default_value)="NaN"]; // Angular velocity in forward direction in radians per second
|
|
831
|
+
float right_rad_s = 2 [(mavsdk.options.default_value)="NaN"]; // Angular velocity in right direction in radians per second
|
|
832
|
+
float down_rad_s = 3 [(mavsdk.options.default_value)="NaN"]; // Angular velocity in Down direction in radians per second
|
|
833
|
+
}
|
|
834
|
+
|
|
835
|
+
// MagneticFieldFrd message type.
|
|
836
|
+
message MagneticFieldFrd {
|
|
837
|
+
float forward_gauss = 1 [(mavsdk.options.default_value)="NaN"]; // Magnetic field in forward direction measured in Gauss
|
|
838
|
+
float right_gauss = 2 [(mavsdk.options.default_value)="NaN"]; // Magnetic field in East direction measured in Gauss
|
|
839
|
+
float down_gauss = 3 [(mavsdk.options.default_value)="NaN"]; // Magnetic field in Down direction measured in Gauss
|
|
840
|
+
}
|
|
841
|
+
|
|
842
|
+
// Imu message type.
|
|
843
|
+
message Imu {
|
|
844
|
+
AccelerationFrd acceleration_frd = 1; // Acceleration
|
|
845
|
+
AngularVelocityFrd angular_velocity_frd = 2; // Angular velocity
|
|
846
|
+
MagneticFieldFrd magnetic_field_frd = 3; // Magnetic field
|
|
847
|
+
float temperature_degc = 4 [(mavsdk.options.default_value)="NaN"]; // Temperature
|
|
848
|
+
uint64 timestamp_us = 5; // Timestamp in microseconds
|
|
849
|
+
}
|
|
850
|
+
|
|
851
|
+
// Gps global origin type.
|
|
852
|
+
message GpsGlobalOrigin {
|
|
853
|
+
double latitude_deg = 1 [(mavsdk.options.default_value)="NaN"]; // Latitude of the origin
|
|
854
|
+
double longitude_deg = 2 [(mavsdk.options.default_value)="NaN"]; // Longitude of the origin
|
|
855
|
+
float altitude_m = 3 [(mavsdk.options.default_value)="NaN"]; // Altitude AMSL (above mean sea level) in metres
|
|
856
|
+
}
|
|
857
|
+
|
|
858
|
+
// Altitude message type
|
|
859
|
+
message Altitude {
|
|
860
|
+
float altitude_monotonic_m = 1 [(mavsdk.options.default_value)="NaN"]; // Altitude in meters is initialized on system boot and monotonic
|
|
861
|
+
float altitude_amsl_m = 2 [(mavsdk.options.default_value)="NaN"]; // Altitude AMSL (above mean sea level) in meters
|
|
862
|
+
float altitude_local_m = 3 [(mavsdk.options.default_value)="NaN"]; // Local altitude in meters
|
|
863
|
+
float altitude_relative_m = 4 [(mavsdk.options.default_value)="NaN"]; // Altitude above home position in meters
|
|
864
|
+
float altitude_terrain_m = 5 [(mavsdk.options.default_value)="NaN"]; // Altitude above terrain in meters
|
|
865
|
+
float bottom_clearance_m = 6 [(mavsdk.options.default_value)="NaN"]; // This is not the altitude, but the clear space below the system according to the fused clearance estimate in meters.
|
|
866
|
+
uint64 timestamp_us = 7; // Timestamp in microseconds (since system boot)
|
|
867
|
+
}
|
|
868
|
+
|
|
869
|
+
// Wind message type
|
|
870
|
+
message Wind {
|
|
871
|
+
float wind_x_ned_m_s = 1 [(mavsdk.options.default_value)="NaN"]; // Wind in North (NED) direction
|
|
872
|
+
float wind_y_ned_m_s = 2 [(mavsdk.options.default_value)="NaN"]; // Wind in East (NED) direction
|
|
873
|
+
float wind_z_ned_m_s = 3 [(mavsdk.options.default_value)="NaN"]; // Wind in down (NED) direction
|
|
874
|
+
float horizontal_variability_stddev_m_s = 4 [(mavsdk.options.default_value)="NaN"]; // Variability of wind in XY, 1-STD estimated from a 1 Hz lowpassed wind estimate
|
|
875
|
+
float vertical_variability_stddev_m_s = 5 [(mavsdk.options.default_value)="NaN"]; // Variability of wind in Z, 1-STD estimated from a 1 Hz lowpassed wind estimate
|
|
876
|
+
float wind_altitude_msl_m = 6 [(mavsdk.options.default_value)="NaN"]; // Altitude (MSL) that this measurement was taken at
|
|
877
|
+
float horizontal_wind_speed_accuracy_m_s = 7 [(mavsdk.options.default_value)="NaN"]; // Horizontal speed 1-STD accuracy
|
|
878
|
+
float vertical_wind_speed_accuracy_m_s = 8 [(mavsdk.options.default_value)="NaN"]; // Vertical speed 1-STD accuracy
|
|
879
|
+
}
|
|
880
|
+
|
|
881
|
+
// Result type.
|
|
882
|
+
message TelemetryResult {
|
|
883
|
+
// Possible results returned for telemetry requests.
|
|
884
|
+
enum Result {
|
|
885
|
+
RESULT_UNKNOWN = 0; // Unknown result
|
|
886
|
+
RESULT_SUCCESS = 1; // Success: the telemetry command was accepted by the vehicle
|
|
887
|
+
RESULT_NO_SYSTEM = 2; // No system connected
|
|
888
|
+
RESULT_CONNECTION_ERROR = 3; // Connection error
|
|
889
|
+
RESULT_BUSY = 4; // Vehicle is busy
|
|
890
|
+
RESULT_COMMAND_DENIED = 5; // Command refused by vehicle
|
|
891
|
+
RESULT_TIMEOUT = 6; // Request timed out
|
|
892
|
+
RESULT_UNSUPPORTED = 7; // Request not supported
|
|
893
|
+
}
|
|
894
|
+
|
|
895
|
+
Result result = 1; // Result enum value
|
|
896
|
+
string result_str = 2; // Human-readable English string describing the result
|
|
897
|
+
}
|