forked from paparazzi/paparazzi
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathabi.xml
253 lines (214 loc) · 11 KB
/
abi.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
<?xml version="1.0"?>
<!DOCTYPE protocol SYSTEM "abi.dtd">
<protocol>
<msg_class name="airborne">
<message name="BARO_ABS" id="0">
<field name="stamp" type="uint32_t" unit="us"/>
<field name="pressure" type="float" unit="Pa"/>
</message>
<message name="BARO_DIFF" id="1">
<field name="pressure" type="float" unit="Pa"/>
</message>
<message name="AGL" id="2">
<field name="stamp" type="uint32_t" unit="us"/>
<field name="distance" type="float" unit="m"/>
</message>
<message name="TEMPERATURE" id="3">
<field name="temp" type="float" unit="deg Celcius"/>
</message>
<message name="IMU_GYRO" id="4">
<field name="stamp" type="uint32_t" unit="us"/>
<field name="gyro" type="struct Int32Rates *"/>
</message>
<message name="IMU_ACCEL" id="5">
<field name="stamp" type="uint32_t" unit="us"/>
<field name="accel" type="struct Int32Vect3 *"/>
</message>
<message name="IMU_MAG" id="6">
<field name="stamp" type="uint32_t" unit="us"/>
<field name="mag" type="struct Int32Vect3 *"/>
</message>
<message name="IMU_LOWPASSED" id="7">
<field name="stamp" type="uint32_t" unit="us"/>
<field name="gyro" type="struct Int32Rates *"/>
<field name="accel" type="struct Int32Vect3 *"/>
<field name="mag" type="struct Int32Vect3 *"/>
</message>
<message name="GEO_MAG" id="9">
<field name="h" type="struct FloatVect3 *" unit="1.0"/>
</message>
<message name="GPS" id="10">
<field name="stamp" type="uint32_t" unit="us"/>
<field name="gps_s" type="struct GpsState *"/>
</message>
<message name="OPTICAL_FLOW" id="11">
<field name="stamp" type="uint32_t" unit="us"/>
<field name="flow_x" type="int32_t">Flow in x direction from the camera (in subpixels)</field>
<field name="flow_y" type="int32_t">Flow in y direction from the camera (in subpixels)</field>
<field name="flow_der_x" type="int32_t">The derotated flow calculation in the x direction (in subpixels)</field>
<field name="flow_der_y" type="int32_t">The derotated flow calculation in the y direction (in subpixels)</field>
<field name="quality" type="float"/>
<field name="size_divergence" type="float">Divergence as determined with the size method (in 1/seconds) with LK, and Divergence (1/seconds) itself with EF</field>
</message>
<message name="VELOCITY_ESTIMATE" id="12">
<field name="stamp" type="uint32_t" unit="us"/>
<field name="x" type="float" unit="m/s"/>
<field name="y" type="float" unit="m/s"/>
<field name="z" type="float" unit="m/s"/>
<field name="noise_x" type="float">Set negative noise to disable parameter axis</field>
<field name="noise_y" type="float"/>
<field name="noise_z" type="float"/>
</message>
<message name="RSSI" id="13">
<field name="ac_id" type="uint8_t"/>
<field name="source_strength" type="int8_t" unit="dB"/>
<field name="rssi" type="int8_t" unit="dB"/>
</message>
<message name="AIRSPEED" id="14">
<field name="eas" type="float" unit="m/s"/>
</message>
<message name="ACT_FEEDBACK" id="15">
<field name="feedback" type="struct act_feedback_t *"/>
<field name="num_act" type="uint8_t"/>
</message>
<message name="THRUST" id="16">
<field name="thrust_increment_vect" type="struct FloatVect3" unit="m/s^2"/>
</message>
<message name="OBSTACLE_DETECTION" id="17">
<field name="distance" type="float" unit="m"/>
<field name="elevation" type="float" unit="rad"/>
<field name="heading" type="float" unit="rad"/>
</message>
<message name="POSITION_ESTIMATE" id="18">
<field name="stamp" type="uint32_t" unit="us"/>
<field name="x" type="float" unit="m"/>
<field name="y" type="float" unit="m"/>
<field name="z" type="float" unit="m"/>
<field name="noise_x" type="float">Set negative noise to disable parameter axis</field>
<field name="noise_y" type="float"/>
<field name="noise_z" type="float"/>
</message>
<message name="UWB_COMMUNICATION" id="19">
<field name="id" type="uint8_t"/>
<field name="range" type="float" unit="m"/>
<field name="vx" type="float" unit="m/s"/>
<field name="vy" type="float" unit="m/s"/>
<field name="h" type="float" unit="m"/>
<field name="ax" type="float" unit="m/s^2"/>
<field name="ay" type="float" unit="m/s^2"/>
<field name="yawr" type="float" unit="deg/s"/>
</message>
<message name="RANGE_FORCEFIELD" id="20">
<field name="vel_body_x_FF" type="float" unit="m/s"/>
<field name="vel_body_y_FF" type="float" unit="m/s"/>
<field name="vel_body_z_FF" type="float" unit="m/s"/>
</message>
<message name="JEVOIS_MSG" id="21">
<!--description>
Standardized serial messages sent by the Jevois smart camera
http://jevois.org/doc/UserSerialStyle.html
</description-->
<field name="type" type="uint8_t">Standardized message type JEVOIS_MSG_[T1|N1|D1|T2|N2|D2|F2|T3|N3|D3|F3]</field>
<field name="id" type="char *">Text string describing the reported object</field>
<field name="nb" type="uint8_t">Number of elements in the coordinates array</field>
<field name="coord" type="int16_t *">List of coordinates corresponding to 1D, 2D or 3D messages</field>
<field name="dim" type="uint16_t *">1, 2 or 3D dimension</field>
<field name="quat" type="struct FloatQuat">Quaternion that relates the object's frame to the camera's frame, if appropriate</field>
<field name="extra" type="char *">Additional text information</field>
</message>
<message name="FOLLOW_TARGET" id="22">
<field name="id" type="uint32_t">Object ID to track</field>
<field name="frame" type="uint8_t">
bitmask to select relative coordinates (0) or global coordinates (1)
bit 0: bearing
bit 1: height
bit 2: distance
</field>
<field name="bearing" type="float" unit="rad">Direction of object to track</field>
<field name="height" type="float" unit="m">Height of object to track</field>
<field name="distance" type="float" unit="m">Distance of object to track</field>
</message>
<message name="ACCEL_SP" id="23">
<field name="flag" type="uint8_t">0: 2D accel setpoint, 1: 3D accel setpoint</field>
<field name="accel_sp" type="struct FloatVect3 *" unit="m/s^2"/>
</message>
<message name="RELATIVE_LOCALIZATION" id="24">
<field name="id" type="int32_t"/>
<field name="x" type="float" unit="m"/>
<field name="y" type="float" unit="m"/>
<field name="z" type="float" unit="m"/>
<field name="vx" type="float" unit="m/s"/>
<field name="vy" type="float" unit="m/s"/>
<field name="vz" type="float" unit="m/s"/>
</message>
<message name="INCIDENCE" id="25">
<field name="flag" type="uint8_t">bit 1: AoA is updated, bit 2: sideslip is updated</field>
<field name="aoa" type="float" unit="rad">Angle of attack</field>
<field name="sideslip" type="float" unit="rad">Sideslip angle</field>
</message>
<message name="MANUAL_SETPOINT" id="26">
<field name="thrust" type="float">Radio-Control Manual Thrust Setpoint</field>
<field name="roll" type="float">Radio-Control Manual Roll Setpoint</field>
<field name="pitch" type="float">Radio-Control Manual Pitch Setpoint</field>
<field name="yaw" type="float">Radio-Control Manual Yaw Setpoint</field>
</message>
<message name="VISUAL_DETECTION" id="27">
<field name="pixel_x" type="int16_t">Center pixel X</field>
<field name="pixel_y" type="int16_t">Center pixel Y</field>
<field name="pixel_width" type="int16_t">Width in pixels</field>
<field name="pixel_height" type="int16_t">Height in pixels</field>
<field name="quality" type="int32_t">Detection quality</field>
<field name="extra" type="int16_t">Extra field for options like detector source etc</field>
</message>
<message name="JOYSTICK" id="28">
<!--
This message can be used to send command inputs from a joystick or equivalent
either for the control of the airframe or the control of the payload
-->
<field name="roll" type="int16_t">Roll input in pprz_t [-9600;9600]</field>
<field name="pitch" type="int16_t">Pitch input in pprz_t [-9600;9600]</field>
<field name="yaw" type="int16_t">Yaw input in pprz_t [-9600;9600]</field>
<field name="throttle" type="int16_t">Throttle input in pprz_t [0;9600] or [-9600;9600] (for vertical speed control for instance)</field>
</message>
<message name="PAYLOAD_DATA" id="29">
<field name="stamp" type="uint32_t" unit="us">Timestamp in micro-seconds</field>
<field name="data_type" type="int32_t">A data type id that can be used to identify the data format</field>
<field name="size" type="uint32_t">Data size or number of element, this may depend on the sender and the type of data</field>
<field name="data" type="uint8_t *">Pointer to an array of bytes, or any structure depending on the sender and the type of data</field>
</message>
<message name="RADIO_CONTROL" id="30">
<field name="rc" type="struct RadioControl *">Pointer to a radio control structure</field>
</message>
<message name="IMU_GYRO_RAW" id="31">
<field name="stamp" type="uint32_t" unit="us">Registered timestamp of the measurement</field>
<field name="gyro" type="struct Int32Rates *">Raw gyro samples measured</field>
<field name="samples" type="uint8_t">Amount of samples</field>
<field name="rate" type="float" unit="Hz">Sampling rate in Hz of the samples</field>
<field name="temp" type="float" unit="deg Celcius">Temperature of the sensor</field>
</message>
<message name="IMU_ACCEL_RAW" id="32">
<field name="stamp" type="uint32_t" unit="us">Registered timestamp of the measurement</field>
<field name="accel" type="struct Int32Vect3 *">Raw accelration samples measured</field>
<field name="samples" type="uint8_t">Amount of samples</field>
<field name="rate" type="float" unit="Hz">Sampling rate in Hz of the samples</field>
<field name="temp" type="float" unit="deg Celcius">Temperature of the sensor</field>
</message>
<message name="IMU_MAG_RAW" id="33">
<field name="stamp" type="uint32_t" unit="us"/>
<field name="mag" type="struct Int32Vect3 *"/>
</message>
<message name="IMU_GYRO_INT" id="34">
<field name="stamp" type="uint32_t" unit="us"/>
<field name="delta_gyro" type="struct FloatRates *"/>
<field name="dt" type="uint16_t" unit="us"/>
</message>
<message name="IMU_ACCEL_INT" id="35">
<field name="stamp" type="uint32_t" unit="us"/>
<field name="delta_accel" type="struct FloatVect3 *"/>
<field name="dt" type="uint16_t" unit="us"/>
</message>
<message name="VEL_SP" id="36">
<field name="vel_sp" type="struct FloatVect3 *" unit="m/s"/>
</message>
</msg_class>
</protocol>