CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutSign UpSign In
Ardupilot

Real-time collaboration for Jupyter Notebooks, Linux Terminals, LaTeX, VS Code, R IDE, and more,
all in one place. Commercial Alternative to JupyterHub.

GitHub Repository: Ardupilot/ardupilot
Path: blob/master/ArduPlane/ReleaseNotes.txt
Views: 1798
1
ArduPilot Plane Release Notes:
2
------------------------------------------------------------------
3
Release 4.6.0-beta2 11 Dec 2024
4
5
Changes from 4.6.0-beta1
6
7
1) Board specfic changes
8
9
- FoxeerF405v2 supports BMP280 baro
10
- KakuteH7, H7-Mini, H7-Wing, F4 support SPA06 baro
11
- MUPilot support
12
- SkySakura H743 support
13
- TBS Lucid H7 support
14
- VUAV-V7pro README documentation fixed
15
- X-MAV AP-H743v2 CAN pin definition fixed
16
17
2) Copter specific enhancements and bug fixes
18
19
- AutoTune fix for calc of maximum angular acceleration
20
- Advanced Failsafe customer build server option
21
22
3) Plane related enhancements and bug fixes
23
24
- QuadPlane fix for QLand getting stuck in pilot repositioning
25
- QuikTune C++ conversion (allow running quiktun on F4 and f7 boards)
26
- Takeoff direction fixed when no yaw source
27
- TECS correctly handles home altitude changes
28
29
4) Bug Fixes and minor enhancements
30
31
- AIRSPEED_AUTOCAL mavlink message only sent when required and fixed for 2nd sensor
32
- CAN frame logging added to ease support
33
- CRSF reconnection after failsafe fixed
34
- EKF3 position and velocity resets default to user defined source
35
- Ethernet IP address default 192.168.144.x
36
- Fence autoenable fix when both RCn_OPTION=11/Fence and FENCE_AUTOENABLE = 3 (AutoEnableOnlyWhenArmed)
37
- Fence pre-arm check that vehicle is within polygon fence
38
- Fence handling of more than 256 items fixed
39
- FFT protection against divide-by-zero in Jain estimator
40
- Frsky telemetry apparent wind speed fixed
41
- Inertial sensors stop sensor converging if motors arm
42
- Inertial sensors check for changes to notch filters fixed
43
- Real Time Clock allowed to shift forward when disarmed
44
- ROS2/DDS get/set parameter service added
45
- Scripting gets memory handling improvements
46
- Scripting promote video-stream-information to applet
47
- Topotek gimbal driver uses GIA message to retrieve current angle
48
- Tramp VTX OSD power indicator fixed
49
------------------------------------------------------------------
50
Release 4.6.0-beta1 13 Nov 2024
51
52
Changes from 4.5.7
53
54
1) Board specific changes
55
56
- AnyLeaf H7 supports compass and onboard logging
57
- Blitz743Pro supports CAN
58
- BlueRobotics Navigator supports BMP390 baro
59
- Bootloader ECC failure check fixed on boards with >128k bootloader space (e.g CubeRed)
60
- CB Unmanned Stamp H743 support
61
- ClearSky CSKY405 support
62
- CUAV-7-Nano default batt monitor fixed
63
- CubeRed bootloader fixes including disabling 2nd core by default
64
- CubeRed supports PPP networking between primary and secondary MCU
65
- CubeRedPrimary supports external compasses
66
- ESP32 main loop rate improvements
67
- ESP32 RC input fixes and wifi connection reliability improved
68
- ESP32 safety switch and GPIO pin support
69
- FlyingMoon no longer support MAX7456
70
- Flywoo F405HD-AIOv2 ELRS RX pin pulled high during boot
71
- Flywoo H743 Pro support
72
- Flywoo/Goku F405 HD 1-2S ELRS AIO v2
73
- FlywooF745 supports DPS310 baro
74
- FPV boards lose SMBus battery support (to save flash)
75
- GEPRC F745BTHD support
76
- GEPRCF745BTHD loses parachute support, non-BMP280 baros (to save flash)
77
- Here4FC bootloader fix for mismatch between RAM0 and periph that could prevent firmware updates
78
- Holybro Kakute F4 Wing support
79
- iFlight 2RAW H743 supports onboard logging
80
- JFB110 supports measuring servo rail voltage
81
- JFB110 supports safety switch LED
82
- JHEM-JHEF405 bootloader supports firmware updates via serial
83
- JHEMCU GF30H743 HD support
84
- JHEMCU-GF16-F405 autopilot support
85
- JHEMCU-GSF405A becomes FPV board (to save flash)
86
- KakuteF7 only supports BMP280 baro (to save flash)
87
- KakuteH7Mini supports ICM42688 IMU
88
- Linux auto detection of GPS baud rate fixed
89
- Linux board scheduler jitter reduced
90
- Linux board shutdown fixes
91
- MakeFlyEasy PixPilot-V6Pro support
92
- MatekF405, Pixhawk1-1M-bdshot, revo-mini loses blended GPS (to save flash)
93
- MatekH7A3 support Bi-directional DShot
94
- MicoAir405v2 and MicoAir405Mini support optical flow and OSD
95
- MicoAir743 internal compass orientation fixed
96
- MicroAir405Mini, MicroAir743, NxtPX4v2 support
97
- MicroAir405v2 Bi-directional DShot and LED DMA fixes
98
- MicroAir405v2 defined as FPV board with reduced features (to save flash)
99
- ModalAI VOXL2 support including Starling 2 and Starling 2 max
100
- mRo Control Zero Classic supports servo rail analog input
101
- mRo KitCAN revC fixed
102
- Mugin MUPilot support
103
- OmnibusF7v2 loses quadplane support (to save flash)
104
- Pixhack-v3 board added (same as fmuv3)
105
- Pixhawk6C bootloader supports flashing firmware from SD card
106
- RadiolinkPIX6 imu orientation fixed
107
- RadiolinkPIX6 supports SPA06 baro
108
- ReaperF745 V4 FC supports MPU6000 IMU
109
- RPI5 support
110
- SDModelH7v2 SERIAL3/7/9_PROTOCOL param defaults changed
111
- Solo serial ports default to MAVLink1
112
- SpeedyBeeF405Wing gets Bi-directional DShot
113
- SpeedyBeeF405WING loses landing gear support, some camera gimbals (to save flash)
114
- Spektreworks boom board support
115
- TrueNavPro-G4 SPI does not share DMA
116
- X-MAV AP-H743v2 support
117
118
2) AHRS/EKF enhancements and fixes
119
120
- AHRS_OPTION to disable fallback to DCM (affects Plane and Rover, Copter never falls back)
121
- AHRS_OPTION to disable innovation check for airspeed sensor
122
- Airspeed sensor health check fixed when using multiple sensors and AHRS affinity
123
- DCM support for MAV_CMD_EXTERNAL_WIND_ESTIMATE (Plane only)
124
- EK2 supports disabling external nav (see EK2_OPTIONS)
125
- EK3 External Nav position jump after switch from Optical flow removed (see EK3_SRC_OPTION=1)
126
- EK3 uses filtered velocity corrections for IMU position
127
- EKF2, EKF3, ExternalAHRS all use common origin
128
- EKF3 accepts set origin even when using GPS
129
- EKF3 allows earth-frame fields to be estimated with an origin but no GPS
130
- EKF3 copes better with GPS jamming
131
- EKF3 logs mag fusion selection to XKFS
132
- EKF3 wind estimation when using GPS-for-yaw fixed
133
- External AHRS improvements including handling variances, pre-arm origin check
134
- Inertial Labs External AHRS fixes
135
- VectorNav driver fix for handling of error from sensor
136
- VectorNav External AHRS enhancements including validation of config commands and logging improvements
137
- VectorNav support for sensors outside VN-100 and VN-300
138
139
3) Driver enhancements and bug fixes
140
141
- ADSB fix to display last character in status text sent to GCS
142
- Ainstein LR-D1 radar support
143
- Airspeed ASP5033 whoami check fixed when autopilot rebooted independently of the sensor
144
- AIRSPEED message sent to GCS
145
- Analog temperature sensor extended to 5th order polynomial (see TEMP_A5)
146
- ARSPD_OPTIONS to report calibration offset to GCS
147
- Baro EAS2TAS conversions continuously calculated reducing shocks to TECS (Plane only)
148
- Baro provides improved atmospheric model for high altitude flight
149
- BARO_ALT_OFFSET slew slowed to keep EKF happy
150
- BATTx_ESC_MASK param supports flexible mapping of ESCs to batteries
151
- BATTx_OPTION to not send battery voltage, current, etc to GCS
152
- Benewake RDS02U radar support
153
- Bi-directional DShot on IOMCU supports reversible mask
154
- Bi-directional DShot telemetry support on F103 8Mhz IOMCUs
155
- BMM350 compass support
156
- CAN rangefinders and proximity sensors may share a CAN bus (allows NRA24 and MR72 on a single CAN bus)
157
- Compass calibration world magnetic model checks can use any position source (e.g. not just GPS)
158
- CRSF baro and vertical speeed fixed
159
- CRSF RX bind command support
160
- DroneCAN battery monitor check to avoid memory corruption when type changed
161
- DroneCAN DNA server fixes including removing use of invalid node IDs, faster ID allocation, elimination of rare inability to save info
162
- DroneCAN EFI health check fix
163
- DroneCAN ESC battery monitors calculate consumed mah
164
- DroneCAN ESCs forced to zero when disarmed
165
- DroneCAN RPM message support
166
- DroneCAN timeout fix for auxiliary frames
167
- DroneCAN to serial tunneling params accepts short-hand baud rates (e.g. '57' for '57600')
168
- F9P, F10-N and Zed-F9P support for GPSx_GNSS_MODE to turn on/off SBAS, Galileo, Beidou and Glonass
169
- FuelLevel battery monitor fix to report capacity
170
- GPS_xxx params renamed to GPS1_xxx, GPS_xxx2 renamed to GPS2_xxx
171
- Hirth EFI logging includes modified throttle
172
- Hirth ICEngine supports reversed crank direction (see ICE_OPTIONS parameter)
173
- Hott and LTM telemetry deprecated (still available through custom build server)
174
- i-BUS telemetry support
175
- ICE_PWM_IGN_ON, ICE_PWM_IGN_OFF, ICE_PWM_STRT_ON, ICE_PWM_STRT_OFF replaced with SERVOx_MIN/MAX/REVERSED (Plane only)
176
- ICE_START_CHAN replaced with RC aux function (Plane only)
177
- ICEngine retry max added (see ICE_STRT_MX_RTRY)
178
- IE 2400 generator error message severity to GCS improved
179
- INA2xx battery monitor support (reads temp, gets MAX_AMPS and SHUNT params)
180
- MCP9600 temperature sensor I2C address fixed
181
- MLX90614 temperature sensor support
182
- MSP GPS ground course scaling fixed
183
- MSP RC uses scaled RC inputs (fixes issue with RCx_REVERSED having no effect)
184
- Networking supports reconnection to TCP server or client
185
- OSD params for adjusting horizontal spacing and vertical extension (see OSD_SB_H_OFS, OSD_SB_V_EXT)
186
- Relay inverted output support (see RELAYx_INVERTED parameter)
187
- ROMFS efficiency improvements
188
- RS-485 driver enable RTS flow control
189
- Sagetech MXS ADSP altitude fix (now uses abs alt instead of terrain alt)
190
- Septentrio GPS sat count correctly drops to zero when 255 received
191
- Septentrio supports selecting constellations (see GPS_GNSS_MODE)
192
- Single LED for user notification supported
193
- SPA06 baro supported
194
- Sum battery monitor optionally reports minimum voltage instead of average
195
- Sum battery monitor reports average temp
196
- Torqeedo dual motor support (see TRQ1, TRQ2 params)
197
- Ublox GPS driver uses 64 bit time for PPS interrupt (avoids possible dropout at 1hour and 12 minutes)
198
- UBlox GPS time ignored until at least 2D fix
199
- VideoTX supports additional freq bands (RushFPV 3.3Ghz)
200
- Volz logs desired and actual position, voltage, current, motor and PCB temp
201
- Volz server feedback and logging fixed
202
- Volz servo output in its own thread resulting in smoother movements
203
- W25N02KV flash support
204
205
4) Networking enhancements and fixes
206
207
- Allow multiple UDP clients to connect/disconnect/reconnect
208
- Ethernet supports faster log downloading (raised SDMMC clock limit on H7)
209
210
5) Camera and gimbal enhancements
211
212
- Alexmos precision improved slightly
213
- CAMERA_CAPTURE_STATUS mavlink msg sent to GCS (reports when images taken or video recorded, used by QGC)
214
- CAMERA_FOV_STATUS mavlink reports lat,lon of what camera is pointing at
215
- DO_MOUNT_CONTROL yaw angle interpreted as body-frame (was incorrectly being interpreted as earth-frame)
216
- Dual serial camera gimbal mounts fixed
217
- Lua script bindings to send CAMERA_INFORMATION and VIDEO_STREAM_INFORMATION messages to GCS
218
- Retract Mount2 aux function added (see RCx_OPTION = 113)
219
- Servo gimbal reported angles respect roll, pitch and yaw limits
220
- Siyi driver sends autopilot location and speed (recorded in images via EXIF)
221
- Siyi picture and video download scripts
222
- Siyi ZT6 and ZT30 support sending min, max temperature (see CAMERA_THERMAL_RANGE msg)
223
- Siyi ZT6 and ZT30 thermal palette can be changed using camera-change-setting.lua script
224
- Siyi ZT6 hardware id and set-lens fixed
225
- Topotek gimbal support
226
- Trigger distance ignores GPS status and only uses EKF reported location
227
228
6) Harmonic notch enhancements
229
230
- Harmonic notch is active in forward flight on quadplanes
231
- Harmonic notch filter freq clamping and disabling reworked
232
- Harmonic notch handles negative ESC RPMs
233
- Harmonic notch supports per-motor throttle-based harmonic notch
234
235
7) Copter specific enhancements and bug fixes
236
237
- Attitude control fix to dt update order (reduces rate controller noise)
238
- Auto mode fix to avoid prematurely advancing to next waypoint if given enough time
239
- Auto mode small target position jump when takeoff completes removed
240
- Auto mode yaw drift when passing WP removed if CONDITION_YAW command used and WP_YAW_BEHAVIOR = 0/None
241
- Auto, Guided flight mode pause RC aux switch (see RCx_OPTION = 178)
242
- AutoRTL (e.g. DO_LAND_START) uses copter stopping point to decide nearest mission command
243
- AutoRTL mode supports DO_RETURN_PATH_START (Copter, Heli only)
244
- AutoTune fix to prevent spool up after landing
245
- AutoTune performance and safety enhancements (less chance of ESC desync, fails when vehicle likely can't be tuned well)
246
- Autotune test gains RC aux switch function allows testing gains in any mode (see RCx_OPTION = 180)
247
- Config error avoided if auto mode is paused very soon after poweron
248
- FLIGHT_OPTIONS bit added to require position estimate before arming
249
- Follow mode slowdown calcs fixed when target is moving
250
- Ground oscillation suppressed by reducing gains (see ATC_LAND_R/P/Y_MULT)
251
- Guided mode internal error fix when taking off using SET_ATTITUDE_CONTROL message
252
- Guided mode internal error resolved when switching between thrust or climb rate based altitude control
253
- Guided mode yaw fixed when WP_YAW_BEHAVIOR = 0/None and CONDITION_YAW command received containing relative angle
254
- Landing detector fixed when in stabilize mode at full throttle but aircraft is upside down
255
- Landing detector logging added to ease support (see LDET message)
256
- Loiter unlimited command accepts NaNs (QGC sends these)
257
- Mavlink SYSTEM_STATUS set to BOOT during initialisation
258
- MOT_PWM_TYPE of 9 (PWMAngle) respects SERVOx_MIN/MAX/TRIM/REVERSED param values
259
- Payload place bug fix when aborted because gripper is already released
260
- RC based tuning (aka CH6 tuning) can use any RC aux function channel (see RCx_OPTION = 219)
261
- RTL_ALT minimum reduced to 30cm
262
- SystemID position controller support (Copter and Heli)
263
- TriCopter motor test and slew-up fixed
264
- WPNAV_SPEED min reduced to 10 cm/s (Copter only)
265
- Loiter mode zeros desired accel when re-entering from Auto during RC failsafe
266
267
8) TradHeli specific enhancements
268
269
- Autorotation yaw behaviour fix
270
- Autotune improvements including using low frequency dwell for feedforward gain tuning and conducting sweep in attitude instead of rate
271
- Blade pitch angle logging added (see SWSH log message)
272
- Constrain cyclic roll for intermeshing
273
- ICE / turbine cool down fix
274
- Inverted flight extended to non manual throttle modes
275
- Inverted flight transitions smoothed and restricted to only Stabilize mode
276
- SWSH logging fix for reversed collectives
277
278
9) Plane specific enhancements and bug fixes
279
280
- AIRSPEED_STALL holds vehicle stall speed and is used for minimum speed scaling
281
- Allow for different orientations of landing rangefinder
282
- Assistance requirements evaluted on mode change
283
- FBWB/CRUISE climb/sink rate limited by TECS limits
284
- FLIGHT_OPTION to immediately climb in AUTO mode (not doing glide slope)
285
- Glider pullup support (available only through custom build server)
286
- Loiter breakout improved to better handle destinations inside loiter circle
287
- Manual mode throttle made consistent with other modes (e.g battery comp and watt limit is done if enabled)
288
- Mavlink GUIDED_CHANGE_ALTITUDE supports terrain altitudes
289
- Minimum throttle not applied during SLT VTOL airbrake (reduces increase in airspeed and alt during back transition)
290
- Q_APPROACH_DIST set minimum distance to use the fixed wing approach logic
291
- Quadplane assistance check enhancements
292
- Quadplane Deca frame support
293
- Quadplane gets smoother takeoff by input shaping target accel and velocity
294
- Servo wiggles in altitude wait staged to be one after another
295
- Set_position_target_global_int accepts MAV_FRAME_GLOBAL_RELATIVE_ALT and MAV_FRAME_GLOBAL_TERRAIN_ALT frames
296
- Takeoff airspeed control improved (see TKOFF_MODE, TKOFF_THR_MIN)
297
- Takeoff fixes for fence autoenable
298
- Takeoff improvements including less overshoot of TKOFF_ALT
299
- TECS reset along with other controllers (important if plane dropped from balloon)
300
- Tilt quadplane ramp of motors on back transition fixed
301
- Tiltrotor tilt angles logged
302
- TKOFF_THR_MIN applied to SLT transitions
303
- Twin motor planes with DroneCAN ESCs fix to avoid max throttle at arming due to misconfiguration
304
- VTOLs switch to QLAND if a LONG_FAILSAFE is triggered during takeoff
305
306
10) Rover specific enhancements and bug fixes
307
308
- Auto mode reversed state maintained if momentarily switched to Hold mode
309
- Circle mode tracks better and avoids getting stuck at circle edge
310
- Flight time stats fixed
311
- MAV_CMD_NAV_SET_YAW_SPEED deprecated
312
- Omni3Mecanum frame support
313
- Stopping point uses max deceleration (was incorrectly using acceleration)
314
- Wheel rate controller slew rate fix
315
316
11) Antenna Tracker specific enhancements and bug fixes
317
318
- Never track lat,lon of 0,0
319
320
12) Scripting enhancements
321
322
- advance-wp.lua applet supports advancing Auto mode WP via RC switch
323
- AHRS_switch.lua supports switching between EKF2 and EKF3 via RC switch
324
- battery_internal_resistance_check.lua monitors battery resistance
325
- CAN:get_device returns nil for unconfigured CAN device
326
- copter_terrain_brake.lua script added to prevent impact with terrain in Loiter mode (Copter only)
327
- Copter:get_target_location, update_target_location support
328
- crosstrack_restore.lua example allows returning to previous track in Auto (Plane only)
329
- Display text on OLED display supported
330
- Docs improved for many bindings
331
- EFI get_last_update_ms binding
332
- EFI_SkyPower.lua driver accepts 2nd supply voltage
333
- ESC_slew_rate.lua example script supports testing ESCs
334
- Filesystem CRC32 check to allow scripts to check module versions
335
- forced arming support
336
- GPIO get/set mode bindings (see gpio:set_mode, get_mode)
337
- GPS-for-yaw angle binding (see gps:gps_yaw_deg)
338
- Halo6000 EFI driver can log all CAN packets for easier debugging
339
- handle_external_position_estimate binding allows sending position estimate from lua to EKF
340
- I2C:transfer support
341
- IMU gyros_consistent and accels_consistent bindings added
342
- INF_Inject.lua driver more robust to serial errors, improved logging, throttle and ignition control
343
- INS bindings for is calibrating, gyro and accel sensor values
344
- IPV4 address bindings (see SocketAPM_ipv4_addr_to_string) to allow UDP server that responds to individual clients
345
- Logging of booleans supported
346
- Lua language checks improved (finds more errors)
347
- MAVLink commands can be called from scripting
348
- MCU voltage binding (see analog:mcu_voltage)
349
- NMEA 2000 EFI driver (see EFI_NMEA2k.lua)
350
- "open directory failed" false warning when scripts in ROMFS fixed
351
- Param_Controller.lua supports quickly switching between 3 parameter sets via RC switch
352
- Pass by reference values are always initialized
353
- pelco_d_antennatracker.lua applet supports sending Pelco-D via RS-485 to PTZ cameras
354
- plane_aerobatics.lua minor enhancements
355
- REPL applet (read-evaluate-print-loop, see repl.lua) for interactive testing and experimentation
356
- "require" function failures in rare circumstances fixed
357
- "require" function works for modules in ROMFS (e.g. not on SD card)
358
- revert_param.lua supports more params (e.g ATC_RATE_R/P/Y, PTCH2SRV_TCONST, RLL2SRV_TCONST, TECS_)
359
- Scripts may receive mavlink messages which fail CRC (e.g messages which FC does not understand)
360
- SD card formatting supported
361
- Serial device simulation support (allows Lua to feed data to any supported serial protocol for e.g. sensor simulation)
362
- set_target_throttle_rate_rpy allows rate control from scripts (new for Copter)
363
- sitl_standby_sim.lua example shows how to switch between redundant flight controllers using an RC switch
364
- Slung payload oscillation suppression applet added (see copter-slung-payload.lua)
365
- Temperature sensor bindings added
366
- uint64 support
367
- Various performance and memory usage optimizations
368
- VTOL-quicktune.lua minor enhancements including increasing YAW_FLTE_MAX to 8
369
- x-quad-cg-allocation.lua applet corrects for the CoM discrepancy in a quad-X frame
370
371
13) GCS / mavlink related changes and fixes
372
373
- BATTERY2 message deprecated (replaced by BATTERY_STATUS)
374
- CMD_MISSION_START/STOP rejected if first-item/last-item args provided
375
- Deny attempts to upload two missions simultaneously
376
- Fence and Rally points may be uploaded using FTP
377
- GPS_INPUT and HIL_GPS handles multiple GPSs
378
- HIGHRES_IMU mavlink message support (used by companion computers to receive IMU data from FC)
379
- MAV_CMD_COMPONENT_ARM_DISARM accepts force arm magic value of 21196
380
- MAV_CMD_DO_SET_SAFETY_SWITCH_STATE support
381
- MAV_CMD_SET_HAGL support (Plane only)
382
- MAVFTP respects TX buffer flow control to improve FTP on low bandwidth links
383
- MAVLink receiver support (RADIO_RC_CHANNELS mavlink message)
384
- Message interval supports TERRAIN_REPORT msg
385
- Mission upload may be cancelled using MISSION_CLEAR_ALL
386
- MOUNT_CONFIGURE, MOUNT_CONTROL messages deprecated
387
- RC_CHANNELS_RAW deprecated
388
- Serial passthrough supports parity allowing STM32CubeProgrammer to be used to program FrSky R9 receivers
389
- SET_ATTITUDE_TARGET angular rate input frame fixed (Copter only)
390
- TIMESYNC and NAMED_VALUE_FLOAT messages not sent on high latency MAVLink ports
391
392
14) Logging enhancements and fixes
393
394
- AC_PID resets and I-term sets logged
395
- ANG provides attitude at high rate (equivalent to ATT)
396
- ATT logs angles as floats (better resolution than ints)
397
- CAND message gets driver index
398
- DCM log message includes roll/pitch and yaw error
399
- EDT2 log msg includes stress and status received via extended DShot Telemetry v2
400
- EFI ECYL cylinder head and exhaust temp logs in degC (was Kelvin)
401
- ESCX log msg includes DroneCAN ESCs status, temp, duty cycle and power pct
402
- FMT messages written as required instead of all at beginning
403
- Logging restarted after download completes when LOG_DISARMED = 1
404
- MISE msg logs active mission command (CMD logged when commands are uploaded)
405
- ORGN message logging fixed when set using SET_GPS_GLOBAL_ORIGIN
406
- RPM sensor logging gets instance field, quality and health fields
407
- Short filename support removed (e.g log1.BIN instead of 00000001.BIN)
408
- Temperature sensor logging option for only sensors with no source (see TEMP_LOG)
409
- UART data rates logged at 1hz (see UART message)
410
411
15) ROS2 / DDS support
412
413
- Airspeed published
414
- Battery topic reports all available batteries
415
- Compile-time configurable rates for each publisher
416
- DDS_TIMEOUT_MS and DDS_MAX_RETRY set timeout and num retries when client pings XRCE agent
417
- GPS global origin published at 1 Hz
418
- High frequency raw imu data transmission
419
- Joystick support
420
- Support sending waypoints to Copter and Rover
421
- Remove the XML refs file in favor of binary entity creation
422
423
16) Safety related enhancements and fixes
424
425
- Accel/Gyro inconsistent message fixed for using with only single IMU
426
- Battery monitor failure reported to GCS, triggers battery failsafe but does not take action
427
- Far from EKF origin pre-arm check removed (Copter only)
428
- Fence breach warning message slightly improved
429
- Fence enhancements incluiding alt min fence (Copter only, see FENCE_AUTOENABLE, FENCE_OPTIONS)
430
- Fences can be stored to SD Card (see BRD_SD_FENCE param)
431
- ICEngine stopped when in E-Stop or safety engaged (Plane only)
432
- LEDs flash green lights based on EKF location not GPS
433
- Parachute option to skip disarm before parachute release (see CHUTE_OPTIONS)
434
- Plane FENCE_AUTOENABLE of 1 or 2 deprecation warning added
435
- Pre-arm check if OpenDroneID is compiled in but disabled
436
- Pre-arm check of duplicate RC aux functions fixed (was skipping recently added aux functions)
437
- Pre-arm checks alert user more quickly on failure
438
- Prearm check for misconfigured EAHRS_SENSORS and GPS_TYPE
439
- Proximity sensor based avoidance keeps working even if one proximity sensor fails (Copter, Rover)
440
- RC aux functions for Arm, Disarm, E-Stop and Parachute ignored when RC is first turned on
441
- Warning of duplicate SERIALx_PROTOCOL = RCIN
442
443
17) Other bug fixes and minor enhancements
444
445
- Accel cal fixed for auxiliary IMUs (e.g. IMU4 and higher)
446
- Bootloader fix to reduce unnecessary mass erasing of flash when using STLink or Jlink tools
447
- Bootloader rejects allocation of broadcast node ID
448
- CAN forward registering/de-registering fix (affected Mission Planner DroneCAN UI)
449
- Dijkstras fix to correct use of uninitialised variable
450
- DShot rates are not limited by NeoPixel rates
451
- Ethernet and CAN bootloader fix to prevent getting stuck in bootloader mode
452
- Filesystem does not show entries for empty @ files
453
- Filesystem efficiency improvements when reading files
454
- Flight statistics only reset if user sets STAT_RESET to zero (avoids accidental reset)
455
- Flight time statistics updated on disarm (avoids issue if vehicle powered-down soon after disarm)
456
- Internal error thrown if we lose parameters due to saving queue being too small
457
- MAVLink via DroneCAN baud rate fix
458
- SPI pins may also be used as GPIOs
459
- Terrain cache size configurable (see TERRAIN_CACHE_SZ)
460
461
18) Developer focused fixes and enhancements
462
463
- AP_Camera gets example python code showing how to use GStreamer with UDP and RTSP video streams
464
- Cygwin build fix for non-SITL builds
465
- Cygwin build fixed with malloc wrap
466
- DroneCAN and scripting support FlexDebug messages (see CAN_Dn_UC_OPTION, FlexDebug.lua)
467
- EKF3 code generator documentation and cleanup
468
- GPS jamming simulator added
469
- MacOS compiler warnings reduced
470
- SFML joystick support
471
- SITL support for OpenBSD
472
- Text warning if older Fence or Rally point protocols are used
473
------------------------------------------------------------------
474
Release 4.5.7 08 Oct 2024
475
476
Changes from 4.5.7-beta1
477
478
1) Reverted Septentrio GPS sat count correctly drops to zero when 255 received
479
------------------------------------------------------------------
480
Release 4.5.7-beta1 26 Sep 2024
481
482
Changes from 4.5.6
483
484
1) Bug fixes and minor enhancements
485
486
- VUAV-V7pro support
487
- CUAV-7-Nano correction for LEDs and battery volt and current scaling
488
- DroneCAN deadlock and saturation of CAN bus fixed
489
- DroneCAN DNA server init fix (caused logging issues and spam on bus)
490
- F4 boards with inverter support correctly uninvert RX/TX
491
- Nanoradar M72 radar driver fix for object avoidance path planning
492
- Plane fix to ability to disable the takeoff atititude checks
493
- RC support for latest version of GHST
494
- Septentrio GPS sat count correctly drops to zero when 255 received
495
496
2) ROS2/DDS and other developer focused enhancements
497
498
- AP quaternions normalised for ROS2 to avoid warnings
499
- Dependencies fixed for easier installation
500
- ROS2 SITL launch file enhancements including displaying console and map
501
- ROS_DOMAIN_ID param added to support multiple vehicles or instances of ROS2
502
- Python 3.12 support
503
------------------------------------------------------------------
504
Release 4.5.6 03 Sep 2024
505
506
No changes from 4.5.6-beta1
507
------------------------------------------------------------------
508
Release 4.5.6-beta1 20 Aug 2024
509
510
Changes from 4.5.5
511
512
1) Board specific enhancements and bug fixes
513
514
- 3DR Control Zero H7 Rev G support
515
- CUAV-7-Nano support
516
- FoxeerF405v2 servo outputs increased from 9 to 11
517
- Holybro Pixhawk6C hi-power peripheral overcurrent reporting fixed
518
- iFlight 2RAW H7 support
519
- MFT-SEMA100 support
520
- TMotorH743 support BMI270 baro
521
- ZeroOneX6 support
522
523
2) Minor enhancements and bug fixes
524
525
- Cameras using MAVLink report vendor and model name correctly
526
- DroneCAN fix to remove occasional NodeID registration error
527
- GPS NMEA and GSoF driver ground course corrected (now always 0 ~ 360 deg)
528
- ICP101XX barometer slowed to avoid I2C communication errors
529
- IMU temp cal param (INSn_ACCSCAL_Z) stored correctly when bootloader is flashed
530
- IMU gyro/accel duplicate id registration fixed to avoid possible pre-arm failure
531
- Logging to flash timestamp fix
532
- OSD displays ESC temp instead of motor temp
533
- PID controller error calculation bug fix (was using target from prev iteration)
534
- Relay on MAIN pins fixed
535
------------------------------------------------------------------
536
Release 4.5.5 1st Aug 2024
537
538
No changes from 4.5.5-beta2
539
------------------------------------------------------------------
540
Release 4.5.5-beta2 27 July 2024
541
542
Changes from 4.5.5-beta1
543
544
1) Board specific enhancements and bug fixes
545
546
- CubeRed's second core disabled at boot to avoid spurious writes to RAM
547
- CubeRed bootloader's dual endpoint update method fixed
548
------------------------------------------------------------------
549
Release 4.5.5-beta1 1st July 2024
550
551
Changes from 4.5.4
552
553
1) Board specific enhancements and bug fixes
554
555
- fixed IOMCU transmission errors when using bdshot
556
- update relay parameter names on various boards
557
- add ASP5033 airspeed in minimal builds
558
- added RadiolinkPIX6
559
- fix Aocoda-RC H743Dual motor issue
560
- use ICM45686 as an ICM20649 alternative in CubeRedPrimary
561
562
2) System level minor enhancements and bug fixes
563
564
- correct use-after-free in script statistics
565
- added arming check for eeprom full
566
- fixed a block logging issue which caused log messages to be dropped
567
- enable Socket SO_REUSEADDR on LwIP
568
- removed IST8310 overrun message
569
- added Siyi ZT6 support
570
- added BTFL sidebar symbols to the OSD
571
- added CRSF extended link stats to the OSD
572
- use the ESC with the highest RPM in the OSD when only one can be displayed
573
- support all Tramp power levels on high power VTXs
574
- emit jump count in missions even if no limit
575
- improve the bitmask indicating persistent parameters on bootloader flash
576
- fix duplicate error condition in the MicroStrain7
577
578
3) AHRS / EKF fixes
579
580
- fix infinite climb bug when using EK3_OGN_HGT_MASK
581
582
4) Plane specific changes
583
584
- fix rangefinder correction when terrain following is off
585
- correct description of MIN_GROUNDSPEED parameter
586
- correct Q_TRIM_PITCH description
587
- ensure the dshot type gets set at startup
588
589
5) Other minor enhancements and bug fixes
590
591
- specify pymonocypher version in more places
592
- added DroneCAN dependencies to custom builds
593
594
------------------------------------------------------------------
595
Release 4.5.4 12th June 2024
596
597
Changes from 4.5.3
598
599
Disable highres IMU sampling on ICM42670 fixing an issue on some versions of Pixhawk6X
600
601
------------------------------------------------------------------
602
Release 4.5.3 28th May 2024
603
604
No changes from 4.5.3-beta1
605
------------------------------------------------------------------
606
Release 4.5.3-beta1 16th May 2024
607
608
Changes from 4.5.2
609
610
1) Board specific enhancements and bug fixes
611
612
- correct default GPS port on MambaH743v4
613
- added SDMODELV2
614
- added iFlight Blitz H7 Pro
615
- added BLITZ Wing H743
616
- added highres IMU sampling on Pixhawk6X
617
618
2) System level minor enhancements and bug fixes
619
620
- fixed rare crash bug in lua scripting on script fault handling
621
- fixed Neopixel pulse proportions to work with more LED variants
622
- fixed timeout in lua rangefinder drivers
623
- workaround hardware issue in IST8310 compass
624
- allow FIFO rate logging for highres IMU sampling
625
626
3) Plane specific changes
627
628
- fixed cancelling of FWD_GAIN setting for tiltrotors
629
630
------------------------------------------------------------------
631
Release 4.5.2 14th May 2024
632
633
No changes from 4.5.2-beta1
634
------------------------------------------------------------------
635
Release 4.5.2-beta1 29th April 2024
636
637
Changes from 4.5.1
638
639
1) Board specific enhancements and bug fixes
640
641
- FoxeerF405v2 support
642
- iFlight BLITZ Mini F745 support
643
- Pixhawk5X, Pixhawk6C, Pixhawk6X, Durandal power peripherals immediately at startup
644
645
2) System level minor enhancements and bug fixes
646
647
- Camera lens (e.g. RGB, IR) can be selected from GCS or during missions using set-camera-source
648
- Crashdump pre-arm check added
649
- Gimbal gets improved yaw lock reporting to GCS
650
- Gimbal default mode fixed (MNTx_DEFLT_MODE was being overriden by RC input)
651
- RM3100 compass SPI bus speed reduced to 1Mhz
652
- SBUS output fix for channels 1 to 8 also applying to 9 to 16
653
- ViewPro gimbal supports enable/disable rangefinder from RC aux switch
654
- Visual Odometry delay fixed (was always using 1ms delay, see VISO_DELAY_MS)
655
- fixed serial passthrough to avoid data loss at high data rates
656
657
3) AHRS / EKF fixes
658
659
- Compass learning disabled when using GPS-for-yaw
660
- GSF reset minimum speed reduced to 1m/s (except Plane which remains 5m/s)
661
- MicroStrain7 External AHRS position quantization bug fix
662
- MicroStrain7 init failure warning added
663
- MicroStrain5 and 7 position and velocity variance reporting fix
664
665
4) Plane specific changes
666
667
- Drop min Q_TRANSITION_MS to 500ms
668
- FBWB/CRUISE missing zero crossing of elevator input fix
669
- PTCH_LIM_MIN_DEG param units fixed to be deg
670
671
5) Other minor enhancements and bug fixes
672
673
- DDS_UDP_PORT parameter renamed (was DDS_PORT)
674
- Harmonic Notch bitmask parameter conversion fix (see INS_HNTCH_HMNCS)
675
676
Release 4.5.1 8th April 2024
677
----------------------------
678
679
This release fixes a critical bug in the CRSF R/C protocol parser that
680
can lead to a handfault and a vehicle crashing. A similar fix was
681
applied to the GHST protocol, although we believe that GHST could not
682
be affected by the bug, so this was just a precaution.
683
684
There are no other changes in this release.
685
686
Release 4.5.0 2nd April 2024
687
----------------------------
688
689
No changes from beta4
690
691
Release 4.5.0-beta4 22nd March 2024
692
-----------------------------------
693
694
Changes from 4.5.0-beta3
695
696
1) system changes
697
698
- fixed a cache corruption issue with microSD card data on H7 based boards
699
- rename parameter NET_ENABLED to NET_ENABLE
700
- fixed FDCAN labels for adding new H7 boards
701
- avoid logging dma.txt to save CPU
702
- fixed roll/pitch in viewpro driver
703
- added band X in VideoTX
704
- fixed quaternion attitude reporting for Microstrain external AHRS
705
- add RPLidarC1 proximity support
706
707
2) new boards
708
- added MicoAir405v2
709
- add Orqa F405 Pro
710
711
3) plane specific changes
712
- fixed flare on TVBS quadplanes with throttle stick input
713
714
715
Release 4.5.0-beta3 14th March 2024
716
-----------------------------------
717
718
Changes from 4.5.0-beta2
719
720
1) Board specific changes
721
- added PixFlamingo F7 board
722
- support ICM42688 on BlitzF745AIO
723
- fixed IMU orientation of CubeRedSecondary
724
- enable all FPV features on SpeedyBeeF405WING
725
726
2) System level changes
727
728
- improved robustness of CRSF parser
729
- reduced memory used by DDS/ROS2
730
- added filesystem crc32 binding in lua scripting
731
- support visual odometry quality metric and added autoswitching lua script
732
- allow for expansion of fence storage to microSD for larger pologon fences
733
- allow FTP upload of fence and rally points
734
- fixed vehicle type of ship simulation for ship landing
735
- make severity level depend on generator error level in IE 2400 generator
736
- speed up initial GPS probe by using SERIALn_BAUD first
737
- allow NanoRadar radar and proximity sensor to share the CAN bus
738
- added MR72 CAN proximity sensor
739
- only produce *_with_bl.hex not *.hex in builds if bootloader available
740
- fixed check for GPS antenna separation in moving baseline yaw
741
- added GPS_DRV_OPTIONS options for fully parsing RTCMv3 stream
742
- fixed logging of RTCM fragments in GPS driver
743
- fixed video recording while armed
744
- robostness and logging improvements for ExternalAHRS
745
- fixed RPM from bdshot on boards with IOMCU
746
- fixed accel cal simple to remove unused IMUs
747
748
3) Plane specific changes
749
- added support for precision landing of quadplanes
750
- fixed speed tuning of fixed wing aircraft without an airspeed sensor
751
- improved pitch control in high speed VTOL flight
752
- added TECS option for rapid descent in fixed wing aircraft
753
754
Release 4.5.0-beta2 14th February 2024
755
--------------------------------------
756
757
Changes from 4.5.0-beta1:
758
759
1) New Autopilots supported
760
- YJUAV_A6Ultra
761
- AnyLeaf H7
762
763
2) System level changes
764
- fixed float rounding issue in HAL_Linux millis and micros functions
765
- fixed loading of defaults.parm parameters for dynamic parameter subtrees
766
- fixed discrimination between GHST and CRSF protocols
767
- fixed bug in DroneCAN packet parsing for corrupt packets that could cause a crash
768
- fixed handling of network sockets in scripting when used after close
769
- fixed bit timing of CANFD buses
770
771
3) Plane specific changes
772
- fixed handling of force arming when safety is enabled for VTOL motor state
773
774
4) Camera and gimbal enhancements
775
- wait for non-zero camera version in SIYI driver
776
777
5) Miscellaneous
778
- do relay parameter conversion for parachute parameters if ever has been used
779
- broaden acceptance criteria for GPS yaw measurement for moving baseline yaw
780
781
782
Release 4.5.0-beta1 30th January 2024
783
-------------------------------------
784
785
Changes from 4.4.4
786
787
1) New autopilots supported
788
- ACNS-F405AIO
789
- Airvolute DCS2 onboard FMU
790
- Aocoda-RC-H743Dual
791
- BrainFPV RADIX 2 HD
792
- CAN-Zero
793
- CM4Pilot
794
- CubeRed
795
- Esp32-tomte76, esp32nick, esp32s3devkit
796
- FlyingMoonH743
797
- Flywoo F405 Pro
798
- FlywooF405S-AIO with alternative IMUs
799
- Here4 GPS as flight controller
800
- Holybro 6X revision 6
801
- Holybro6X-45686 with 3x ICM45686 IMUs
802
- JAE JFB110
803
- KakuteH7 using ICM42688
804
- PixFlamingo (uses STM32L4PLUS CPU)
805
- PixPilot-C3
806
- PixSurveyA1-IND
807
- QiotekAdeptF407
808
- Sierra TrueNavIC
809
- SPRacing H7RF
810
- SW-Nav-F405
811
- YJUAV_A6
812
- YJUAV_A6SE, YJUAV_A6SE_H743 Plane
813
2) Autopilot specific changes
814
- 1MB boards lose features to save flash (Payload Place, some battery monitors, NMEA Output, bootloaders, Turtle mode)
815
- CubeOrangePlus supports IMU high resolution sampling (works with ICM42688, ICM42652, ICM42670, ICM45686 IMUs)
816
- F4 processors with only 1 IMU gain Triple Harmonic Notch support
817
- F765-SE bdshot support on 1st 4 pin
818
- F7 and H7 boards lose DMA on I2C ports (not required, limited DMA better used elsewhere)
819
- FlyingMoonH743, FlyingMoonF427 2nd and 3rd IMU order swapped
820
- HEEWING-F405 supports CRSF
821
- MatekL431-RC bootloader added, DMA used for RC and GPS
822
- PH4-mini, PH4-mini-bdshot, Swan-K1 and TBS-Colibri-F7 BRD_SER4_RTSCTS param conflict fixed
823
- Pixhawk6C supports BMI088 baro
824
- TMotorH743, Heewing-F405 serial parameter definitions fixed
825
3) AHRS/EKF enhancements and fixes
826
- AHRS_OPTIONS supports disabling fallback to DCM
827
- BARO_ALT_OFFSET slews more slowly (was 20sec, now 1min)
828
- EKF2 removed (can be re-enabled with Custom build server)
829
- External AHRS support for multiple GPSs
830
- InertialLabs INS-U external AHRS support
831
- Lord external AHRS renamed to MicroStrain5
832
- MAV_CMD_EXTERNAL_POSITION_ESTIMATE supports setting approximate position during dead-reckoning
833
- Microstrain7 (aka 3DM-QG7) external AHRS support
834
4) Driver enhancements
835
- 3DR Solo supports up to 6S batteries
836
- Airspeed health checks vs GPS use 3D velocity
837
- BDshot on the first four channels of boards with F103-based IOMCUs (e.g. Pixhawk 6X)
838
- Dshot on all IOMCU channels on all boards with an IOMCU (e.g. all CubePilot autopilots)
839
- Dshot commands (e.g. motor reversal abd beeps) and EDT supported on IOMCU
840
- DroneCAN battery monitors calculate consumed energy if battery doesn't provide directly
841
- DroneCAN RC and Ghost RC protocol support
842
- EFI MAVLink driver
843
- Extended DShot Telemetry support (requires BLHeli32 ver 32.10 or BlueJay, set SERVO_DSHOT_ESC=3 or 4)
844
- GPS L5 band health override to enable L5 signal use (see GPS_DRV_OPTIONS)
845
- GPS-for-yaw works at lower update rate (3hz minimum)
846
- GSOF GPS supports GPS_COM_PORT parameter
847
- Hirth ICEngine support
848
- ICE option to enable/disable starting while disarmed
849
- ICE support for starter via relay
850
- IMUDATA serial protocol outputs raw IMU data on serial port (only available using custom build server)
851
- Innomaker LD06 360deg lidar support
852
- Intelligent Energy fuel cells new protocol support
853
- IRC Tramp supports 1G3 bands A and B
854
- IRC Ghost support
855
- JAE JRE-30 radar
856
- KDECAN driver rewrite (params moved to KDE_, works on all vehicles)
857
- MCP9601 temperature sensor support
858
- NanoRadar NRA24 rangefinder support
859
- NeoPixelsRGB support
860
- NoopLoop TOFSense, TOFSenseF-I2c rangefinder support
861
- OSD shows flashing horizon when inverted
862
- OSD2 support (e.g. second OSD)
863
- QMC5883P compass support
864
- Relay refactored to support RELAYx_FUNCTION, RELAY_STATUS message support added
865
- Reventech fuel level support (extends existing analog driver, see BATT_FL_xx parameters)
866
- RPLidarS1 360 deg lidar support and improved reliability for all RPLidars
867
- SBF GPS supports yaw from dual antennas
868
- Temperature sensor using analog voltages supported
869
- Trimble PX-1 support added as a GPS
870
- Winch driver enhancements including stuck protection, option for spin-free on startup
871
5) Control and navigation changes and enhancements
872
- Auto missions can always be cleared while disarmed (would fail if mission still running)
873
- DO_ENGINE_CONTROL allows starting engine even when disarmed
874
- DO_SET_MISSION_CURRENT command can reset mission (see Reset Mission field)
875
- DO_SET_SERVO, DO_REPEAT_SERVO work with servo outputs set to RCInxScaled
876
- Fractional Loiter Turn Support in missions
877
- HarmonicNotch supports up to 16 harmonics
878
- JUMP command sends improved text msg to pilot (says where will jump to)
879
- MAV_CMD_AIRFRAME_CONFIGURATION can control landing gear on all vehicles
880
- MOT_OPTIONS allows voltage compensation to use raw battery voltages (instead of current corrected voltage)
881
- PID controllers get DFF/D_FF (derivative feed-forward), NTF (target notch filter index) and NEF (error notch filter index)
882
- PID controllers get PDMX param to limit P+D output (useful for large vehicles and/or slow actuators)
883
- PID notch filter configured via new filter library using FILT parameters
884
- VTOLs send ATTITUDE_TARGET messages to GCS
885
6) Plane specific enhancements
886
- AUTOTUNE_OPTIONS allows disabling filter updates
887
- Harmonic Notch frequencies can be logged at full rate
888
- L1 controller checks heading and ground track agree to improve strong headwind edge case
889
- Land airspeed default is halfway between min and cruise
890
- LoiterAltQLand mode re-uses Loiter point if available
891
- AUTO mode landing abort aux switch renamed
892
- Q_M_SPOOL_TIM_DN allows slower spool down of motors
893
- Quadplane use of forward throttle in VTOL modes improved
894
- Tailsitters use motor I term for pitch control if no pitch surfaces are setup
895
- Takeoff mode holds down elevator on taildraggers
896
- Transition time may be no less than 2 seconds (see TRANSITION_MS)
897
- VTOL angle controller gets feed-forward scaling (see Q_OPTIONS)
898
7) Parameters renamed and rescaled
899
- COMPASS_TYPEMASK renamed to COMPASS_DISBLMSK
900
- SYS_NUM_RESETS replaced by STAT_BOOTCNT
901
- AIRSPEED_CRUISE replaces TRIM_ARSPD_CM
902
- AIRSPEED_MIN replaces ARSPD_FBW_MIN
903
- AIRSPEED_MAX replaces ARSPD_FBW_MAX
904
- CRUISE_ALT_FLOOR replaces ALT_HOLD_FBWCM
905
- LAND_FINAL_SPD replaces LAND_SPEED
906
- LAND_PITCH_DEG replaces LAND_PITCH_CD
907
- MIN_GROUNDSPEED replaces MIN_GNDSPD_CM
908
- PTCH_LIM_MAX_DEG replaces LIM_PITCH_MAX
909
- PTCH_LIM_MIN_DEG replaces LIM_PITCH_MIN
910
- PTCH_TRIM_DEG replaces TRIM_PITCH_CD
911
- Q_LAND_FINAL_SPD replaces Q_LAND_SPEED
912
- Q_PILOT_ACCEL_Z replaces Q_ACCEL_Z
913
- Q_PILOT_SPD_UP replaces Q_VELZ_MAX
914
- Q_PILOT_SPD_DN replaces Q_VELZ_MAX_DN
915
- ROLL_LIMIT_DEG replaces LIM_ROLL_CD
916
- RTL_ALTITUDE replaces ALT_HOLD_RTL
917
8) ROS2 / DDS support
918
- Added support for EProsima MicroXRCEDDS as a transport in SITL and hardware
919
- Added sensor data topic support such as NavSatStatus and BatteryState
920
- Added a new AP_ExternalControl library for generic control support in SI units
921
- Added support for building ArduPilot with the colcon build system
922
- Added high level goal interface (waypoints) similar to MAVLink global position
923
- DDS topics comply with ROS REP-147
924
- Added Gazebo Garden and Gazebo Harmonic simulation with examples
925
- Added support for ROS 2 services such as Arm and Mode control
926
- Added high level goal interface for waypoints
927
- Wiki updated to support ROS 2
928
- Added ROS 2 launch scripts for SITL, MAVProxy and micro-ROS agent
929
- Add pytests for DDS client and ROS 2 launch scripts and integrate into CI
930
9) Camera and gimbal enhancements
931
- Calculates location where camera gimbal is pointing (see CAMERA_FOV_STATUS)
932
- CAMx_MNT_INST allows specifying which mount camera is in
933
- Camera lens (e.g. live video stream) selectable using RC aux function
934
- Interval timer (for taking pictures at timed intervals)
935
- Image tracking support (ViewPro only)
936
- MAVLink Gimbal Protocol v2 support for better GCS integration
937
- MNTx_SYSID_DFLT allows easier pointing gimbal at another vehicle
938
- MOUNT_CONTROL, MOUNT_CONFIGURE messages deprecated
939
- RangeFinder support (only logged, only supported on Siyi, Viewpro)
940
- Pilot's RC input re-takes manual control of gimbal (e.g. switches to RC_TARGETING mode)
941
- Siyi driver gets Zoom control, sends autopilot attitude and time (reduces leans)
942
- Video recording may start when armed (see CAMx_OPTIONS)
943
- ViewPro driver (replaces equivalent Lua driver)
944
- Xacti camera gimbal support
945
- Zoom percentage support (for both missions and GCS commands)
946
10) Logging and reporting changes
947
- Battery logging (e.g. BAT) includes health, temperature, state-of-health percentage
948
- CAM and MNT messages contain camera gimbal's desired and actual angles
949
- CTUN includes airspeed estimate type (e.g. sensor, EKF3 estimate)
950
- INS_RAW_LOG_OPT allows raw, pre-filter and post-filter sensor data logging (alternative to "batch logging", good for filtering analysis)
951
- PID logging gets reset and I-term-set flags
952
- Rangefinder logging (e.g. RFND) includes signal quality
953
- RC aux functions sorted alphabetically for GCS
954
- RC logging (RCI, RCI2) include valid input and failsafe flags
955
- RTK GPS logging includes number of fragments used or discarded
956
- TEC2 provides extended TECS controller logging
957
- TSIT provides tail sitter speed scaling values
958
11) Scripting enhancements
959
- Autopilot reboot support
960
- Baro, Compass, IMU, IOMCU health check support
961
- Battery cell voltage bindings
962
- Battery driver support
963
- BattEsimate.lua applet estimates SoC from voltage
964
- Camera and Mount bindings improved
965
- CAN input packet filtering reduces work required by Lua CAN drivers
966
- DJI RS2/RS3 gimbal driver supports latest DJI firmware version (see mount-djirs2-driver.lua)
967
- EFI drivers for DLA serial, InnoFlight Inject EFI driver
968
- EFI bindings improved
969
- Fence support
970
- Generator drivers for Halo6000, Zhuhai SVFFI
971
- GCS failsafe support
972
- Hobbywing_DataLink driver (see Hobbywing_DataLink.lua)
973
- is_landing, is_taking_off bindings
974
- led_on_a_switch.lua sets LED brightness from RC switch
975
- MAVLink sending and receiving support
976
- Mission jump_to_landing_sequence binding
977
- mount-poi.lua upgraded to applet, sends better feedback, can lock onto Location
978
- Networking/Ethernet support
979
- Plane dual-aircraft synchronised aerobatics
980
- Proximity driver support
981
- Rangefinder drivers can support signal quality
982
- revert_param.lua applet for quickly reverting params during tuning
983
- RockBlock.lua applet supports setting mode, fix for battery voltage reporting
984
- Serial/UART reading performance improvement using readstring binding
985
- sport_aerobatics.lua rudder control fixed
986
- Thread priority can be set using SCR_THD_PRIORITY (useful for Lua drivers)
987
- Wind alignment and head_wind speed bindings
988
12) Safety related enhancements and fixes
989
- Advanced GCS failsafe action to switch to Auto mode
990
- Advanced GCS failsafe timeout configurable (see AFS_GCS_TIMEOUT)
991
- Arm in AUTO/TAKEOFF modes only after stick returns to center
992
- Arm/Disarmed GPIO may be disabled using BRD_OPTIONS
993
- Arming allowed with Fence enabled but without a compass (previously failed)
994
- Arming check of compass vs world magnetic model to detect metal in ground (see ARMING_MAGTHRESH)
995
- Arming check of GPIO pin interrupt storm
996
- Arming check of Lua script CRC
997
- Arming check of mission loaded from SD card
998
- Arming check of Relay pin conflicts
999
- Arming check to allow Tricopter-Plane with no yaw servo
1000
- Arming check of emergency stop skipped if emergency stop aux function configured
1001
- Arming failures reported more quickly when changing from success to failed
1002
- ARMING_OPTIONS allows supressing "Armed", "Disarmed" text messages
1003
- BRD_SAFETY_MASK extended to apply to CAN ESCs and servos
1004
- Buzzer noise for gyro calibration and arming checks passed
1005
- FENCE_OPTIONS supports union OR intersection of all polygon fences
1006
- FLTMODE_GCSBLOCK blocks GCS from changing vehicle to specified modes
1007
- Long failsafe action to switch to Auto mode (see FS_LONG_ACTN)
1008
- Main loop lockup recovery by forcing mutex release (only helps if caused by software bug)
1009
- Parachute releases causes disarm and ICE shutoff
1010
- Rally points supports altitude frame (AMSL, Relative or Terrain)
1011
- RC failsafe does not trigger until RC has been received at least once
1012
- SERVO_RC_FS_MSK allows outputs using RC passthrough to move to SERVOx_TRIM on RC failsafe
1013
- Takeoff mode gets failsafe protections
1014
13) System Enhancements
1015
- CAN port can support a second CAN protocol on the same bus (2nd protocol must be 11 bit, see CAN_Dn_PROTOCOL2)
1016
- CAN-FD support (allows faster data transfer rates)
1017
- Crash dump info logged if main thread locksup (helps with root cause analysis)
1018
- Ethernet/Networking support for UDP and TCP server and client (see NET_ENABLED) and PPP (see SERIALx_PROTOCOL)
1019
- Firmware flashing from SD card
1020
- Linux board SBUS input decoding made consistent with ChibiOS
1021
- Linux boards support DroneCAN
1022
- Parameter defaults stored in @ROMFS/defaults.parm
1023
- SD Card formatting supported on all boards
1024
- Second USB endpoint defaults to MAVLink (instead of SLCAN) except on CubePilot boards
1025
- Serial over DroneCAN (see CAN_D1_UC_SER_EN) useful for configuring F9P DroneCAN GPSs using uCenter
1026
14) Custom Build server include/exclude features extended to include
1027
- APJ Tools
1028
- Bootloader flashing
1029
- Button
1030
- Compass calibration
1031
- DroneCAN GPS
1032
- ExternalAHRS (e.g. MicroStrain, Vectornav)
1033
- Generator
1034
- Highmark Servo
1035
- Hobbywing ESCs
1036
- Kill IMU
1037
- Payload Place
1038
- Plane BlackBox arming allows Plane to be used as logger (see ARMING_BBOX_SPD)
1039
- Plane's TX Tuning
1040
- Precision landing
1041
- Proximity sensor
1042
- RC Protocol
1043
- Relay
1044
- SBUS Output
1045
- ToneAlarm
1046
- Winch
1047
15) Developer specific items
1048
- ChibiOS upgrade to 21.11
1049
- UAVCAN replaced with DroneCAN
1050
- AUTOPILOT_VERSION_REQUEST message deprecated (use REQUEST_MESSAGE instead)
1051
- PREFLIGHT_SET_SENSOR_OFFSETS support deprecated (was unused by all known ground stations)
1052
- MISSION_SET_CURRENT message deprecated (use DO_SET_MISSION_CURRENT command instead)
1053
- MISSION_CURRENT message sends num commands and stopped/paused/running/complete state
1054
- Python version requirement increased to 3.6.9
1055
- mavlink_parse.py shows all suported mavlink messages
1056
- COMMAND_INT messages can be used for nearly all commands (previously COMMAND_LONG)
1057
16) Bug fixes:
1058
- 3DR Solo gimbal mavlink routing fixed
1059
- Airbrakes auxiliary function fixed
1060
- Airspeed health always checked before use (may not have been checked when using "affinity")
1061
- always ignore invalid pilot input throttle
1062
- Bootloop fixed if INS_GYRO_FILTER set too high
1063
- Button Internal Error caused by floating pin or slow device power-up fixed
1064
- CAN Compass order maintained even if compass powered up after autopilot
1065
- Compass device IDs only saved when calibrated to ensure external compasses appear as primary on new boards
1066
- Cruise mode locks in heading only once moving forwards (improves VTOL transition reliability in high winds)
1067
- Currawong ECU EFI does not send exhaust gas temperature
1068
- DO_REPOSITION interprets NaN as zero
1069
- DCM fallback in order to get better GPS is disabled if GPS is not used
1070
- DJI RS2/RS3 gimbal reported angle fix
1071
- DO_SET_ROI, ROI_LOCATION, ROI_NONE bug fix that could lead to gimbal pointing at old target
1072
- Fix throttle going bellow min in fbwa RC failsafe
1073
- Generator parameter init fix (defaults might not always have been loaded correctly)
1074
- GPS_TC_BLEND parameter removed (it was unused)
1075
- Ground speed undershoot correction during loss of GPS fixed
1076
- Guided mode heading control anti windup fix
1077
- Harmonic Notch gets protection against extremely low notch filter frequencies
1078
- Home altitude change while navigating handled correctly (previously led to sudden demanded height change)
1079
- IE 650/800 Generators report fuel remaining
1080
- INS calibration prevents unlikely case of two calibrations running at same time
1081
- LPS2XH Baro supported over I2C fixed
1082
- MatekH743 storage eeprom size fixed
1083
- MAVLink routing fix to avoid processing packet meant for another vehicle
1084
- Mount properly enforces user defined angle limits
1085
- MPU6500 IMU filter corrected to 4k
1086
- nav_roll (aka target roll) calculation improved
1087
- NMEA output time and altitude fixed
1088
- OSD gets labels for all supported serial protocols
1089
- OSD RF panel format fixed
1090
- Reset mission if in landing sequence while also disarmed and on the ground (avoids pre-arm check)
1091
- RTL_AUTOLAND with rally points fix (could skip climb to rally point's altitude)
1092
- RobotisServo initialisation fix
1093
- RPM accuracy and time wrap handling improved
1094
- Sagetech ADSB MXS altitude fix (needs amsl, was sending alt-above-terrain)
1095
- SageTechMXS ADSB climb rate direction fixed
1096
- SBUS out exactly matches SBUS in decoding
1097
- Serial port RTS pins default to pulldown (SiK radios could getting stuck in bootloader mode)
1098
- SERIALx_ parameters removed for ports that can't actually be used
1099
- Servo gimbal attitude reporting fix
1100
- Servo output fix when using scaled RC passthrough (e.g. SERVOx_FUNCTION = RCinXScaled)
1101
- Siyi continuous zoom stutter fixed
1102
- Siyi gimbal upside-down mode fixed (avoid bobbing if upside-down)
1103
- TECS's max deceleration scales properly with vehicle velocity
1104
- ST24 RC protocol fixed
1105
- STM32L496 CAN2 init fix (AP_Periph only?)
1106
- VFR_HUD climb rate reports best estimate during high vibration events (previously it would stop updating)
1107
- Visual Odometry healthy check fix in case of out-of-memory
1108
- VTX_MAX_POWER restored (allows setting radio's power)
1109
1110
Release 4.4.4 19th December 2023
1111
--------------------------------
1112
1113
Changes from 4.4.3:
1114
1115
- CubeOrange Sim-on-hardware compilation fix
1116
- RADIX2HD supports external I2C compasses
1117
- SpeedyBeeF405v4 support
1118
- DroneCAN battery monitor with cell monitor SoC reporting fix
1119
- ProfiLED output fixed in both Notify and Scripting
1120
- NTF_LED_TYPES parameter description fixed (was missing IS31FL3195)
1121
- Scripting bug that could cause crash if parameters were added in flight
1122
- STAT_BOOTCNT param fix (was not updating in some cases)
1123
- don't query hobbywing DroneCAN ESC IDs while armed
1124
- clamp empy version to prevent build errors
1125
1126
Release 4.4.3 14th November 2023
1127
--------------------------------
1128
1129
Changes from 4.4.2:
1130
1131
- fixed setup of ICM45486 IMU on CubeOrangePlus-BG edition
1132
- disable AFSR on IxM42xxx IMUs to prevent gyro bias for "stuck" gyros
1133
- fixed AK09916 compass being non-responsive
1134
- implement GPS_DRV_OPTION for using ellipsoid height in more GPS drivers
1135
- fixed SIYI AP_Mount parsing bug
1136
- configuration fixes for BETAFTP-F405 boards
1137
- fixed origin versus home relative bug in quadplane landing and guided takeoff
1138
- correct mavlink response for no airspeed sensor on preflight calibration
1139
- protect against notch filtering with uninitialised RPM source in ESC telemetry
1140
- allow lua scripts to populate full ESC telemetry data
1141
- added YJUAV_A6SE_H743 support
1142
- fixed uBlox M10 GPS support on boards with 1M flash
1143
1144
Release 4.4.2 23th October 2023
1145
-------------------------------
1146
1147
Changes from 4.4.1
1148
1149
- BETAFPV-F405 support
1150
- MambaF405v2 battery and serial setup corrected
1151
- mRo Control Zero OEM H7 bdshot support
1152
- SpeedyBee-F405-Wing gets VTX power control
1153
- SpeedyBee-F405-Mini support
1154
- T-Motor H743 Mini support
1155
- EKF3 supports baroless boards
1156
- INA battery monitor supports config of shunt resistor used (see BATTx_SHUNT)
1157
- BMI088 IMU error value handling fixed to avoid occasional negative spike
1158
- Dev environment CI autotest stability improvements
1159
- OSD correct DisplayPort BF MSP symbols
1160
- OSD option to correct direction arrows for BF font set
1161
- Sensor status reporting to GCS fixed for baroless boards
1162
- added opendroneid option to auto-store IDs in persistent flash
1163
- fixed TECS bug that could cause inability to climb or descend
1164
- fixed race condition when starting TECS controlled mode
1165
- fixed RTL with rally point and terrain follow
1166
- protect against invalid data in SBUS for first 4 channels
1167
- added build type to VER message
1168
- allow moving baseline rover at 3Hz
1169
- use RC deadzones in stick mixing
1170
1171
1172
Release 4.4.1 26th September 2023
1173
---------------------------------
1174
1175
No changes from beta2
1176
1177
Release 4.4.1-beta2 12th September 2023
1178
--------------------------------------
1179
1180
Changes from 4.4.1-beta1
1181
1182
- Airbotf4 features minimised to build for 4.4
1183
- ChibiOS clock fix for 480Mhz H7 boards (affected FDCAN)
1184
- H750 external flash optimisations for to lower CPU load
1185
- MambaF405Mini fixes to match manufacturer's recommended wiring
1186
- RADIX2 HD support
1187
- RPI hardware version check fix
1188
- YJUAV_A6SE support
1189
1190
Release 4.4.1-beta1 5th September 2023
1191
--------------------------------------
1192
1193
Changes from 4.4.1
1194
1195
- support Himark DroneCAN servos
1196
- support Hobbywing DroneCAN ESCs
1197
- fixed control surface deflection on quadplanes in VTOL takeoff wait
1198
- fixed bug in parameter default handling in SITL
1199
- allow selection of mission sdcard storage on custom.ardupilot.org
1200
- added support for SDMODELH7V1
1201
- fixed battery monitor default for QiotekZealotF427 and QiotekZealotH743
1202
- support 8 bit directional dshot channels on KakuteH7-wing
1203
- improved handling of high vibration in EKF3 with new EK3_GLITCH_RADIUS options
1204
- allow reset of battery SoC for DroneCAN battery monitors
1205
- update GPIOs for Navigator board in HAL_Linux
1206
- pull RTS lines low on Pixhawk6C on startup
1207
- added log_file_content in scripting for aerobatics
1208
- added asymmetry factor for skid steering on rovers
1209
- updated defaults for luminousbee5 boards
1210
1211
Happy flying!
1212
1213
Release 4.4.0 18th August 2023
1214
------------------------------
1215
1216
No changes from beta5
1217
1218
Release 4.4.0-beta5 11th August 2023
1219
------------------------------------
1220
1221
Changes from 4.4.0-beta4
1222
1223
- fixed handling of missing DroneCAN airspeed packet
1224
- fixed reset of target altitude in plane GUIDED mode
1225
- added SIYI N7 flight controller
1226
- fixed auto-enable of fence with forced arm
1227
- fixed race condition that caused notch filter gyro glitches
1228
- fixed bug with RTK injection for DroneCAN
1229
1230
Release 4.4.0 beta4
1231
-------------------
1232
1233
Changes from 4.4.0-beta3
1234
1235
1) flight controller specific changes
1236
- Diatone-Mamba-MK4-H743v2 uses SPL06 baro (was DPS280)
1237
- DMA for I2C disabled on F7 and H7 boards
1238
- Foxeer H743v1 default serial protocol config fixes
1239
- HeeWing-F405 and F405v2 support
1240
- iFlight BlitzF7 support
1241
2) Scripts may take action based on VTOL motor loss
1242
3) Bug fixes
1243
- BLHeli returns battery status requested via MSP (avoids hang when using esc-configurator)
1244
- CRSFv3 rescans at baudrates to avoid RX loss
1245
- EK3_ABIAS_P_NSE param range fix
1246
- Scripting restart memory corruption bug fixed
1247
- Siyi A8/ZR10 driver fix to avoid crash if serial port not configured
1248
1249
Release 4.4.0 beta3
1250
-------------------
1251
1252
This is the third beta of plane 4.4.0. This includes some important
1253
fixes since beta2
1254
1255
1) flight controller specific changes
1256
- Holybro KakuteH7-Wing support
1257
- JFB100 external watchdog GPIO support added
1258
- Pixhawk1-bdshot support
1259
- Pixhawk6X-bdshot support
1260
- SpeedyBeeF4 loses bdshot support
1261
1262
3) Camera and Gimbal related changes
1263
- DO_SET_ROI_NONE command support added
1264
1265
4) Bug fixes
1266
- ADSB sensor loss of transceiver message less spammy
1267
- AutoTune Yaw rate max fixed
1268
- EKF vertical velocity reset fixed on loss of GPS
1269
- GPS pre-arm failure message clarified
1270
- SERVOx_PROTOCOL "SToRM32 Gimbal Serial" value renamed to "Gimbal" because also used by Siyi
1271
- SERIALx_OPTION "Swap" renamed to "SwapTXRX" for clarity
1272
- SBF GPS ellipsoid height fixed
1273
- Ublox M10S GPS auto configuration fixed
1274
- ZigZag mode user takeoff fixed (users could not takeoff in ZigZag mode previously)
1275
- fixed memory corruption bug with scripting restart
1276
1277
5) Device drivers
1278
- added LP5562 I2C LED driver
1279
- added IS31FL3195 LED driver
1280
1281
6) Applet changes
1282
- added QUIK_MAX_REDUCE parameter to VTOL quicktune lua applet
1283
1284
7) Plane specific changes
1285
- fixed takeoff mode to ensure climb to takeoff alt before turning
1286
- fixed error in quadplane wait for rudder neutral
1287
- improved handling of forward throttle during VTOL landing
1288
- fixed TECS state reset in VTOL auto modes
1289
- fixed early exit from loiter to alt
1290
- fixed display of started airspeed wait on forward transition
1291
1292
1293
Release 4.4.0 beta2
1294
-------------------
1295
1296
This is the second beta of plane 4.4.0. This includes some important
1297
fixes since beta1.
1298
1299
The full list of changes is:
1300
1301
- added SpeedyBeeF405WING, JSB100 and FoxeerH743
1302
- added LOG_DISARMED=3 support and LOG_DARM_RATEMAX
1303
- fixed error handling for being out of memory in EKF initialisation
1304
- fixed a bug in RC input handling on the IOMCU
1305
- fixed a bug handling ICE engine start after altitude reached
1306
- adjust EKF3 accel bias process noise for greater robustness
1307
- fixed an EKF3 bug in accel bias calculations
1308
- cope with compassmot impacting GSF yaw numerical stability
1309
- fixed an AUTOTUNE/QAUTOTUNE bug in yaw tuning
1310
- support INA228 and INA238 I2C battery monitors
1311
- always log rate PID slew limiters even when slew limit is zero
1312
- added MambaF4050v2 for new IMU, bdshot and DMA on UART1
1313
- update for FoxeerH743v1 GA release
1314
- reduced IMU init speed on MatekH743
1315
- move LED serial processing to its own thread
1316
- fixed parameter documentation for BRD_SAFETYOPTION
1317
- don't reject airspeed using EKF innovation if dead-reckoning
1318
- fixed USB pass-thru on 2nd USB endpoint
1319
1320
Release 4.3.7 31st May 2023
1321
---------------------------
1322
1323
This stable release is for the 4.3.x stable series and is being done
1324
because of a serious bug that has been found with RC input on boards
1325
that use an IOMCU for RC input (boards with a separate set of 8 "main"
1326
outputs from "aux" outputs).
1327
1328
The bug was that when RC input is lost and the receiver is one that
1329
uses "no pulses" for loss of RC input then there is a chance that when
1330
the RC link is regained that ArduPilot will not regain RC control and
1331
will continue in RC failsafe.
1332
1333
The bug is an old one, first introduced in the 4.0.6 release in
1334
September 2020. The bug does not occur often which is why it has been
1335
such a long time before it was noticed. We would like to thank CUAV
1336
for noticing and reporting the bug!
1337
1338
This release also has some other changes, some of which are to sync
1339
with the Copter 4.3.6 release (which will go to 4.3.7 with this RC
1340
input bug fix) and some are other bugs found since the 4.3.5 plane
1341
release.
1342
1343
This release skips the 4.3.6 number to sync with copter.
1344
1345
The full list of changes is:
1346
1347
- fixed a fault in the INS batch sampler code if you change the INS_LOG_BAT_CNT parameter without rebooting
1348
- fixed the RC input on IOMCU bug explained above
1349
- fixed a bug in ICE engine control if you do a "delay engine start" mission command while flying
1350
- added MCU voltage monitoring for the H757 microcontroller (eg. CubeOrangePlus)
1351
- servo gimbal mount yaw handling fix (only affects 3-axis servo gimbals)
1352
- PiccoloCAN fix for ESC voltage and current scaling
1353
- Gremsy gimbal fix when attached to autopilot's serial3 (or higher)
1354
- added CubeOrangePlus-bdshot build
1355
- fixed a bug in handling bad UART data in the megasquirt serial EFI driver
1356
- added -g option for configuring with debug symbols without full debug (helped with RCIN bug diagnosis)
1357
- fixed airmode switch for QACRO and QSTABILIZE modes
1358
- fixed a rare memory corruption bug in the STM32H757
1359
- fixed an EKF3 bug in accel bias calculations
1360
- adjust EKF3 accel bias process noise for greater robustness
1361
- cope with compassmot impacting GSF yaw numerical stability
1362
1363
1364
Please test and report any issues!
1365
1366
Release 4.4.0 beta1
1367
-------------------
1368
1369
This is the first beta of plane 4.4.0. It is a big release with lots
1370
of changes. Many thanks to all the people who have contributed!
1371
1372
1) New autopilots supported
1373
- ESP32
1374
- Flywoo Goku F405S AIO
1375
- Foxeer H743v1
1376
- MambaF405-2022B
1377
- PixPilot-V3
1378
- PixSurveyA2
1379
- rFCU H743
1380
- ThePeach K1/R1
1381
1382
2) Autopilot specific changes
1383
- Bi-Directional DShot support for CubeOrangePlus-bdshot, CUAVNora+, MatekF405TE/VTOL-bdshot, MatekL431, Pixhawk6C-bdshot, QioTekZealotH743-bdshot
1384
- Bi-Directional DShot up to 8 channels on MatekH743
1385
- BlueRobotics Navigator supports baro on I2C bus 6
1386
- BMP280 baro only for BeastF7, KakuteF4, KakuteF7Mini, MambaF405, MatekF405, Omnibusf4 to reduce code size (aka "flash")
1387
- CSRF and Hott telemetry disabled by default on some low power boards (aka "minimised boards")
1388
- Foxeer Reaper F745 supports external compasses
1389
- OmnibusF4 support for BMI270 IMU
1390
- OmnibusF7V2-bdshot support removed
1391
- KakuteF7 regains displayport, frees up DMA from unused serial port
1392
- KakuteH7v2 gets second battery sensor
1393
- MambaH743v4 supports VTX
1394
- MatekF405-Wing supports InvensenseV3 IMUs
1395
- PixPilot-V6 heater enabled
1396
- Raspberry 64OS startup crash fixed
1397
- ReaperF745AIO serial protocol defaults fixed
1398
- SkystarsH7HD (non-bdshot) removed as users should always use -bdshot version
1399
- Skyviper loses many unnecessary features to save flash
1400
- UBlox GPS only for AtomRCF405NAVI, BeastF7, MatekF405, Omnibusf4 to reduce code size (aka "flash")
1401
- VRBrain-v52 and VRCore-v10 features reduced to save flash
1402
1403
3) Driver enhancements
1404
- ARK RTK GPS support
1405
- BMI088 IMU filtering and timing improved, ignores bad data
1406
- CRSF OSD may display disarmed state after flight mode (enabled using RC_OPTIONS)
1407
- Daiwa winch baud rate obeys SERIALx_BAUD parameter
1408
- EFI supports fuel pressure and ignition voltage reporting and battery failsafe
1409
- ICM45686 IMU support
1410
- ICM20602 uses fast reset instead of full reset on bad temperature sample (avoids occasional very high offset)
1411
- ICM45686 supports fast sampling
1412
- MAX31865 temp sensor support
1413
- MB85RS256TY-32k, PB85RS128C and PB85RS2MC FRAM support
1414
- MMC3416 compass orientation fix
1415
- MPPT battery monitor reliability improvements, enable/disable aux function and less spammy
1416
- Multiple USD-D1-CAN radar support
1417
- NMEA output rate configurable (see NMEA_RATE_MS)
1418
- NMEA output supports PASHR message (see NMEA_MSG_EN)
1419
- OSD supports average resting cell voltage (see OSD_ACRVOLT_xxx params)
1420
- Rockblock satellite modem support
1421
- Serial baud support for 2Mbps (only some hardware supports this speed)
1422
- SF45b lidar filtering reduced (allows detecting smaller obstacles
1423
- SmartAudio 2.0 learns all VTX power levels)
1424
- UAVCAN ESCs report error count using ESC Telemetry
1425
- Unicore GPS (e.g. UM982) support
1426
- VectorNav 100 external AHRS support
1427
- 5 IMUs supported
1428
1429
4) EKF related enhancements
1430
- Baro compensation using wind estimates works when climbing or descending (see BAROx_WCF_UP/DN)
1431
- External AHRS support for enabling only some sensors (e.g. IMU, Baro, Compass) see EAHRS_SENSORS
1432
- Magnetic field tables updated
1433
- Non-compass initial yaw alignment uses GPS course over GSF (mostly affects Planes and Rover)
1434
1435
5) Control and navigation enhancements
1436
- AutoTune of attitude control yaw D gain (set AUTOTUNE_AXES=8)
1437
- DO_SET_ROI_NONE command turns off ROI
1438
- JUMP_TAG mission item support
1439
- Missions can be stored on SD card (see BRD_SD_MISSION)
1440
- NAV_SCRIPT_TIME command accepts floating point arguments
1441
- Pause/Resume returns success if mission is already paused or resumed
1442
- Payload Place support via lua script in quadplanes
1443
1444
7) Filtering enhancements
1445
- FFT notch can be run based on filtered data
1446
- Warn of motor noise at RPM frequency using FFT
1447
- In-flight FFT can better track low frequency noise
1448
- In-flight FFT logging improved
1449
- IMU data can be read and replayed for FFT analysis
1450
1451
8) Camera and gimbal enhancements
1452
- BMMCC support included in Servo driver
1453
- DJI RS2/RS3-Pro gimbal support
1454
- Dual camera support (see CAM2_TYPE)
1455
- Gimbal/Mount2 can be moved to retracted or neutral position
1456
- Gremsy ZIO support
1457
- IMAGE_START_CAPTURE, SET_CAMERA_ZOOM/FOCUS, VIDEO_START/STOP_CAPTURE command support
1458
- Parameters renamed and rescaled
1459
i) CAM_TRIGG_TYPE renamed to CAM1_TYPE and options have changed
1460
ii) CAM_DURATION renamed to CAM1_DURATION and scaled in seconds
1461
iii) CAM_FEEDBACK_PIN/POL renamed to CAM1_FEEBAK_PIN/POL
1462
iv) CAM_MIN_INTERVAL renamed to CAM1_INTRVAL_MIN and scaled in seconds
1463
v) CAM_TRIGG_DIST renamed to CAMx_TRIGG_DIST and accepts fractional values
1464
- RunCam2 4k support
1465
- ViewPro camera gimbal support
1466
1467
9) Logging changes
1468
- BARO msg includes 3-axis dynamic pressure useful for baro compensation of wind estimate
1469
- MCU log msg includes main CPU temp and voltage (was part of POWR message)
1470
- RCOut banner message always included in Logs
1471
- SCR message includes memory usage of all running scripts
1472
- CANS message includes CAN bus tx/rx statistics
1473
- OFCA (optical flow calibration log message) units added
1474
- Home location not logged to CMD message
1475
- MOTB message includes throttle output
1476
1477
10) Scripting enhancements
1478
- Generator throttle control example added
1479
- Heap max increased by allowing heap to be split across multiple underlying OS heaps
1480
- Hexsoon LEDs applet
1481
- Logging from scripts supports more formats
1482
- Parameters can be removed or reordered
1483
- Parameter description support (scripts must be in AP's applet or driver directory)
1484
- Rangefinder driver support
1485
- Runcam_on_arm applet starts recording when vehicle is armed
1486
- Safety switch, E-Stop and motor interlock support
1487
- Scripts can restart all scripts
1488
- Script_Controller applet supports inflight switching of active scripts
1489
1490
11) Custom build server enhancements
1491
- AIS support for displaying nearby boats can be included
1492
- Battery, Camera and Compass drivers can be included/excluded
1493
- EKF3 wind estimation can be included/excluded
1494
- PCA9685, ToshibaLED, PLAY_TUNE notify drivers can be included/excluded
1495
- RichenPower generator can be included/excluded
1496
- RC SRXL protocol can be excluded
1497
- SIRF GPSs can be included/excluded
1498
1499
12) Safety related enhancements and fixes
1500
- "EK3 sources require RangeFinder" pre-arm check fix when user only sets up 2nd rangefinder (e.g. 1st is disabled)
1501
- Pre-arm check that low and critical battery failsafe thresholds are different
1502
- Pre-arm message fixed if 2nd EKF core unhealthy
1503
- Pre-arm check if reboot required to enabled IMU batch sampling (used for vibe analysis)
1504
1505
13) Minor enhancements
1506
- Boot time reduced by improving parameter conversion efficiency
1507
- BRD_SAFETYENABLE parameter renamed to BRD_SAFETY_DEFLT
1508
- Compass calibration auxiliary switch function (set RCx_OPTION=171)
1509
- Disable IMU3 auxiliary switch function (set RCx_OPTION=110)
1510
- MAVFTP supports file renaming
1511
- MAVLink in-progress reply to some requests for calibration from GCS
1512
1513
14) Bug fixes:
1514
- ADSB telemetry and callsign fixes
1515
- Battery pct reported to GCS limited to 0% to 100% range
1516
- Bi-directional DShot fix on H7 boards after system time wrap (more complete fix than in 4.3.6)
1517
- DisplayPort OSD screen reliability improvement on heavily loaded OSDs especially F4 boards
1518
- DisplayPort OSD artificial horizon better matches actual horizon
1519
- EFI Serial MS bug fix to avoid possible infinite loop
1520
- EKF3 Replay fix when COMPASS_LEARN=3
1521
- ESC Telemetry external temp reporting fix
1522
- Fence upload works even if Auto mode is excluded from firmware
1523
- FMT messages logged even when Fence is exncluded from firmware (e.g. unselected when using custom build server)
1524
- Hardfault avoided if user changes INS_LOG_BAT_CNT while batch sampling running
1525
- ICM20649 temp sensor tolerate increased to avoid unnecessary FIFO reset
1526
- IMU detection bug fix to avoid duplicates
1527
- IMU temp cal fix when using auxiliary IMU
1528
- Message Interval fix for restoring default rate https://github.com/ArduPilot/ardupilot/pull/21947
1529
- RADIO_STATUS messages slow-down feature never completely stops messages from being sent
1530
- SERVOx_TRIM value output momentarily if SERVOx_FUNCTION is changed from Disabled to RCPassThru, RCIN1, etc. Avoids momentary divide-by-zero
1531
- Scripting file system open fix
1532
- Scripting PWM source deletion crash fix
1533
- MAVFTP fix for low baudrates (4800 baud and lower)
1534
- ModalAI VOXL reset handling fix
1535
- MPU6500 IMU fast sampling rate to 4k (was 1K)
1536
- NMEA GPGGA output fixed for GPS quality, num sats and hdop
1537
- Position control reset avoided even with very uneven main loop rate due to high CPU load
1538
- Terrain offset increased from 15m to 30m (see TERRAIN_OFS_MAX) to reduce chance of "clamping"
1539
- Throttle notch FFT tuning param fix
1540
1541
15) Developer specific items
1542
- DroneCAN replaces UAVCAN
1543
- FlighAxis simulator rangefinder fixed
1544
- Scripts in applet and drivers directory checked using linter
1545
- Simulator supports main loop timing jitter (see SIM_TIME_JITTER)
1546
- Simulink model and init scripts
1547
- SITL on hardware support (useful to demo servos moving in response to simulated flight)
1548
- SITL parameter definitions added (some, not all)
1549
- Webots 2023a simulator support
1550
- XPlane support for wider range of aircraft
1551
1552
16) Plane specific changes
1553
- new aerobatics scripting system with flexible schedules
1554
- added plane-3d SITL model
1555
- added quadlane landing abort AUX switch
1556
- added TKOFF_GND_PITCH for taildragger takeoff
1557
- new ACRO_LOCKING=2 mode for quaternion locking with yaw rate controller
1558
- allow yaw rate autotune in modes other than AUTOTUNE
1559
- use a cone for QRTL climb close to home
1560
- added Y4 VTOL config for quadplanes
1561
- added throttle scaling for vectored yaw
1562
- added turn corrdination to yaw AUTOTUNE
1563
- added Q_OPTION for motor tilt when disarmed in fixed wing modes
1564
1565
1566
Release 4.3.5 26th March 2023
1567
------------------------------
1568
1569
- fixed 32 bit microsecond wrap in BDShot code
1570
1571
This release has a single bug fix for a critical bug for anyone using
1572
bi-directional DShot on their vehicle. If using bi-directional DShot
1573
and the vehicle is running its motors when 32 bit microsecond time
1574
wraps at 71 minutes (or multiples of 71 minutes) then the bug that is
1575
fixed in this release has an approximately 1 in 3 chance of causing
1576
the motor to stop.
1577
1578
Note that the time is the time since boot, not the time since arming,
1579
so even vehicles flying for a short time could be vulnerable if they
1580
sit for a long time on the ground before takeoff.
1581
1582
Release 4.3.4 1st March 2023
1583
-----------------------------
1584
1585
- support CubeOrangePlus BG edition
1586
- enable VTX power on MambaH743v4
1587
- probe external compasses on Foxeer Reaper F745
1588
- fixed home update on bad GPS quality
1589
- fixed GPS unconfigured error for non-M10 uBlox GPS
1590
- don't allow RC protocol change on IOMCU once detected
1591
- fixed FBWA pitch limits when in VTOL qassist
1592
- fixed handling of zero compass diagonals
1593
- added an output buffer to MAVCAN
1594
- set emergency status in OpenDroneID on crash or chute deploy
1595
- avoid logging duplicate format messages
1596
- fixed bug in alt error arming check with BARO_FIELD_ELEV set
1597
- fixed handling of double IOMCU reset and safety disable
1598
- enable VTX power on MambaF405 2022
1599
- disable PWMSource feature in lua scripts (will be back in 4.4.x)
1600
- fixed throttle wait on rudder arming in quadplanes
1601
- fixed earth frame accel compensation for AHRS_TRIM
1602
1603
Happy flying!
1604
1605
Release 4.3.3 Jan 19th 2023
1606
---------------------------
1607
1608
- AIRLink LTE module enable pin added
1609
- CUAV Nora/Nora+ bdshot firmware (allows Bi-directional DShot)
1610
- CubeOrange, CubeYellow gets fast reset of ICM20602
1611
- PixPilot-V6 support
1612
- Attitude and Navigation controllers use real-time dt (better handles variable or slow main loop)
1613
- Analog rangefinder GPIO pin arming check fixed
1614
- Arming check of AHRS/EKF vs GPS location disabled if GPS disabled
1615
- Position Controller limit handling improved to avoid overshooting and hard landings
1616
- PSC_ANGLE_MAX param reduction causing WPNAV_ACCEL to be set too low fixed
1617
- Servo gimbal yaw jump to opposite side fixed
1618
- Siyi A8 gimbal driver's record video feature fixed
1619
- SToRM32 serial gimbal driver actual angle reporting fixed (pitch and yaw angle signs were reversed)
1620
- Takeoff in Auto, Guided fixed when target altitude is current altitude
1621
- Takeoff in Auto handles baro drift before takeoff
1622
- Takeoff twitch due to velocity integrator init bug fixed
1623
- moved FTP MAVLink transfers to FTP thread and better control bandwidth
1624
- switch to QRTL if inside RTL radius when using Q_RTL_MODE=3 (approach)
1625
- check for 3 good frames for CRSF
1626
- allow for ELRS at 420kbaud
1627
- support MambaH743-v2
1628
- support MambaF405-2022B
1629
- fixed nullptr checks on new
1630
- fixed a bug in terrain handling for ship landing lua script checks on new
1631
1632
Happy flying!
1633
1634
Release 4.3.2 Dec 23rd 2022
1635
---------------------------
1636
1637
This is a minor release with bug fixes for the 4.3.x release series.
1638
1639
Changes from 4.3.1:
1640
1641
- improved uBlox M10 support
1642
- CubeOrange defaults to using 2nd IMU as primary
1643
- SIRF and SBP GPS disabled on BeastF7v2, MatekF405-STD, MAtekF405-Wing, omnibusf4pro
1644
- fixed loading of autotune gains during pilot testing
1645
- Fixed CAM_MIN_INTERVAL to cope with mission and pilot triggering
1646
- EKF3 fix when using EK3_RNG_USE_HGT/SPD params and rangefinder provides bad readings
1647
- Main loop slowdown after arming fixed (parameter logging was causing delays)
1648
- changed to 'fast task' scheme for critical loop updates
1649
- MAVLink commands received on private channels checked for valid target sysid
1650
- ModalAI camera support fixed (ODOMETRY message frame was consumed incorrectly)
1651
- Param reset after firmware load fixed on several boards
1652
- Siyi A8 gimbal support fixed
1653
- Windows builds move to compiling only 64-bit executables
1654
- ARKV6X support
1655
- MatekH743 supports 8 bi-directional dshot channels
1656
- Pixhawk1 boards support MS5607 baros
1657
- SpeedbyBee F405v3 support
1658
- DroneCAN Airspeed sensor support including hygrometer readings
1659
- Pre-arm warning if multiple UARTs with SERIALx_PROTOCOL = RCIN
1660
- Siyi gimbal support
1661
- Arm check warning loses duplicate "AHRS" prefix
1662
- AtomRCF405NAVI bootloader file name fixed
1663
- BRD_SAFETY_MASK fixed on boards with both FMU safety switch and IOMCU
1664
- Compass calibration continues even if a single compass's cal fails
1665
- Gremsy gimbal driver sends autopilot info at lower rate to save bandwidth
1666
- Invensense 42605 and 42609 IMUs use anti-aliasing filter and notch filter
1667
- OSD stats screen fix
1668
- RC input on serial port uses first UART with SERIALx_PROTOCOL = 23 (was using last)
1669
- RunCam caching fix with enablement and setup on 3-pos switch
1670
- RTK CAN GPS fix when GPSs conneted to separate CAN ports on autopilot
1671
- fixed yaw rate for fixed wing autotune
1672
1673
Release 4.3.1 24th Oct 2022
1674
---------------------------
1675
1676
This is a minor release with some important fixes:
1677
1678
- fixed build with gcc 11.3
1679
- fixed random number generator in lua core
1680
- scale VTOL angle P with airspeed in quadplane back-transiton
1681
- added support for implementing AUX functions in lua scripts
1682
- fixed BMI085 accel scaling
1683
- fixed KSXT NMEA parsing affecting position resolution
1684
- fixed race condition in TECS control leading to 'nod' in forward transiton
1685
- allow for expansion of notch filters to fix notch of fwd motors in quadplanes
1686
- added logging of TECS target alt
1687
- fixed EKF3 altitude discrepancy with GPS or baro alt change on startup
1688
- allow auto mode sequencing to land in a fence breach
1689
1690
Happy flying!
1691
1692
Release 4.3.0 9th Oct 2022
1693
--------------------------
1694
1695
The is the first 4.3.x stable release for plane. It is a major release
1696
with a lot of changes since 4.2.3.
1697
1698
Changes since 4.3.0beta3:
1699
1700
- added 1M and 2M flash warning checks for for fmuv2, fmuv3 and Pixhawk1-1M firmwares
1701
- added support for multi-byte i2c reads in scripting
1702
1703
The change list from 4.2.3 stable is very long. Here are the main changes:
1704
1705
- fixed BRD_SAFETY_MASK for enabling outputs when safety on
1706
- fixed persistence of mapping of CAN airspeed sensors to instances
1707
- fixed precision of NMEA serial output function
1708
- added report of "Engine Running" when using ICE
1709
- fixed handling of defaults.parm files with lines over 100 chars
1710
- fixed handling of defaults.parm files with no newline on last line
1711
- fixed possible divide by zero when changing to GUIDED on quadplanes
1712
- fixes for VideoTX, fixing buffer overrun and tramp handling
1713
- fixed spurious error about sending RPM when RPM disabled
1714
- fixed an EKF3 lane switch issue that can cause incorrect height with dual GPS
1715
- fixed mission cmd to mission int initialisation error
1716
- fixed mission jump tracking init on startup
1717
- fixed OSD view roll/pitch error for tailsitters
1718
- added SkystarsH7HD-bdshot
1719
- fixed SkystarsH7HD VTX control
1720
- reduced memory usage on MatekF405-CAN board
1721
- disable SLCAN when armed to reduce CPU load
1722
- enable CAN battery mon on CUAV V6X by default
1723
- added arming check for Q_M_SPIN_MIN value too high
1724
- fixed reporting of RPM from harmonic notch
1725
- improved handling of airspeed errors and airspeed auto disable
1726
- fixed SERVO_AUTO_TRIM for multiple outputs of same type
1727
- fixed auto baud rate detection on SBF/GSOF/NOVA GPS
1728
- increased max board name length for mavlink statustext to 23
1729
- fixed incorrect disable of notches for non-throttle notch
1730
- added notch filter slew limit to reduce notch errors
1731
- added ARMING_OPTIONS to control display of pre-arm errors
1732
- several OSD fixes for params, font and resolution
1733
- support PWM type transmission for CAN PWM output
1734
- support Currawong ECU as EFI backend
1735
- support lua scripts for EFI backends
1736
- implement SkyPower and HFE CAN EFI lua scripts
1737
- improved speed of log download with dataflash block backends
1738
- disabled all GPS drivers except uBlox and NMEA on Pixhawk1-1M to save flash
1739
- disabled all GPS drivers except uBlox on MatekF405-bdshot and omnibusf4pro-bdshot
1740
- fixed FFT indexing bug
1741
- added USART2 for AIRLink
1742
- allow reset to default airspeed using mission item DO_CHANGE_SPEED
1743
- added new boards AtomRCF405, KakuteH7Mini-Nand, SkystarsH7HD
1744
- added bi-directional dshot for several new boards
1745
- EK3_GPS_VACC_MAX threshold to control when GPS altitude is used as alt source
1746
- EKF ring buffer fix for slow sensor updates
1747
- EKF3 source set change captured in replay logs
1748
- numerous gimbal support improvements
1749
- improved RemoteId support
1750
- SecureBoot support with remote update of secure boot public keys
1751
- crash_dump.bin file saved to SD Card on startup (includes details re cause of software failures)
1752
- several new pre-arm checks (AHRS type, scripts, terrain)
1753
- numerous scripting improvements
1754
- fixed scripting restart leaking memory
1755
- Benewake H30 radar support
1756
- BMI270 IMU performance improvements
1757
- Logging pause with auxiliary switch
1758
- TeraRanger Neo rangefinder support
1759
- support for both AMSL and ellipsoid height in most GPS drivers
1760
- Custom controller support
1761
- parameter defaults sent with param FTP and onboard logs
1762
- Sim on Hardware allows simulator to run on autopilot
1763
- added Q_LAND_ALTCHG parameter
1764
- added climb before QRTL for safer QRTL from low altitudes
1765
- added support for logging pre and post filtered FFT data
1766
- support triple-notch harmonic notch filter
1767
- support up to 32 actuators (with SERVO_32_ENABLE parameter)
1768
- support EFI input over DroneCAN
1769
- by default only run notch filter on first IMU
1770
- added ESC_TLM_MAV_OFS parameter for mapping ESCs to MAVLink ESC telemetry
1771
- added Q_NAVALT_MIN for quadplane takeoff
1772
- added ICE redline governor
1773
- added in-flight FFT notch tuning option
1774
- added Sagetech ADSB support
1775
- added INS_HNTCH_FM_RAT parameter for handling under-hover throttle
1776
- improvements to filtering on ICM42xxx IMUs
1777
- added option parameters to NAV_VTOL_LAND mission item for fixed wing approach
1778
1779
Many thanks to the huge number of developers, testers and documenters
1780
who contributed to the 4.3.0 release!
1781
1782
Special thanks to all the ArduPilot Parters who have worked closely
1783
with us on the 4.3.x development and testing, with many partners
1784
contributing suggestions or supporting particular features.
1785
1786
Release 4.3.0beta3 7th Oct 2022
1787
-------------------------------
1788
1789
This is the third beta of the 4.3.0 stable release. Changes since
1790
beta1 are:
1791
1792
- fixed BRD_SAFETY_MASK for enabling outputs when safety on
1793
- fixed persistence of mapping of CAN airspeed sensors to instances
1794
- fixed precision of NMEA serial output function
1795
- added report of "Engine Running" when using ICE
1796
- fixed handling of defaults.parm files with lines over 100 chars
1797
- fixed handling of defaults.parm files with no newline on last line
1798
- fixed possible divide by zero when changing to GUIDED on quadplanes
1799
1800
Happy flying!
1801
1802
Release 4.3.0beta2 3rd Oct 2022
1803
-------------------------------
1804
1805
This is the second beta of the 4.3.0 stable release. Changes since
1806
beta1 are:
1807
1808
- fixes for VideoTX, fixing buffer overrun and tramp handling
1809
- fixed spurious error about sending RPM when RPM disabled
1810
- fixed an EKF3 lane switch issue that can cause incorrect height with dual GPS
1811
- fixed mission cmd to mission int initialisation error
1812
- fixed mission jump tracking init on startup
1813
- fixed OSD view roll/pitch error for tailsitters
1814
- added SkystarsH7HD-bdshot
1815
- fixed SkystarsH7HD VTX control
1816
- reduced memory usage on MatekF405-CAN board
1817
- disable SLCAN when armed to reduce CPU load
1818
- enable CAN battery mon on CUAV V6X by default
1819
- added arming check for Q_M_SPIN_MIN value too high
1820
- fixed reporting of RPM from harmonic notch
1821
- improved handling of airspeed errors and airspeed auto disable
1822
- fixed SERVO_AUTO_TRIM for multiple outputs of same type
1823
- fixed auto baud rate detection on SBF/GSOF/NOVA GPS
1824
- increased max board name length for mavlink statustext to 23
1825
- fixed incorrect disable of notches for non-throttle notch
1826
- added notch filter slew limit to reduce notch errors
1827
- added ARMING_OPTIONS to control display of pre-arm errors
1828
- several OSD fixes for params, font and resolution
1829
- support PWM type transmission for CAN PWM output
1830
- support Currawong ECU as EFI backend
1831
- support lua scripts for EFI backends
1832
- implement SkyPower and HFE CAN EFI lua scripts
1833
- improved speed of log download with dataflash block backends
1834
- disabled all GPS drivers except uBlox and NMEA on Pixhawk1-1M to save flash
1835
- disabled all GPS drivers except uBlox on MatekF405-bdshot and omnibusf4pro-bdshot
1836
- fixed FFT indexing bug
1837
- added USART2 for AIRLink
1838
- allow reset to default airspeed using mission item DO_CHANGE_SPEED
1839
1840
Happy flying!
1841
1842
1843
Release 4.3.0beta1 13th Sep 2022
1844
--------------------------------
1845
1846
This is the first beta of the 4.3.0 stable release. There are a lot of
1847
changes since the 4.2.3 stable release. Key changes are:
1848
1849
- added new boards AtomRCF405, KakuteH7Mini-Nand, SkystarsH7HD
1850
- added bi-directional dshot for several new boards
1851
- EK3_GPS_VACC_MAX threshold to control when GPS altitude is used as alt source
1852
- EKF ring buffer fix for slow sensor updates
1853
- EKF3 source set change captured in replay logs
1854
- numerous gimbal support improvements
1855
- improved RemoteId support
1856
- SecureBoot support with remote update of secure boot public keys
1857
- crash_dump.bin file saved to SD Card on startup (includes details re cause of software failures)
1858
- several new pre-arm checks (AHRS type, scripts, terrain)
1859
- numerous scripting improvements
1860
- fixed scripting restart leaking memory
1861
- Benewake H30 radar support
1862
- BMI270 IMU performance improvements
1863
- Logging pause with auxiliary switch
1864
- TeraRanger Neo rangefinder support
1865
- support for both AMSL and ellipsoid height in most GPS drivers
1866
- Custom controller support
1867
- parameter defaults sent with param FTP and onboard logs
1868
- Sim on Hardware allows simulator to run on autopilot
1869
- added Q_LAND_ALTCHG parameter
1870
- added climb before QRTL for safer QRTL from low altitudes
1871
- added support for logging pre and post filtered FFT data
1872
- support triple-notch harmonic notch filter
1873
- support up to 32 actuators (with SERVO_32_ENABLE parameter)
1874
- support EFI input over DroneCAN
1875
- by default only run notch filter on first IMU
1876
- added ESC_TLM_MAV_OFS parameter for mapping ESCs to MAVLink ESC telemetry
1877
- added Q_NAVALT_MIN for quadplane takeoff
1878
- added ICE redline governor
1879
- added in-flight FFT notch tuning option
1880
- added Sagetech ADSB support
1881
- added INS_HNTCH_FM_RAT parameter for handling under-hover throttle
1882
- improvements to filtering on ICM42xxx IMUs
1883
- added option parameters to NAV_VTOL_LAND mission item for fixed wing approach
1884
1885
Please report flight tests of the 4.3.0beta series on discuss.ardupilot.org
1886
1887
Happy flying!
1888
1889
Release 4.2.3 21st August 2022
1890
------------------------------
1891
1892
This is a minor stable release with a few new features and bug
1893
fixes. The changes from 4.2.0 are:
1894
1895
- OpenDroneID improvements
1896
- added --enable-opendroneid configure option
1897
- added --enable-check-firmware configure option
1898
- enable OSD menus on KakuteH7
1899
- added prearm checks for rangefinder pin conflicts
1900
- added diagnostics for scurve internal error
1901
- allow absolute paths for linux boards in param defaults
1902
- fixed AIRBRAKE rc option warning
1903
- fixed notch filtering ordering issue on loss of RPM source
1904
- fixed Lutan EFI update serial flood
1905
- fixed --upload to work on WSL2
1906
- allow INA2xx battery to init after startup
1907
- fixed healthy check on battery monitors to check all enabled monitors
1908
- added Pixhawk6C and Pixhawk6X support
1909
- fixed alighment of QRTL start in fixed wing circle landing approach
1910
- added Foxeer Reaper F745 support
1911
- added MFE PixSurveyA1 support
1912
- fixed combination of waypoint passby with acceptance distance
1913
- cut throttle on ICE stop when armed
1914
- added ICE option for starting when disarmed
1915
- zero VFWD integrator on ICE override in quadplanes
1916
- don't failsafe when in fixed wing landing sequence with RTL_AUTOLAND
1917
- improved handling of overshoot in VTOL landing
1918
- improved choice of target airspeed in VTOL landing approach
1919
- improved ICM42xxx filter settings
1920
- allow for faster sample rates on ICM42xxx
1921
1922
Release 4.2.3beta3 19th August 2022
1923
-----------------------------------
1924
1925
This is a minor stable release with a few new features and bug
1926
fixes. The changes from beta1 are:
1927
1928
- OpenDroneID improvements
1929
- added --enable-opendroneid configure option
1930
- added --enable-check-firmware configure option
1931
- reverted notch filter changes from beta3 due to issue on some aircraft
1932
- enable OSD menus on KakuteH7
1933
- added prearm checks for rangefinder pin conflicts
1934
- added diagnostics for scurve internal error
1935
- allow absolute paths for linux boards in param defaults
1936
- fixed AIRBRAKE rc option warning
1937
1938
1939
Release 4.2.3beta2 10th August 2022
1940
-----------------------------------
1941
1942
This is a minor stable release with a few new features and bug
1943
fixes. The changes from beta1 are:
1944
1945
- OpenDroneID support
1946
- fixed notch filtering ordering issue on loss of RPM source
1947
- fixed Lutan EFI update serial flood
1948
- fixed --upload to work on WSL2
1949
1950
Release 4.2.3beta1 2nd August 2022
1951
----------------------------------
1952
1953
This is a minor stable release with a few new features and bug
1954
fixes. The changes are:
1955
1956
- allow INA2xx battery to init after startup
1957
- fixed healthy check on battery monitors to check all enabled monitors
1958
- added Pixhawk6C and Pixhawk6X support
1959
- fixed alighment of QRTL start in fixed wing circle landing approach
1960
- added Foxeer Reaper F745 support
1961
- added MFE PixSurveyA1 support
1962
- fixed combination of waypoint passby with acceptance distance
1963
- cut throttle on ICE stop when armed
1964
- added ICE option for starting when disarmed
1965
- zero VFWD integrator on ICE override in quadplanes
1966
- don't failsafe when in fixed wing landing sequence with RTL_AUTOLAND
1967
- improved handling of overshoot in VTOL landing
1968
- improved choice of target airspeed in VTOL landing approach
1969
- improved ICM42xxx filter settings
1970
- allow for faster sample rates on ICM42xxx
1971
1972
1973
1974
Release 4.2.2 24th June 2022
1975
----------------------------
1976
1977
This is a minor stable release with a few new features and bug
1978
fixes. Just one change since beta1. The changes are:
1979
1980
- support two full harmonic notches using the INS_HNTC2_ parameters
1981
- adjust neopixel bitwidths for better reliability
1982
- fixed EKF3 replay bugs that caused poor replay fidelity
1983
- added BLHeli_S ESC type in SERVO_DSHOT_ESC
1984
- reduced min lean angle for alt-hold in quadplanes to 5 degrees
1985
- fixed param ftp run length encoding bug
1986
- reduced default quadplane rate accelerations and XY position gains
1987
- improved parameter checks of Q_M_PWM parameters for bad conversions
1988
- added Q_NAVALT_MIN parameter for min alt to start attitude control in takeoff
1989
- added CAN_Dn_UC_POOL parameter to control DroneCAN pool size, to allow memory saving on F4 boards
1990
- saved hardfault crash dumps to microSD if detected
1991
- fixed PWM rangefinder bug and support SCALING parameter
1992
- updated OSD flight modes menu for newer modes
1993
- preserve new rangefinder addresses on VL53L1X
1994
- protect against hardfault on bad CRSF frames
1995
- handle reset of CRSF receiver in flight
1996
- added MambaH743v4 and MambaF405 MK4
1997
- fixed fault on FFT init with ARMING_REQUIRE=0
1998
- synced quicktune lua script with latest version
1999
- learn MAVLink routes on private channels
2000
- fixed throttle compensation with FWD_BAT_VOLT_MAX at low voltages
2001
2002
Happy flying!
2003
2004
Release 4.2.2beta1 16th June 2022
2005
---------------------------------
2006
2007
This is a minor stable release with a few new features and bug
2008
fixes. The changes are:
2009
2010
- support two full harmonic notches using the INS_HNTC2_ parameters
2011
- adjust neopixel bitwidths for better reliability
2012
- fixed EKF3 replay bugs that caused poor replay fidelity
2013
- added BLHeli_S ESC type in SERVO_DSHOT_ESC
2014
- reduced min lean angle for alt-hold in quadplanes to 5 degrees
2015
- fixed param ftp run length encoding bug
2016
- reduced default quadplane rate accelerations and XY position gains
2017
- improved parameter checks of Q_M_PWM parameters for bad conversions
2018
- added Q_NAVALT_MIN parameter for min alt to start attitude control in takeoff
2019
- added CAN_Dn_UC_POOL parameter to control DroneCAN pool size, to allow memory saving on F4 boards
2020
- saved hardfault crash dumps to microSD if detected
2021
- fixed PWM rangefinder bug and support SCALING parameter
2022
- updated OSD flight modes menu for newer modes
2023
- preserve new rangefinder addresses on VL53L1X
2024
- protect against hardfault on bad CRSF frames
2025
- handle reset of CRSF receiver in flight
2026
- added MambaH743v4 and MambaF405 MK4
2027
- fixed fault on FFT init with ARMING_REQUIRE=0
2028
- synced quicktune lua script with latest version
2029
- learn MAVLink routes on private channels
2030
2031
Happy flying!
2032
2033
Release 4.2.1 23rd May 2022
2034
---------------------------
2035
2036
This is a minor release on top of the 4.2 firmware. It has a number of
2037
bug fixes and safety improvements. The changes are:
2038
2039
- fixed a bug in handling wrap in log download when 500 logs are on the microSD card
2040
- added FlyingMoonF407 and FlyingMoonF427 support
2041
- fixed RSSI input on the RCIN pin on CubeBlack and CubeOrange
2042
- fixed update of gyro FFT throttle tracking
2043
- removed unhealthy reporting on airspeed sensors with negative pressure as this commonly happens on VTOL takeoff
2044
- improved handling of large LOITER_TURNS mission items, expanding maximum to 2.5km
2045
- added fuel usage integration on Lutan EFI
2046
- refuse arming in AUTO when in a landing sequence due to a failsafe
2047
- account for sprung throttle (from RC_OPTIONS) in throttle suppression code
2048
- improved safety of in-flight compass learning
2049
- fixed automatic airspeed ratio calibration for 2nd airspeed sensor
2050
- increase safety of GUIDED -> AUTO takeoff sequence used by QGC
2051
- added CAN_Dx_UC_ESC_OF parameter for ESC offset for bandwidth efficiency
2052
- fixed handling of safety state on boards with no safety switch
2053
- fixed bug where a false positive could trigger landing disarm while land repositioning is active
2054
2055
The most important fixes are related to how QGC (which is often used
2056
on modern GCS style transmitters) does automatic takeoff with the
2057
"swipe right for takeoff" system. QGC does a sequence of a change to
2058
GUIDED mode, then arming, then change to AUTO mode. That sequence is
2059
dangerous if the current waypoint is not properly reset to a VTOL
2060
takeoff. To fix this a number of changes were made to ensure that
2061
takeoff is done with a valid VTOL takeoff. The changes include
2062
handling of failsafe events (such as GCS or RC failsafe) part way
2063
through this takeoff sequence. If QRTL or RTL is engaged during this
2064
sequence then the vehicle will switch to QLAND.
2065
2066
Happy flying!
2067
2068
2069
Release 4.2.1beta1 19th May 2022
2070
--------------------------------
2071
2072
This is a minor release on top of the 4.2 firmware. It has a number of
2073
bug fixes and safety improvements. The changes are:
2074
2075
- fixed a bug in handling wrap in log download when 500 logs are on the microSD card
2076
- added FlyingMoonF407 and FlyingMoonF427 support
2077
- fixed RSSI input on the RCIN pin on CubeBlack and CubeOrange
2078
- fixed update of gyro FFT throttle tracking
2079
- removed unhealthy reporting on airspeed sensors with negative pressure as this commonly happens on VTOL takeoff
2080
- improved handling of large LOITER_TURNS mission items, expanding maximum to 2.5km
2081
- added fuel usage integration on Lutan EFI
2082
- refuse arming in AUTO when in a landing sequence due to a failsafe
2083
- account for sprung throttle (from RC_OPTIONS) in throttle suppression code
2084
- improved safety of in-flight compass learning
2085
- fixed automatic airspeed ratio calibration for 2nd airspeed sensor
2086
- increase safety of GUIDED -> AUTO takeoff sequence used by QGC
2087
- added CAN_Dx_UC_ESC_OF parameter for ESC offset for bandwidth efficiency
2088
2089
The most important fixes are related to how QGC (which is often used
2090
on modern GCS style transmitters) does automatic takeoff with the
2091
"swipe right for takeoff" system. QGC does a sequence of a change to
2092
GUIDED mode, then arming, then change to AUTO mode. That sequence is
2093
dangerous if the current waypoint is not properly reset to a VTOL
2094
takeoff. To fix this a number of changes were made to ensure that
2095
takeoff is done with a valid VTOL takeoff. The changes include
2096
handling of failsafe events (such as GCS or RC failsafe) part way
2097
through this takeoff sequence. If QRTL or RTL is engaged during this
2098
sequence then the vehicle will switch to QLAND.
2099
2100
Happy flying!
2101
2102
Release 4.2.0 4th May 2022
2103
--------------------------
2104
2105
This is the first 4.2 stable release of plane. Since 4.2.0beta6 there
2106
have only been 3 changes:
2107
2108
- added VTOL-quicktune lua script
2109
- fixed custom compass orientation for DroneCAN compasses
2110
- fixed a bug in blended Z accel calculation when not using first IMU
2111
2112
Since the last stable 4.1.7 release there have been over 4k changes,
2113
so it is not practical to list them all here. Highlights for plane
2114
users include:
2115
2116
- smoother quadplane transitions
2117
- ship landing support
2118
- CAN over mavlink support
2119
- major tailsitter improvements
2120
- much better error reporting and diagnostics
2121
- numerous lua scripting improvements
2122
- improved weathervaning support and options
2123
- support for fixed wing aerobatics
2124
- many new flight controllers added
2125
- DroneCAN dual-GPS for yaw support
2126
2127
Happy flying!
2128
2129
2130
Release 4.2.0beta6 28th April 2022
2131
----------------------------------
2132
2133
This is the 6th beta of the 4.2.0 major release
2134
2135
- fix FIFO overruns on the BMI088 IMU
2136
- fix plane avoidance behaviour when in AvoidADSB mode
2137
- disable fatal exceptions on DMA errors on STM32
2138
- changed quadplane weathervaning to make pitch input optional for nose-in and tail-in
2139
- increased default scripting heap size on F7/H7 to 100k
2140
- added ICM42688 option on MatekH743
2141
- added ICM4xxxx option on QiotekZealotH743
2142
- rename INS_NOTCH parameters to INS_HNTC2
2143
- added Q_OPTION for RTL on failsafe in Q modes, for ship operation
2144
- disabled setting of highest airspeed when disarmed
2145
- fixed init of file descriptor in logging
2146
- cope with gaps in log listing, and reduce impact of log listing on EKF and ESCs
2147
- avoided repeated message on "failed to detach from pin" for RPM
2148
- improved error messages on GPIO pin configuration conflict
2149
- use narrower bitwidths for dshot, giving more accurate timing
2150
- added MatekF765-Wing-bdshot target
2151
- fixed use of DO_SET_SERVO with SERVOn_FUNCTION=0
2152
- several improvements to SPRacingH7 support
2153
2154
Happy flying!
2155
2156
Release 4.2.0beta5 5th April 2022
2157
---------------------------------
2158
2159
This is the 5th beta of the 4.2.0 major release
2160
2161
- fixed a timer bug that could cause boards using flash storage to watchdog
2162
- added OTG2 USB on QioTekZealotH743
2163
- increased stack size on log and monitor threads
2164
- fixed rudder control when ARMING_RUDDER != 2 on quadplanes
2165
- fixed accel bias when an IMU is disabled in EKF3
2166
- improved QSPI support for SPro H7 Extreme
2167
- fixed @SYS file logging
2168
- fixed buzzer on MatekH743, going back to 16 bit timer
2169
- fixed H7 flash storage bug that caused re-init on overflow
2170
- fixed incorrect lock class in UART driver
2171
2172
Happy flying!
2173
2174
Release 4.2.0beta4 28th March 2022
2175
----------------------------------
2176
2177
This is the 4th beta of the 4.2.0 major release.
2178
2179
- added BATT_OPTIONS option to send resting voltage (corrected for internal resistance) to the ground station
2180
- fixed a bug when a blended GPS is lost, where the wrong GPS could be used for a short time
2181
- prevent rapid RTL/AUTO switching with DO_LAND_START and fence breach
2182
- added RTL_AUTOLAND=3 to prevent arming check about DO_LAND_START with no RTL_AUTOLAND
2183
- fixed yaw in AUTO mode on the ground on quadplanes when using rudder to disarm
2184
- fixed failover between IOMCU RC input and a secondary RC input on a uart
2185
- display source of RC input with protocol
2186
- fixed DShot reversal bugs with IOMCU based boards
2187
- fixed battery remaining percentage with sum battery backend
2188
- added KakuteH7-bdshot
2189
- added terrain reference adjustment and TERRAIN_OFS_MAX parameter
2190
- fixed param conversion bug (impacts airspeed enable)
2191
- changed MatekH743 to use a 32 bit timer
2192
2193
Happy flying!
2194
2195
Release 4.2.0beta3 18th March 2022
2196
----------------------------------
2197
2198
This is the 3rd beta of the 4.2.0 major release. This beta should be
2199
close to the final 4.2.0 release.
2200
2201
- fixed pitch envelope constraint after AIRBRAKE
2202
- improvements to POSITION1 quadplane landing controller
2203
- added arming check for Q_ASSIST_SPEED
2204
- added warning if arming with ARMING_CHECK=0
2205
- added arming check for DO_LAND_START with RTL_AUTOLAND=0
2206
- improved throttle mix for quadplane autoland
2207
- added fence breach message on GCS
2208
- constrain indexing on declination tables
2209
2210
Happy flying!
2211
2212
Release 4.2.0beta2 10th March 2022
2213
----------------------------------
2214
2215
This is the 2nd beta of the 4.2.0 major release. This beta should be
2216
close to the final 4.2.0 release.
2217
2218
- fixed EKF3 constrain bug
2219
- added quadplane ship landing support
2220
- added Q_LAND_ALTCHG to adjust landing detection sensitivity
2221
- fixed a bug in terrain home compensation
2222
- changed quaplane POSITION1 landing controller to use jerk and accel limiting
2223
- fixed default gain for weathervaning on quadplanes
2224
- fixed health check of airspeed sensor for dual sensors
2225
- fixed arming check on servos for GPIO outputs
2226
- disable stick mixing when RC input is unavailable
2227
- fixed stick mixing during GCS failsafe
2228
- disallow mavlink disarm while flying
2229
- adjust frequency selection for DShot
2230
- fixed logging bug for MCU voltage
2231
- added BeastH7v2 support
2232
- improvement to AC_WPNav for quadplane waypoint control
2233
- simplify RC failsafe messages sent to GCS
2234
2235
Happy flying!
2236
2237
Release 4.2.0beta1 2nd March 2022
2238
---------------------------------
2239
2240
This is a major release with a lot of changes. We expect at least 4
2241
weeks of beta testing and several beta updates before 4.2.0 final is
2242
released.
2243
2244
Changes include:
2245
2246
- EKF startup messages reduced
2247
- LORD Microstrain CX5/GX5 external AHRS support
2248
- Auto mode supports up to 100 DO_JUMP commands on high memory boards
2249
- Auto support for NAV_SCRIPT_TIME commands (Lua within Auto)
2250
- aerobatic scripting from any mode via RC switches
2251
- new boards AirLink, BeastF7v2, BeastH7v2, JHEMCU GSF405A, KakuteH7, KakuteH7Mini, MambaF405US-I2C, MatekF405-TE, ModalAI fc-v1, PixC4-Jetson, Pixhawk5X, QioTekZealotH743, RPI-Zero2W, SPRacingH7 Extreme, Swan-K1
2252
- Parachute option to leave servo in open position (see CHUTE_OPTIONS parameter)
2253
- Parachute released arming check added
2254
- Pre-arm check of IMU heater temp
2255
- Pre-arm check of rangefinder health
2256
- Pre-arm check of throttle position skipped if PILOT_THR_BHV is "Feedback from mid stick"
2257
- ADIS16470, ADIS16507 and BMI270 IMU support
2258
- AK09918 compass support
2259
- Battery monitor supports voltage offset (see BATTx_VLT_OFFSET)
2260
- Benewake TFMiniPlus I2C address defaults correctly
2261
- Buzzer can be connected to any PWM on any board
2262
- Compass calibration (in-flight) uses GSF for better accuracy
2263
- CRSFv3 support, CSRF telemetry link reports link quality in RSSI
2264
- Cybot D1 Lidar support
2265
- DroneCan (aka UAVCAN) battery monitors support scaling (see BATTx_CURR_MULT)
2266
- DroneCan (aka UAVCAN) GPS-for-yaw support
2267
- Electronic Fuel Injection support incl Lutan EFI
2268
- FETtecOneWire resyncs if EMI causes lost bytes
2269
- IMU heater params renamed to BRD_HEAT_xxx
2270
- Landing gear enable parameter added (see LGR_ENABLE)
2271
- Lightware SF40C ver 0.9 support removed (ver 1.0 and higher still supported)
2272
- Maxbotix serial sonar driver support RNGFNDx_SCALING parameter to support for varieties of sensor
2273
- MPPT solar charge controller support
2274
- MTK GPS driver removed
2275
- Optical flow in-flight calibration
2276
- Ping200x ADSB support
2277
- Proximity sensor min and max range (see PRX_MIN, PRX_MAX)
2278
- QSPI external flash support
2279
- uLanding (aka USD1) radar provides average of last few samples
2280
- Unicore NMEA GPS support for yaw and 3D velocity
2281
- Board ID sent in AUTOPILOT_VERSION mavlink message
2282
- DO_SET_CAM_TRIG_DIST supports instantly triggering camera
2283
- DJI FPV OSD multi screen and stats support
2284
- GPIO pins configured by setting SERVOx_FUNCTION to -1 (also see SERVO_GPIO_MASK. BRD_PWM_COUNT removed)
2285
- GPIO pin support on main outputs on boards with IOMCU
2286
- GyroFlow logging (see LOG_BITMASK's "VideoStabilization" option)
2287
- Firmware version logged in VER message
2288
- SD card format via MAVLink
2289
- Serial port option to disable changes to stream rate (see SERIALx_OPTIONS)
2290
- VIBE logging units to m/s/s
2291
- BLHeli passthrough reliability improvements
2292
- Compass learning (inflight) fixed to ignore unused compasses (e.g. those with COMPASS_USE = 0)
2293
- EKF optical flow terrain alt reset fixed (large changes in rangefinder alt might never be fused)
2294
- EKF resets due to bad IMU data occur at most once per second
2295
- GPIO pin fix on CubeOrange, F4BY, mRoControlZeroF7, R9Pilot
2296
- MAVlink2 serial ports always send MAVLink2 messages (previously waited until other side sent MAVLink2)
2297
- Omnibusf4pro bi-directional dshot fix
2298
- Real-Time-Clock (RTC) oldest possible date updated to Jan-2022
2299
2300
Happy flying!
2301
2302
2303
Release 4.1.7 12th February 2022
2304
--------------------------------
2305
2306
This is a minor release with some important bug fixes and a couple of
2307
new features:
2308
2309
- avoid all opening of log files in main thread
2310
- support Benewake CAN Lidars
2311
- improved VTOL navigation shaping code
2312
- Compass custom orientation is never overwritten during calibration
2313
- EKF logging gaps fixed (some messages were occasionally being skipped)
2314
- IMU logging fix for IREG message (records IMU register changes)
2315
- SERVOx_FUNCTION protection to avoid memory overwrite if set too high
2316
- FTP parameter download fix
2317
2318
Happy flying!
2319
2320
Release 4.1.6 3rd January 2022
2321
------------------------------
2322
2323
This is a minor release with some important bug fixes:
2324
2325
- disable the STLink debug pins after boot by default to prevent ESD
2326
from triggering CPU changes or a reset
2327
- support ICM-20608-D, IIM-42652 and ICM-40605 sensors
2328
- fixed missing covarience reset row in EKF3
2329
- fixed failure to detect inverted RC input on uarts when transmitter
2330
is on at boot
2331
- fixed QAUTOTUNE to obey maximum attitude rate limits
2332
- fixed a bug in smartaudio support that increased CPU usage
2333
- added lowpass filter to speed scaling to prevent sudden surface
2334
movement on VTOL arming
2335
- fixed hang when BATT_MONITOR is set to 14
2336
- fixed gaps in EKF3 logging of variances and timing
2337
2338
Happy flying!
2339
2340
Release 4.1.5 13th December 2021
2341
--------------------------------
2342
2343
This is a minor release with some important bug fixes and small number
2344
of new features.
2345
2346
- fixed switching airspeed sensors based on EKF3 affinity
2347
- added servo voltage pin on CUAV-X7
2348
- make 2nd reduction of P gain in AUTOTUNE smaller
2349
- fixed fence count on upload from old fence protocol
2350
- fixed reset of ground steering lock for landing
2351
- reset VTOL takeoff if not armed
2352
- fixed 16 bit timer bug on MatekH743
2353
- added FETTec onewire ESC support
2354
- set slew rate to zero while in QUATOTUNE twitch
2355
- fixed rate of notch filter to follow configured rate
2356
2357
Happy flying!
2358
2359
2360
Release 4.1.4 25th November 2021
2361
--------------------------------
2362
2363
This is a minor release with some important bug fixes and small number
2364
of new features.
2365
2366
- fixed RC parachute release to only trigger on RC input channel
2367
above 1800, fixing an issue with trigger on power on
2368
2369
- added QRTL flight mode as an RCn_OPTION
2370
2371
- display VTOL position1 state change when landing approach and
2372
airbrake logic is disabled using Q_OPTIONS
2373
2374
- limit Q_VFWD integrator to be below TRIM_THROTTLE to prevent very
2375
high forward throttle building up in some landing approach
2376
conditions
2377
2378
- fixed an issue with high position1 landing approach target speed
2379
causing the nose to dip when going between VTOL approach and
2380
position1 states
2381
2382
- allow for a wider range of Q_A_THR_MIX values to be configured, to
2383
better support landing quadplanes in high wind
2384
2385
Happy flying!
2386
2387
2388
Release 4.1.3 16th November 2021
2389
--------------------------------
2390
2391
This is a minor release with some bug fixes and small number of new
2392
features.
2393
2394
- allow for scripting based quadplane motor mixers
2395
2396
- fixed double application of rangefinder landing offset on go-around
2397
2398
- avoid doing quadplane approach when close to landing point
2399
2400
- suppress D gains on fixed wing control surfaces when in ground mode
2401
to prevent ground oscillation on some aircraft
2402
2403
- added OBAL Linux board support
2404
2405
- added CAN_Dn_UC_OPTION parameter to control conflicts in DroneCAN
2406
DNA database
2407
2408
- fixed a bug in POSITION1 quadplane landing code that led to too
2409
sharp pullup in VTOL automatic landing
2410
2411
- default maximum attitude rate for quadplanes to 75 degrees/second
2412
2413
- fixed a bug in use of non-zero EK3_PRIMARY value
2414
2415
- fixed a bug in ADSB vertical velocity reporting
2416
2417
- fixed an overshoot in quadplane guided takeoff
2418
2419
- allow for interruption of quadplane guided takeoff with a new
2420
target location
2421
2422
- fixed creation of APM/LOGS directory on some boards
2423
2424
- added RCn_OPTION switch for enabling fixed wing AUTOTUNE in any
2425
stabilized flight mode (useful for LOITER and AUTO modes)
2426
2427
- support Durandal with alternative ICM-20602 IMU
2428
2429
- removed a spurious EKF yaw reset message
2430
2431
Happy flying!
2432
2433
2434
Release 4.1.2 17th October 2021
2435
-------------------------------
2436
2437
This is minor update with a few important fixes and some new features:
2438
2439
- added EK3_PRIMARY parameter, to allow for selection of other than
2440
the first IMU as initial EK3 lane
2441
2442
- added ESC_TELEMETRY_1_to_4 to list of mavlink message selections
2443
2444
- fixed burst read ftp error causing bad ftp param download
2445
2446
- fixed H7 FIFO issue with RTSCTS flow control on UARTs
2447
2448
- apply takeoff throttle slew limit in TAKEOFF mode and forward
2449
transition in quadplanes
2450
2451
- reset target mission airspeed on disarm
2452
2453
- added RC_OPTION bit to enable multi-receiver systems
2454
2455
- don't apply fixed wing pitch limit to tailsitters when hovering
2456
2457
- fixed turn rate coordination when inverted in fixed wing flight
2458
2459
- fixed bug in AUTOTUNE mode that could leave gains from part way
2460
through the tune
2461
2462
Of these fixes the only one that is not backwards compatible is the
2463
new RC_OPTION bit which needs to be set if you have multiple RC
2464
receivers on your aircraft and want to fail over to a backup receiver
2465
while in flight. You will need to set the new RC_OPTION to enable that
2466
for the 4.1.2 release and later.
2467
2468
Happy flying!
2469
2470
Release 4.1.1 stable 8th October 2021
2471
-------------------------------------
2472
2473
This is the a minor bugfix release in the 4.1.x stable series. Changes
2474
are:
2475
2476
- fixed IMU orientation on QiotekZealotF427 controller
2477
- fixed lua scripting bug in logging of strings
2478
- fixed an initialisation bug in the attitude controller for quadplanes
2479
- added desired values to PSC quadplane pos control logging
2480
- prevent entry into CRSF parameter mode while armed
2481
- added bootloader to build for MatekF765-SE
2482
2483
Thanks to all the users who have been reporting back on flights with
2484
4.1.0, and happy flying!
2485
2486
2487
Release 4.1.0 stable 28th September 2021
2488
----------------------------------------
2489
2490
This is the first stable release of the 4.1.x series for fixed
2491
wing. This is a major release, with a lot of changes over the 4.0.9
2492
release.
2493
2494
The changes since the last beta (4.1.0beta8) are:
2495
2496
- fixed a wind speed initialiation bug that affects planes with no
2497
airspeed sensor and no compass
2498
- added support for icm42605 on MatekH743
2499
2500
There have in total been over 9000 patches applied since the last
2501
major release (the 4.0.9 stable release), so listing all of them is
2502
not practical, but a few of the highlights are:
2503
2504
- USB log download speeds improved on F7 and H7 based boards
2505
- Large improvements in EKF stability and support for very long distance flights
2506
- new boards QiotekZealotF427, MatekF765-SE, MambaF405v2, KakuteF4Mini, FlywooF745, FlywooF745Nano, BeastF7 and BeastH7
2507
- massive improvements to lua scripting, with greatly expanded API
2508
- External AHRS support (VectorNav)
2509
- support for EKF3 affinity for better sensor redundancy
2510
- big improvements to GPS moving baseline yaw support
2511
- new fixed wing PID system
2512
- major fixed wing autotune update giving much better tuning
2513
- added MAN_EXPO_* parameters for input expos in MANUAL, TRAINING and ACRO modes
2514
- added ONESHOT_MASK for oneshot output on control surfaces
2515
- dupport for bi-directional dshot on many boards
2516
- added PiccoloCAN servo support
2517
- new quadplane landing approach system, with airbraking
2518
- greatly improved tiltrotor support with much improved transition stability
2519
- new unified ESC telemetry system for CAN, DShot and serial ESC telemetry
2520
- temperature calibration for IMUs, including factory calibration support
2521
- much improved notch filtering support, including double-notch and realtime FFT based notch filtering
2522
- much faster parameter download and mission upload/down using MAVFTP
2523
- switched to new EKF3 as default state estimator with many new features
2524
2525
The 4.1.0 includes contributions from over 240 developers and changes
2526
over 300 thousand lines of code across 2800 files. It has been a
2527
mammoth effort from the whole community to bring this new version of
2528
ArduPilot which pushes the best open flight controller to whole new
2529
levels. A big thank you to everyone who contributed, includding the
2530
developers, testers and documenters. You should all be very proud of
2531
this release!
2532
2533
We are already starting work on 4.2.x, and will of course continue to
2534
do point releases to the 4.1.x series to keep everyone up to date with
2535
the latest fixes.
2536
2537
Happy flying, and thanks for choosing ArduPilot!
2538
2539
2540
Release 4.1.0beta8 15th September 2021
2541
--------------------------------------
2542
2543
This is a very small beta update, with a single patch to fix a serial
2544
flow control issue that came in beta7.
2545
2546
Changes since beta7 are:
2547
2548
- fixed auto-detection of serial flow control
2549
2550
Happy flying!
2551
2552
Release 4.1.0beta7 11th September 2021
2553
--------------------------------------
2554
2555
This is a small beta update, with a few important fixes. I expect this
2556
to be the final beta and will release 4.1.0 in one week if no
2557
significant issues are found.
2558
2559
Changes since beta6 are:
2560
2561
- USB log download speeds improved on F765 and F777 based boards (USB buffers increased)
2562
- Serial port DMA contention heuristics improved (reduces chance of delays writing to serial devices)
2563
- Declination automatic lookup rounding fix (caused inaccurate declination in some parts of world)
2564
- DShot (bi-directional) support on Pixhawk4, CUAVv5, CUAVv5-Nano
2565
- IMU semaphore fix to avoid occasional corruption
2566
- QioTek Zealot F427 GPIO pin fix
2567
- Replay/DAL RMGH log message format fix
2568
- Rangefinder initial buffer size and baudrate fix (affected Aintein US-D1 radar)
2569
- increase CRSF frame timeout to cope with scheduling delays
2570
- fixed quadplane Z controller init calculation
2571
2572
Please test this final beta and report on the discuss.ardupilot.org
2573
4.1.0beta topic.
2574
2575
Happy flying!
2576
2577
2578
Release 4.1.0beta6 29th August 2021
2579
-----------------------------------
2580
2581
This is a small beta update, with a few important fixes.
2582
2583
Changes are:
2584
2585
- Flywoo F745 Goku Nano support
2586
- Scripting support for getting circle mode radius and setting rate
2587
- Scripting support for new Guided mode controls including acceleration control
2588
- ChibiOS scheduling slip workaround to avoid occasional 60ms delays found on MatekH743
2589
- EKF2 divide-by-zero protection when using optical flow (issue only found in simulator)
2590
- External AHRS (e.g. VectorNav driver) init fix
2591
- KakuteF4Mini SBUS fix
2592
- Pixhawk4 blue and red LEDs swapped
2593
- Position control fixes to limit initial desired accel (horizontal and vertical) which could lead to an excessive climb or descent
2594
- fixed airspeed constraint by AHRS_WIND_MAX
2595
- fixed use of hw serial inversion pins on F4 boards
2596
- updates for new revisions of QioTekF427Zealot
2597
2598
Happy flying!
2599
2600
Release 4.1.0beta5 16th August 2021
2601
-----------------------------------
2602
2603
This is a small beta update, with a few important fixes.
2604
2605
Changes are:
2606
2607
- Flywoo F745 supports external I2C compasses
2608
- GPS-for-yaw arming check added
2609
- GPS_DRV_OPTIONS allows forcing UBlox GPS to 115200 baud
2610
- Lua scripts can be placed in ROMFS_custom directory
2611
- Q_P_VELXY_FILT renamed to _FLTE, Q_P_VELXY_D_FILT renamed to _FLTD
2612
- CAN threading fix to resolve potential lockup when lua scripts use CAN
2613
- EKF3 GSF can be invoked multiple times with source switching (no longer limited by EK3_GSF_RST_MAX)
2614
- EKF3 IMU offset fix (vehicle's reported position was slightly incorrect if INS_POS_XYZ params set)
2615
- OSD overwrite and nullptr check fix
2616
- RCOut banner displayed at very end of startup procedure to avoid invalid output
2617
- allow for VTOL flightmodes after AHRS fallback to DCM
2618
- fixed a bug in Z accel initialisation (particularly affects tailsitters)
2619
- added LOG_BITMASK bit for logging attitude and PIDs at full loop rate
2620
2621
Happy flying!
2622
2623
Release 4.1.0beta4 25th July 2021
2624
---------------------------------
2625
2626
This is a large beta update, with significant changes over beta3.
2627
2628
Changes are:
2629
2630
- major fixed wing autotune update over previous 4.1 beta releases
2631
- added MAN_EXPO_* parameters for input expos in MANUAL, TRAINING and ACRO modes
2632
- added ONESHOT_MASK for oneshot output on control surfaces
2633
- GPS-for-yaw enhancements including using position and yaw from different GPSs
2634
- Long distance flight supported (thousands of km) including double precision EKF and moving origin
2635
- major improvements to EKF3 stability
2636
- BLHeli fix that could cause failure to boot
2637
- CRSF message spamming and firmware string length fixed
2638
- Display re-enabled on 1MB boards
2639
- DShot always sends 0 when disarmed (protects against motors spin while disarmed due to misconfiguration)
2640
- DShot fix that could cause main loop jitter
2641
- DShot buzzer tone disabled during motor test to remove bad interation
2642
- MatekF405-bdshot NeoPixel LEDs re-enabled on PWM5
2643
- Serial port performance improvements using FIFO on H7 boards
2644
2645
Please report all test results and happy flying!
2646
2647
Release 4.1.0beta3 5th July 2021
2648
--------------------------------
2649
2650
This is a minor update over the 4.0.1beta2 release. It has a few
2651
important fixes for beta testers:
2652
2653
- sync with copter 4.1.0beta5
2654
2655
- added QRTL always option in Q_RTL_MODE
2656
2657
- added more modes to USE_REV_THRUST parameter
2658
2659
- added QioTekZealonH743 board type
2660
2661
- added EKF3 protections for variance collapse
2662
2663
- added PiccoloCAN servo support
2664
2665
- improved VTOL position control a long distance from home
2666
2667
- fixed handling of 180 degree longitude date-line crossing
2668
2669
- fixed logged after forced arm
2670
2671
- fixed DShot with quadplane motor test
2672
2673
- adjusted autotune handling of target filter
2674
2675
- adjusted default roll/pitch PID filters
2676
2677
Please report all test results, and happy flying!
2678
2679
Release 4.1.0beta2 24th June 2021
2680
---------------------------------
2681
2682
This is a minor update over the 4.0.1beta1 release. It has a few
2683
important fixes for beta testers:
2684
2685
- Fixed a bug in attitude control during the airbrake phase of
2686
quadplane landing approach
2687
2688
- skip POSITION1 stage of landing approach for tailsitters
2689
2690
- fixed handling of corrupted filesystems on arming, where a long
2691
delay during log file creation could cause a watchdog reset
2692
2693
- fixed build of VRUBrain-v51 board
2694
2695
- re-enable soaring on MatekF405-Wing
2696
2697
- fixed calculation of battery consumption on a commanded reset
2698
2699
Please report all test results, and happy flying!
2700
2701
Release 4.1.0beta1 14th June 2021
2702
---------------------------------
2703
2704
This is a major release, with a lot of changes across almost all
2705
subsystems. Key changes include:
2706
2707
- major updates to quadplane control algorithms, including new
2708
landing approach system, new input shaping system for all levels of
2709
VTOL control and new filtering options.
2710
2711
- new PID system for fixed wing control, with much more flexible
2712
filtering and true rate D term support.
2713
2714
- new fixed wing autotune system which on most aircraft produces a
2715
much better tune than the previous autotune.
2716
2717
There have also been a lot of changes at the low level system level as
2718
well.
2719
2720
- new DShot system, with much better timing and new features.
2721
2722
- improved support for GPS moving baseline yaw
2723
2724
- new unified ESC telemetry system for CAN, DShot and serial ESC
2725
telemetry, allowing for ESC RPM driven notch filters on more ESC
2726
types
2727
2728
- EKF3 is now the default estimator, with EKF2 also available on
2729
systems with 2MByte of flash.
2730
2731
- external AHRS support, allowing for a serial connected AHRS system
2732
(VectorNav-300 only at the moment)
2733
2734
- sensor affinity in EKF3, allowing for more robust handling of
2735
sensor failure, especially for airspeed sensors
2736
2737
- rate PID slew limiting to to detect and suppress oscillations
2738
2739
- temperature calibration for IMUs, including factory calibration
2740
support
2741
2742
- much improved notch filtering support, including double-notch and
2743
realtime FFT based notch filtering
2744
2745
- lots of lua scripting improvements, with greatly expanded API
2746
2747
- much faster parameter download and mission upload/down using MAVFTP
2748
2749
Many thanks to everyone who contributed to this release. It is our
2750
biggest release yet and has benefited from fantastic feedback from our
2751
user community and partners.
2752
2753
We hope you enjoy this release! Happy flying!
2754
2755
Release 4.0.9, 23rd February 2021
2756
---------------------------------
2757
2758
This is a minor release with just bug fixes:
2759
2760
- added automatic backup/restore of parameters in case of FRAM
2761
corruption for F7/H7 boards with 32k FRAM parameter storage
2762
2763
- fixed a bug in EKF2/EKF3 that could cause memory corruption if
2764
external naviagtion sources (such as vision based position and
2765
velocity data) is supplied before the EKF has initialised
2766
2767
- fixed a problem with low accuracy data from UAVCAN GPS modules when
2768
GPS blending is enabled
2769
2770
- fixed an arming check failure with u-blox M9 based GPS modules
2771
2772
- added mRoControlZeroH7 support
2773
2774
The main reason for this release is the parameter backup/restore. This
2775
has been an ongoing issue for quite some time. The symptom is an
2776
unexpected full parameter reset on boards using FRAM (also known as
2777
RAMTRON) for storage, particularly those using F7 or H7 based
2778
MCUs. The issue has most commonly been seen on the Hex CubeOrange
2779
board, but has been seen on boards from other vendors as well.
2780
2781
The issue has been frustratingly difficult to reproduce. We did narrow
2782
down one cause last year which was a floating CS pin in the bootloader
2783
triggering corruption before ArduPilot starts. An updated bootloader
2784
reduced the occurrance of the issue a lot and we thought it was
2785
solved. Since then the problem has still happened a few times on
2786
boards that have had a bootloader update.
2787
2788
This release avoids the issue by keeping a complete second copy of the
2789
parameters in the 2nd half of 32k FRAM devices. On boot we check the
2790
integrity of the primary parameter storage area via a simple signature
2791
check and if it has been corruptted then we restore from the backup
2792
area. We also raise an internal error named "params_restored". You
2793
will then need to reboot to clear the error, but your parameters will
2794
have been automatically recovered, avoiding the need to reload
2795
parameters and re-calibrate.
2796
2797
If you get this internal error then it would be appreciated if you
2798
could send us the contents of your APM/STRG_BAK directory on the
2799
microSD card so we can analyse the corruption that happened and ensure
2800
that the fix covers all real cases.
2801
2802
Happy flying!
2803
2804
Release 4.0.8, 26th January 2021
2805
--------------------------------
2806
2807
This is a minor release with just bug fixes:
2808
2809
- fixed a bug where an unhealthy airspeed sensor could be fused in EKF2/EKF3
2810
2811
- fixed FPort RSSI scaling
2812
2813
- fixed timestamp on RAW_IMU data to be 64 bit
2814
2815
- fixed an issue with BLHeli pass-thru on some ESCs
2816
2817
Happy flying!
2818
2819
Release 4.0.7, 3rd November 2020
2820
--------------------------------
2821
2822
This is a minor release over 4.0.6. The changes are:
2823
2824
- enable telem3 on Durandal
2825
2826
- fixed SBUS output when scanning for FPort on IOMCU
2827
2828
- Fixed F32Lightening board IMU fast sampling issue
2829
2830
- fixed issue with EKF2 and EKF3 with use of high accuracy GPS modules. This is important for anyone flying with a RTK GPS
2831
2832
- Fixed KakuteF7 DShot glitch issue
2833
2834
- Fixes issue with checking for valid RC input in ICE disable channel
2835
2836
- fixed an interrupt flood issue with any sensor that uses interrupt timing measurement, such as RPM sensors.
2837
2838
- Modified RM3100 driver to problem all 4 possible I2C addresses
2839
2840
- Fixed UDP RC input on Linux boards to accept up to 16 RC inputs on UDP
2841
2842
The most critical fix in the above list is the ISR flood issue.
2843
2844
ISR Flood Issue
2845
---------------
2846
2847
The ISR flood issue happens when a misbehaving external sensor (such
2848
as an RPM sensor for a petrol motor) starts providing pulses faster
2849
than the flight controller can process them. If this happens then the
2850
CPU can be overloaded in the interrupt handling for the sensor and
2851
stop flying the vehicle. The level of interrupt rate needed to cause
2852
this issue is around 500k interrupts per second, so to be safe we have
2853
added a limit of 100k interrupts per second. If a single interrupt
2854
source produces more than 10k interrupts in a single 0.1 second period
2855
then we disable that interrupt source, print a warning to the user and
2856
raise an internal error.
2857
2858
Happy flying!
2859
2860
Release 4.0.6, 7th September 2020
2861
---------------------------------
2862
2863
The ArduPilot development team is proud to announce the release of
2864
plane 4.0.6 stable. This is a significant release with a lot of
2865
changes, so please read the change summary below carefully.
2866
2867
- changed LED scripting API to allow more than 32 LEDs on a pin
2868
- added support for ProfiLED LEDs
2869
- added u-blox GPS moving baseline u-blox auto-configuration
2870
- fixed handling of GPS antenna positions on EKF GPS switch
2871
- changed default USB IDs to new ArduPilot specific IDs
2872
- fixed bug in handling trim for RC control of camera mounts
2873
- added LGR_OPTIONS bits to control landing gear behaviour on takeoff/landing
2874
- improved mavlink streaming output control to better allocate time to each channel
2875
- fixed send of mavlink PARAM_VALUE on set of a readonly parameter
2876
- fixed mag variance reporting in EKF_STATUS_REPORT mavlink message
2877
- fixed time wrap bug in BMP085 barometer driver
2878
- fixed buffer overflow in ST24 RC input driver
2879
- fixed EKF usage of WMM tables when user has specified a specific declination
2880
- fixed bug in AP_Terrain on-disk format
2881
- added script for offline generation of terrain data
2882
- severel improvements to smbus battery drivers
2883
- fixed a race condition in parameter storage on ChibiOS
2884
- fixed use of zero GNSS timestamp in UAVCAN GPS driver
2885
- improved GCS messages during bootloader flash
2886
- fixed CS pin in bootloader that could corrupt FRAM on some boards
2887
- added GPS yaw to MAVLink GPS_RAW_INT message
2888
- added Hott telemetry support
2889
- added FRSky FPort support
2890
- fixed bug in CAN clock and queue handling on H7 based boards
2891
- added support for BRD_ALT_CONFIG for alternative hardware configs on several boards
2892
- added new boards CUAV-Nora, CUAV-X7, MatekH743, R9Pilot, mRoNexus
2893
- improved reporting of internal errors to GCS
2894
- fixed recursion bug in tonealarm player
2895
- fixed flaperon SERVO_AUTO_TRIM behaviour
2896
- added option to compensate forward throttle for battery voltage
2897
- added compensation in VTOL gains for pressure altitude
2898
- switched to new more flexible compass ordering system
2899
- fixed forcing of safety off on IOMCU reset
2900
- increased maximum compass scale factor to 1.4
2901
- added RTL_CLIMB_MIN parameter for initial climb in RTL
2902
- fixed disable of throttle nudge during a RC failsafe
2903
- added support for a wider range of DLVR airspeed sensors
2904
- fixed RC input processing for out of range RC channels
2905
- added THR_FAILSAFE=2 option for flying BVLOS with only GCS failsafes enabled
2906
- fixed reordering of compasses on boot based on compass priorities
2907
- fixed use of minimum accuracy for GPS data in EKF2 and EKF3, fixing an issue with RTK GPS modules that report overly optimistic accuracy values
2908
- fixed handling of RC_OPTION bit for disabling receiver failsafe handling
2909
- fixed LOITER_TO_ALT with terrain altitude target
2910
- fixed an issue with swapping UAVCAN compasses and calibration
2911
- fixed use of VTOL quadplane missions (where the plane flies as a multi-rotor for auto waypoints)
2912
- fixed legacy parsing of some lightware i2c lidars when beyond max range
2913
- fixed RTL_AUTOLAND with MIS_RESTART=1
2914
- enable more compasses on low flash boards
2915
- HAL erase storage fix for flash storage boards
2916
- prevent jump to circle mode in TAKEOFF if flying for less than 10s
2917
- fixed handling of out of range on LightwareI2C Lidar
2918
- fixed init of HoTT telemetry
2919
- added support for mRo Pixracer Pro, Holybro Pix32v5
2920
- added arming check for terrain data healthy if needed
2921
- increased monitor thread size to 768
2922
- fixed IMU fast sampling on F35Lightning board
2923
2924
The key changes to existing behaviour to watch out for in this update
2925
are:
2926
2927
USB IDs
2928
-------
2929
2930
ArduPilot has now switched to it's own USB IDs for all boards. For
2931
most users this won't cause any change, except they may notice the
2932
drop down list of devices in MissionPlanner will have the ArduPilot
2933
flight controllers labelled more usefully as "ArduPilot" instead of
2934
just "STM32". If you hit issues on windows please try reinstalling the
2935
device drivers from this URL:
2936
https://firmware.ardupilot.org/Tools/MissionPlanner/driver.msi
2937
2938
Terrain
2939
-------
2940
2941
A bug fix in the format ArduPilot uses to store terrain data means
2942
that your flight controller will need to re-download the terrain data
2943
onto the sdcard via your GCS. If you fly without a GCS and you use
2944
terrain data then please re-download the terrain data you need by
2945
setting up a mission when you have internet access and allowing your
2946
flight controller to request terrain data from your GCS.
2947
2948
Pressure Altitude Compensation
2949
------------------------------
2950
2951
This release adds in the missing hook for the VTOL motor controller on
2952
a quadplane to compensate the VTOL gains using your pressure
2953
altitude. For most people this will not have a noticible effect, but
2954
some users that have tuned their aircraft for high locations may
2955
notice a tuning change.
2956
2957
Compass Ordering
2958
----------------
2959
2960
The new compass ordering system in this release gives a lot more
2961
flexibility and should preseve existing configurations and
2962
calibrations. If you hit issues then please have a look at the new
2963
compass ordering user interface in recent beta releases of
2964
MissionPlanner.
2965
2966
THR_FAILSAFE=2
2967
--------------
2968
2969
For people flying before visual range (with appropriate
2970
authorisations) there is a new option which allows for safer
2971
operation. By setting THR_FAILSAFE=2 you can setup the R/C failsafe so
2972
that R/C input will stop being used when one of the receiver failsafe
2973
conditions is met, while not triggering any failsafe actions. This is
2974
a significant improvement over setting THR_FAILSAFE=0 as it prevents
2975
the receiver inputs being used for stick mixing and other inputs that
2976
would be inappropriate when in receiver failsafe.
2977
2978
Many thanks to everyone who contributed to and tested this release!
2979
2980
Happy flying!
2981
2982
Release 4.0.6beta5, 25th August 2020
2983
------------------------------------
2984
2985
This should be the final beta for 4.0.6. Several important fixes are
2986
included:
2987
2988
- fixed disable of throttle nudge during a RC failsafe
2989
2990
- added support for a wider range of DLVR airspeed sensors
2991
2992
- fixed RC input processing for out of range RC channels
2993
2994
- added THR_FAILSAFE=2 option for flying BVLOS with only GCS
2995
failsafes enabled
2996
2997
- fixed reordering of compasses on boot based on compass priorities
2998
2999
- fixed use of minimum accuracy for GPS data in EKF2 and EKF3, fixing
3000
an issue with RTK GPS modules that report overly optimistic
3001
accuracy values
3002
3003
- fixed handling of RC_OPTION bit for disabling receiver failsafe
3004
handling
3005
3006
- fixed LOITER_TO_ALT with terrain altitude target
3007
3008
Happy flying!
3009
3010
Release 4.0.6beta4, 27th July 2020
3011
----------------------------------
3012
3013
This is a minor change over beta3
3014
3015
- fixed an issue with swapping UAVCAN compasses and calibration
3016
3017
- fixed use of VTOL quadplane missions (where the plane flies as a
3018
multi-rotor for auto waypoints)
3019
3020
- fixed legacy parsing of some lightware i2c lidars when beyond max
3021
range
3022
3023
Happy flying!
3024
3025
3026
Release 4.0.6beta3, 7th July 2020
3027
----------------------------------
3028
3029
This is a minor change over beta2
3030
3031
- fixed RTL_AUTOLAND with MIS_RESTART=1
3032
- enable more compasses on low flash boards
3033
- HAL erase storage fix for flash storage boards
3034
3035
Happy flying!
3036
3037
Release 4.0.6beta2, 23rd June 2020
3038
----------------------------------
3039
3040
This is a minor change over beta1
3041
3042
- prevent jump to circle mode in TAKEOFF if flying for less than 10s
3043
- fixed handling of out of range on LightwareI2C Lidar
3044
- fixed init of HoTT telemetry
3045
- added support for mRo Pixracer Pro, Holybro Pix32v5
3046
- added arming check for terrain data healthy if needed
3047
- fixed compass ordering bug
3048
- increased monitor thread size to 768
3049
3050
Happy flying!
3051
3052
Release 4.0.6beta1, 23rd May 2020
3053
---------------------------------
3054
3055
This is a major release with a significant number of new features and
3056
bug fixes. You should read the list of changes and the information
3057
below carefully.
3058
3059
- changed LED scripting API to allow more than 32 LEDs on a pin
3060
- added support for ProfiLED LEDs
3061
- added u-blox GPS moving baseline u-blox auto-configuration
3062
- fixed handling of GPS antenna positions on EKF GPS switch
3063
- changed default USB IDs to new ArduPilot specific IDs
3064
- fixed bug in handling trim for RC control of camera mounts
3065
- added LGR_OPTIONS bits to control landing gear behaviour on takeoff/landing
3066
- improved mavlink streaming output control to better allocate time to each channel
3067
- fixed send of mavlink PARAM_VALUE on set of a readonly parameter
3068
- fixed mag variance reporting in EKF_STATUS_REPORT mavlink message
3069
- fixed time wrap bug in BMP085 barometer driver
3070
- fixed buffer overflow in ST24 RC input driver
3071
- fixed EKF usage of WMM tables when user has specified a specific declination
3072
- fixed bug in AP_Terrain on-disk format
3073
- added script for offline generation of terrain data
3074
- severel improvements to smbus battery drivers
3075
- fixed a race condition in parameter storage on ChibiOS
3076
- fixed use of zero GNSS timestamp in UAVCAN GPS driver
3077
- improved GCS messages during bootloader flash
3078
- fixed CS pin in bootloader that could corrupt FRAM on some boards
3079
- added GPS yaw to MAVLink GPS_RAW_INT message
3080
- added Hott telemetry support
3081
- added FRSky FPort support
3082
- fixed bug in CAN clock and queue handling on H7 based boards
3083
- added support for BRD_ALT_CONFIG for alternative hardware configs on several boards
3084
- added new boards CUAV-Nora, CUAV-X7, MatekH743, R9Pilot, mRoNexus
3085
- improved reporting of internal errors to GCS
3086
- fixed recursion bug in tonealarm player
3087
- fixed flaperon SERVO_AUTO_TRIM behaviour
3088
- added option to compensate forward throttle for battery voltage
3089
- added compensation in VTOL gains for pressure altitude
3090
- switched to new more flexible compass ordering system
3091
- fixed forcing of safety off on IOMCU reset
3092
- increased maximum compass scale factor to 1.4
3093
- added RTL_CLIMB_MIN parameter for initial climb in RTL
3094
3095
The key changes to existing behaviour to watch out for in this update
3096
are:
3097
3098
USB IDs
3099
-------
3100
3101
ArduPilot has now switched to it's own USB IDs for all boards. For
3102
most users this won't cause any change, except they may notice the
3103
drop down list of devices in MissionPlanner will have the ArduPilot
3104
flight controllers labelled more usefully as "ArduPilot" instead of
3105
just "STM32". If you hit issues on windows please try reinstalling the
3106
device drivers from this URL:
3107
https://firmware.ardupilot.org/Tools/MissionPlanner/driver.msi
3108
3109
Terrain
3110
-------
3111
3112
A bug fix in the format ArduPilot uses to store terrain data means
3113
that your flight controller will need to re-download the terrain data
3114
onto the sdcard via your GCS. If you fly without a GCS and you use
3115
terrain data then please re-download the terrain data you need by
3116
setting up a mission when you have internet access and allowing your
3117
flight controller to request terrain data from your GCS.
3118
3119
Pressure Altitude Compensation
3120
------------------------------
3121
3122
This release adds in the missing hook for the VTOL motor controller on
3123
a quadplane to compensate the VTOL gains using your pressure
3124
altitude. For most people this will not have a noticible effect, but
3125
some users that have tuned their aircraft for high locations may
3126
notice a tuning change.
3127
3128
Compass Ordering
3129
----------------
3130
3131
The new compass ordering system in this release gives a lot more
3132
flexibility and should preseve existing configurations and
3133
calibrations. If you hit issues then please have a look at the new
3134
compass ordering user interface in recent beta releases of
3135
MissionPlanner.
3136
3137
Many thanks to everyone who contributed to and tested this release!
3138
3139
Happy flying!
3140
3141
3142
Release 4.0.5, 4th March 2020
3143
-----------------------------
3144
3145
This release includes a one important bug fix and some minor
3146
enhancements. The changes are:
3147
3148
- fixed bug handling change of RC input source while MAVLink signing
3149
is active. This could cause a stack overflow and a crash
3150
3151
- added display of RC output types to aid in debugging DShot outputs
3152
3153
- modified clocking on H7 boards to produce more accurate clocks for
3154
DShot
3155
3156
- switched to new USB VIDs for dual-CDC boards
3157
3158
- fixed a bug in handling LOITER_TURNS for quadplanes when
3159
Q_GUIDED_MODE is enabled
3160
3161
- added a TECS reset at the end of a VTOL takeoff to handle aircraft
3162
with TECS climb rates below VTOL climb rates
3163
3164
Happy flying!
3165
3166
Release 4.0.4, 16th February 2020
3167
---------------------------------
3168
3169
This release includes a significant number of changes from 4.0.3. Key
3170
changes are:
3171
3172
- re-sync the 4.0 release with Copter-4.0, bringing them in line so
3173
as to maximise cross-vehicle testing
3174
3175
- fixed a timing issue in IOMCU that could lead to loss of RC input
3176
frames and increased latency of output to ESCs on the IOMCU
3177
3178
- fixed a bug in restoring gains in QAUTOTUNE that could cause the
3179
aircraft to be unstable on leaving QAUTOTUNE mode
3180
3181
- fixed stack size of ftp thread
3182
3183
The Copter-4.0 re-sync brings in quite a few structural changes. The
3184
main user visible changes are:
3185
3186
- UAVCAN DNA server no longer needs a microSD card to operate
3187
3188
- added logging of UAVCAN servos and ESC feedback messages
3189
3190
- reduced QTUN logging rate to 25Hz
3191
3192
- reduced memory usage in EKF with multiple lanes
3193
3194
- Minor OSD improvements
3195
3196
- added a lot more scripting bindings
3197
3198
- fixed UAVCAN GPS status when not connected
3199
3200
- added EK3_MAG_EF_LIM limit for earth frame mag errors
3201
3202
- added MAVLink FTP support
3203
3204
- added support for WS2812 LEDs
3205
3206
Due to the significant number of changes with the re-sync I would
3207
particularly appreciate as much flight testing as we can get on this
3208
release.
3209
3210
Happy flying!
3211
3212
Release 4.0.3, 21st January 2020
3213
--------------------------------
3214
3215
This is a minor release with a few bug fixes and enhancements. The
3216
changes since beta1 are:
3217
3218
- fixed 3 missing semaphore waits
3219
- fixed checking for bouncebuffer allocation on microSD card IO
3220
- fixed incorrect param count
3221
- prevent failsafe action from overriding a VTOL land
3222
- fixed compass calibration failures with auto-rotation detection
3223
- fixed errors on STM32H7 I2C (affects CubeOrange and Durandal)
3224
- fixed a race condition in FrSky passthrough telemetry
3225
- fixed DSM/Spektrum parsing for 22ms protocols
3226
- added fixed yaw compass calibration method
3227
- re-generated magnetic field tables
3228
- ensure SERIAL0_PROTOCOL is mavlink on boot
3229
3230
The most important fix is for FrSky pass-through telemetry. Pass
3231
through telemetry support had a race condition which could lead to the
3232
flight controller generating a fault and rebooting. Until you are
3233
running a firmware with the fix you should disable FrSky pass-through
3234
telemetry by changing SERIALn_PROTOCOL from 10 to 0 on the where you
3235
have SPort enabled.
3236
3237
Happy flying!
3238
3239
Release 4.0.2, 30th December 2019
3240
---------------------------------
3241
3242
This is a minor release with a few bug fixes and enhancements. Changes
3243
are:
3244
3245
- fixed voltage scaling on CUAVv5Nano
3246
- fixed 10Hz NMEA output
3247
- fixed range check on RC channel selection
3248
- scale UART RX size with baudrate
3249
- default fast sampling enabled on first IMU for all capable boards
3250
- fixed bootloader flash alignment bug
3251
- fixed PWM 5 and 6 for MatekF765-Wing
3252
- support RM3100 compass on I2C
3253
- fixed error on AHRS level trim in preflight calibration
3254
- fixed handling of SB without BUSY on I2Cv1 devices
3255
- update bootloaders to be more robust to unexpected data
3256
- added new COMPASS_SCALE parameters and estimator to fix issue with
3257
compass in Here2 GPS
3258
- fixed issue with millis wrap on boards with 16 bit system timer
3259
(MatekF405, MatekF765, speedybeef4 and KakuteF4)
3260
- fixed i2c internal masks for several boards
3261
- fixed scaling of Blheli32 RPM conversion
3262
- changed to WFQ FrSky telemetry scheduler
3263
- enable LED pin on MatekF765
3264
- added params for Durandal battery monitor pins to param docs
3265
- updated bootloaders to reduce change of line noise stopping boot
3266
- fixed DMA error causing memory corruption in ChibiOS I2C driver
3267
- fixed param conversion from plane 3.9.x to plane 4.0.x for rangefinders
3268
- cope with UAVCAN GPS that doesn't provide AUX messages (Here2 GPS)
3269
- send temperatures for IMUs on mavlink
3270
- fixed I2C clock speed error on STM32H7
3271
- fixed CR/LF output error for NMEA output
3272
3273
Happy flying!
3274
3275
Release 4.0.1, 22nd November 2019
3276
---------------------------------
3277
3278
This is a minor release with a few bug fixes and enhancements. Changes
3279
are:
3280
3281
- Added Q_ASSIST_ALT parameter which offers a way for VTOL assistance
3282
at low altitudes
3283
3284
- fixed channels 5 and 6 on the MatekF765-Wing
3285
3286
- fixed a bug with sending data on a full UART in mavlink parameter
3287
download
3288
3289
- fixed use of UAVCAN primary GPS with UART secondary GPS
3290
3291
- fixed failover between rangefinders of same orientation
3292
3293
- added RC option for TAKEOFF mode
3294
3295
- fixed logging of current on secondary battery monitors
3296
3297
- fixed register checking on DPS280 for mRoControlZeroF7
3298
3299
- added clock panel to OSD
3300
3301
- fixed B/E led brightness on Pixhawk4
3302
3303
- support RTCM injection to UAVCAN GPS for RTK support
3304
3305
- fixed an RC failsafe bug that could cause the geofence to disable
3306
3307
- fixed a bug in the SDP33 airspeed driver
3308
3309
Happy flying!
3310
3311
3312
Release 4.0.1beta1, 17th November 2019
3313
--------------------------------------
3314
3315
This is a minor release with a few bug fixes and enhancements for the
3316
4.0 stable version.
3317
3318
Changes are:
3319
3320
- Added Q_ASSIST_ALT parameter which offers a way for VTOL assistance
3321
at low altitudes
3322
3323
- fixed channels 5 and 6 on the MatekF765-Wing
3324
3325
- fixed a bug with sending data on a full UART in mavlink parameter
3326
download
3327
3328
- added TECS_LAND_PMIN for constraining pitch minimum during landing
3329
3330
- fixed use of UAVCAN primary GPS with UART secondary GPS
3331
3332
- fixed failover between rangefinders of same orientation
3333
3334
- added RC option for TAKEOFF mode
3335
3336
- fixed logging of current on secondary battery monitors
3337
3338
- fixed register checking on DPS280 for mRoControlZeroF7
3339
3340
- added clock panel to OSD
3341
3342
- fixed B/E led brightness on Pixhawk4
3343
3344
- support RTCM injection to UAVCAN GPS for RTK support
3345
3346
Happy flying!
3347
3348
Release 4.0.0, 28th October 2019
3349
--------------------------------
3350
3351
The final release of stable 4.0.0 has just one change from beta4,
3352
which is to fix a bug in the new TAKEOFF flight mode.
3353
3354
Many thanks to everyone who has been testing the 4.0 release, and
3355
special thanks to Henry for his fantastic work in bringing the wiki up
3356
to date for this release!
3357
3358
Happy flying!
3359
3360
Release 4.0.0beta4, 19th October 2019
3361
------------------------------------
3362
3363
A small set of improvements over beta3:
3364
3365
- fixed time race in airspeed driver (thanks to liang)
3366
- fixed uninitialsed bytes in send_named_float()
3367
- added TAKEOFF flight mode
3368
3369
Happy flying!
3370
3371
Release 4.0.0beta3, 7th October 2019
3372
------------------------------------
3373
3374
A small set of improvements over beta2:
3375
3376
- added Pixhawk1-1M build (for Pixhawk1 with 1M flash bug)
3377
- fixed a bug handling UART corruption for u-blox driver
3378
- fixed a CAN ISR latency bug for STM32H7 boards
3379
- fixed FMU channel mask to correctly obey SERVO_RATE
3380
- fixed use of DMA on Pixracer WiFi UART
3381
- reduced flash size and memory usage with EKF optimisation changes
3382
- fixed a BLHeli bug when no motors enabled
3383
- raise default LOG_FILE_BUFSIZE on boards with more memory
3384
- fixed units of custom AHRS orientations
3385
- fixed LOG_FILE_DSRMROT with delayed log stop on disarm
3386
- fixed block flash logging
3387
- fixed SLCAN bug on Pixhawk1 and fmuv2
3388
- added check for airspeed and Z controller active for hover throttle learning
3389
- enable hover learning by default in quadplanes
3390
3391
Happy flying!
3392
3393
Release 4.0.0beta2, 24th September 2019
3394
---------------------------------------
3395
3396
A small set of improvements over beta1:
3397
3398
- Added autoranging to current and voltage in OSD
3399
- fixed issue with motors spinning up in quadplane landing when below min lidar range
3400
- fixed empty pre-arm warning string in EKF
3401
- added code to cope with SCHED_LOOP_RATE being above max achievable rate
3402
- fixed delay on oneshot125 channels which was limiting loop rate
3403
- fixed use of uninitialised variable in mag fusion in EKF3
3404
3405
Happy flying!
3406
3407
Release 4.0.0beta1, 16th September 2019
3408
---------------------------------------
3409
3410
The 4.0.0 release of ArduPilot plane is a major release. It contains
3411
thousands of changes, some large and some small, developed over the
3412
last year. Key changes include:
3413
3414
- support STM32H7 MCUs (Durandal and CubeOrange currently)
3415
- QAUTOTUNE mode
3416
- in-flight compass calibration
3417
- support for dynamic node allocation server in UAVCAN
3418
- support for SLCAN pass-through
3419
- support for up to 10 battery backends
3420
- support for MAVLink message intervals
3421
- initial support for onboard Lua scripting
3422
- automatic remount of microSD cards
3423
- support for additional RC input on any UART
3424
- support for WS2812 LEDs
3425
- new simulators: Morse, Webots, SilentWings, Scrimmage
3426
- added AFS_MAX_RANGE for limiting vehicle range
3427
- added support for @READONLY in embedded parameter lists
3428
- added SERIALn_OPTIONS for inversion, half-duplex and swap
3429
- added support for reversible blheli32 ESCs
3430
- added GPS timing jitter correction
3431
- added Sum battery backend type
3432
- added fuel flow battery battery types
3433
- support landing gear control based on altitude
3434
- added loiter-to-alt approach for quadplane landing
3435
- added REVERSE_THROTTLE RCn_OPTION
3436
- added crow brakes for differential spoilers
3437
- support newer versions of JSBSim in SITL
3438
- added RObotis servo support
3439
- added UAVCAN servo support
3440
- added failure timer for quadplane forward transitions
3441
- added KDECAN and ToshibaCAN support
3442
- added RM3100 compass support
3443
- support new Invensense IMUs
3444
- many small improvements to tailsitter support
3445
- added QACRO mode
3446
- improved watchdog logging
3447
- improved EKF compass handling based on WMM data
3448
- added AP_Perip CAN peripheral firmware system
3449
- added IBUS R/C input support
3450
- support yaw from GPS
3451
- support DLVR I2C airspeed sensors
3452
- fixed FrSky telem packet loss
3453
- fixed SUMD for 16 channels via pulse input
3454
- support UAVCAN buzzers, safety switch, safety LED and airspeed
3455
- added NTF_BUZZ_VOLUME parameter
3456
3457
There are hundreds of other changes as well. I expect the beta period
3458
for this release to be quite long, and I would greatly appreciate as
3459
many test reports as possible. Please submit test results both for
3460
successful and unsuccessful tests!
3461
3462
Happy flying!
3463
3464
3465
Release 3.9.11, 15th September 2019
3466
-----------------------------------
3467
3468
This release fixes two bugs:
3469
3470
- fixed an uninitialised byte in UAVCAN compass device IDs that
3471
caused users to need to re-calibrate UAVCAN compasses
3472
3473
- fixed an I2C interrupt storm that could potentially cause a
3474
crash. This crash has never been shown to happen in our stable
3475
releases, but is being fixed as a preventative measure
3476
3477
Release 3.9.10, 26th August 2019
3478
-------------------------------------
3479
3480
This releases includes an important fix to IOMCU handling that fixes a
3481
problem where motors attached on the AUX channels can stop momentarily
3482
due to an error in the UART handling to the IOMCU.
3483
3484
Release 3.9.9, 4th August 2019
3485
------------------------------
3486
3487
New plane stable release with two fixes over beta4:
3488
3489
- fixed setting file timestamps with u-blox F9 GPS (thanks to Martin Sollie)
3490
- fixed return value of LightWare serial rangefinder driver when out of range
3491
3492
Release 3.9.9beta4, 31st July 2019
3493
----------------------------------
3494
3495
Minor update over beta3:
3496
3497
- fixed an issue with handling baro failure on CubeBlack
3498
- forced INS_USE3=1 on CubeBlack when first two IMUs are enabled
3499
3500
Release 3.9.9beta3, 28th July 2019
3501
----------------------------------
3502
3503
Minor update over beta2:
3504
3505
- fixed issue with setting of EKF origin in GPS modes
3506
- added support for MS4525 on 4th I2C bus
3507
- added delay on LW20 I2C probe
3508
3509
3510
Release 3.9.9beta2, 11th July 2019
3511
----------------------------------
3512
3513
Minor update over beta1:
3514
3515
- added mRoControlZeroF7 support
3516
- enabled IO pass-thru on FMU failure on ChibiOS builds
3517
3518
Release 3.9.9beta1, 8th July 2019
3519
---------------------------------
3520
3521
This is a minor release with some important safety and flight
3522
improvement fixes.
3523
3524
Key changes are:
3525
3526
- learn EKF biases even for inactive IMUs, making IMU failover much more robust
3527
3528
- EKF uses earth magnetic field model to reduce in-flight compass errors
3529
3530
- EKF switches to first healthy IMU when disarmed
3531
3532
- IMU fix for dropped samples during high CPU usage
3533
3534
- added support for Ublox F9 GPS
3535
3536
- switched to ChibiOS I/O firmware for ChibiOS builds to support Spektrum bind
3537
3538
- CUAVv5 Nano LED fix
3539
3540
- fixed watchdog trigger on simple accelcal
3541
3542
- fixed drift of AMSL estimate when disarmed
3543
3544
- fixed rate integrator buildup when rate control disabled
3545
3546
Happy flying!
3547
3548
Release 3.9.8, 26th April 2019
3549
------------------------------
3550
3551
This is a minor release with some important safety fixes. The fixes
3552
relate to two issues:
3553
3554
- implement hardware support to reset the CPU if a software or hardware
3555
failure causes the main loop to stop running
3556
3557
- fixed a bug in the handling of a failure of the primary IMU in a
3558
multi-IMU system
3559
3560
The first fix relates to a flyaway that happened on a RadioLink
3561
mini-pix flight controller. The mini-pix suffered a major hardware
3562
failure that led to the main loop stopping. As the mini-pix does not
3563
have an IO co-processor this resulted in fixed control surface outputs
3564
and fixed motor output, which led to a flyaway. The plane was found,
3565
but we want to ensure that if this ever happens again that the motor
3566
will stop and that the pilot will regain control of the aircraft.
3567
3568
The fix is to enable an option in the STM32 processor called
3569
"Independent Watchdog" (IWDG). The IWDG provides a mechanism to
3570
automatically reset the CPU on software or hardware failure resulting
3571
in the main loop stopping. When this happens the hardware also
3572
provides a mechanism for ArduPilot to know that it is booting after a
3573
watchdog reset, in which case it does the following:
3574
3575
- if the ChibiOS bootloader has been updated then it skips the normal
3576
5 second delay in the bootloader
3577
3578
- it skips baromoter, gyro and airspeed calibration, allowing for
3579
very fast boot
3580
3581
- the home position and attitude estimate of the vehicle is restored
3582
to a point less than 0.3 seconds before the lockup
3583
3584
- the pilot regains full control, and if the pilot requests arming
3585
then arming checks are automatically bypassed
3586
3587
We have tested this on an aircraft with a deliberately induced full
3588
CPU lockup. The aircraft recovered and flew normally within 3 seconds
3589
of lockup, with the pilot having full control. This was with a board
3590
with no IOMCU. A board that does have an IOMCU (such as a Hex cube)
3591
would have had full manual control on FMU lockup without the changes
3592
in this new release. For those boards with IOMCU the advantage of the
3593
new release is that the pilot will regain the ability to use
3594
stabilised and auto modes (including RTL) after a full CPU lockup.
3595
3596
The additional protections of the IWDG support only apply to the
3597
ChibiOS builds. The IWDG is not supported in NuttX builds.
3598
3599
The second key fix in this release relates to IMU failure on multi-IMU
3600
systems. If the IMU that is associated with the currently active EKF
3601
lane failed then the fixed wing attitude controller would lose
3602
attitude control and the aircraft will crash unless the pilot takes
3603
manual control. This has been fixed to ensure that IMU failover
3604
operates correctly.
3605
3606
Other changes in this release:
3607
3608
- added support for the CUAVv5Nano board
3609
3610
- added retries to flash storage of parameters
3611
3612
- fixed pullups on some fmuv3 based boards that lack hardware pullups
3613
on sdcard data lines
3614
3615
- fixed fallback to microSD for parameter storage if a board with
3616
FRAM storage has a failed FRAM device
3617
3618
- added a specific check for hw failure regarding the recent
3619
CubeBlack safety bulletin
3620
3621
- fixed the power flags for brick2 on fmuv5
3622
3623
Happy flying!
3624
3625
3626
Release 3.9.7, 1st April 2019
3627
-----------------------------
3628
3629
This is a minor release to fix a single important bug in speed/height
3630
handling. The bug was in the TECS (total energy control system) and
3631
could cause a sustained pitch down due to a transient glitch in
3632
airspeed demand resulting in a large negative pitch integrator.
3633
3634
The log that found the bug was of a quadplane in CRUISE mode, and
3635
resulted in the aircraft forcing nose down for long enough to crash.
3636
3637
The fix includes both protections for the pitch integrator and a fix
3638
for the cause of the transient in airspeed demand affecting the TECS
3639
demanded airspeed.
3640
3641
Happy flying!
3642
3643
3644
Release 3.9.6, 4th March 2019
3645
-----------------------------
3646
3647
This is a minor release with some important fixes for VTOL landings
3648
and EKF handling of compass switching.
3649
3650
- fixed throttle slew on dual-motor planes
3651
3652
- handle VTOL landings with incorrect height (or failed rangefinder)
3653
3654
- fixed EKF alt datum reset on barometer reset
3655
3656
- probe all I2C buses for rangefinders (fixes I2C lidar on boards
3657
with more than 2 I2C buses)
3658
3659
- fixed lightware serial detection for newer lidars such as LW20
3660
3661
- fixed motor relax code on VTOL landing to prevent motors powering
3662
up after touchdown
3663
3664
- fixed forward motor in quadplane landing transition to allow motors
3665
when landing at a height lower than takeoff height
3666
3667
- fixed throttle mix handling for VTOL planes on descent
3668
3669
- use WP altitude for height of ground in VTOL landing, allowing for
3670
good landings at heights well above or below takeoff height
3671
3672
- fixed EKF compass switching with 3 compasses
3673
3674
- fixed mini-pix UART order to match case markings
3675
3676
- added generated git hash to apj file
3677
3678
- fixed apj generation to not change based on time of build
3679
3680
- fixed thread creation to use any heap, fixing a bug on
3681
MatekF405-Wing with a compass
3682
3683
Happy flying!
3684
3685
3686
Release 3.9.5, 27th January 2019
3687
--------------------------------
3688
3689
This is a minor update over the 3.9.4 release. This release includes
3690
the following changes:
3691
3692
- fixed orientation of 2nd IMU for OmnibusF7V2
3693
3694
- fixed LEDs on Pixhawk4 and Pixhawk4-mini
3695
3696
- fixed safety switch on Pixhawk4-mini
3697
3698
- improved robustness of microSD support under ChibiOS
3699
3700
- support insert of a microSD after boot but before logging starts
3701
under ChibiOS
3702
3703
- added BRD_SD_SLOWDOWN parameter to allow microSD cards to be run at
3704
a lower clock to improve reliability
3705
3706
- fixed VTOL takeoff in quadplanes to ignore latitude/longitude in
3707
the mission item and always takeoff vertically
3708
3709
- added CubePurple (also known as PH2Slim) builds
3710
3711
- added DrotekP3Pro builds
3712
3713
- RC protocol decoding for SRXL, SUMD and ST24 extended to all boards
3714
including pixracer and ChibiOS-only boards
3715
3716
- fixed CAN on Pixhawk4
3717
3718
- fixed EKF yaw reset in quadplanes
3719
3720
- fixed bug handling corruption of DSM RC protocols
3721
3722
- fixed internal amber LED on CubeBlack
3723
3724
Happy flying!
3725
3726
3727
Release 3.9.4, 10th December 2018
3728
---------------------------------
3729
3730
This is a minor update over the 3.9.3 release. Changes are:
3731
3732
- fixed a critical bug in SBUS handling on the Pixhawk4
3733
3734
- fixed bugs in benewake rangefinder driver
3735
3736
- added support for garmin LidarLite-V3HP
3737
3738
- improved error handling for TeraRanger Lidar
3739
3740
- fixed a bug in DSM handling for more than 7 channels on some boards
3741
3742
- fixed default voltage and current scaling for Pixhawk4 and PH4-mini
3743
3744
Happy flying!
3745
3746
Release 3.9.3, 10th November 2018
3747
---------------------------------
3748
3749
The ArduPilot development team are delighted to announce the 3.9.3
3750
stable release of the ArduPilot plane code. This release includes a
3751
number of small but important fixes over 3.9.2:
3752
3753
- fixed error handling for corrupt RC input that could lead to a
3754
crash in unusual circumstances
3755
3756
- fixed a race condition in IOMCU event startup that could lead to
3757
the safety not being disabled on boot with BRD_SAFETYENABLE=0
3758
3759
- ensure surface speed scaling covers full range of configured
3760
airspeeds
3761
3762
- added builds for new boards F35Lightning, omnibusf4v6, mRoX21-777
3763
3764
- updated GPIO numbers on AUX pins on all boards to be consistent
3765
with docs
3766
3767
- updated KakuteF7 UARTs and buzzer
3768
3769
- added ESC sensor uart on OmnibusNanoV6
3770
3771
- fix for Benewake rangefinder at long ranges
3772
3773
- prevent attempts to erase dataflash logs while armed
3774
3775
Many thanks to the people who tested this release!
3776
3777
Happy flying!
3778
3779
3780
Release 3.9.3beta1, 6th November 2018
3781
-------------------------------------
3782
3783
This is the first beta release for the 3.9.3 firmware. This release
3784
has the following changes over 3.9.2:
3785
3786
- fixed error handling for corrupt RC input that could lead to a
3787
crash in unusual circumstances
3788
3789
- fixed a race condition in IOMCU event startup that could lead to
3790
the safety not being disabled on boot with BRD_SAFETYENABLE=0
3791
3792
- ensure surface speed scaling covers full range of configured
3793
airspeeds
3794
3795
- added builds for new boards F35Lightning, omnibusf4v6, mRoX21-777
3796
3797
- updated GPIO numbers on AUX pins on all boards to be consistent
3798
with docs
3799
3800
- updated KakuteF7 UARTs and buzzer
3801
3802
- added ESC sensor uart on OmnibusNanoV6
3803
3804
Happy flying!
3805
3806
3807
Release 3.9.2, 10th October 2018
3808
--------------------------------
3809
3810
The ArduPilot development team are delighted to announce the 3.9.2
3811
stable release of the ArduPilot plane code. This release includes a
3812
number of small but important fixes over 3.9.1.
3813
3814
The changes since the 3.9.2beta3 release are:
3815
3816
- fixed a DShot send bug that could lead to board lockup
3817
3818
- fixed RGB LED display on Pixracer under both NuttX and ChibiOS
3819
3820
- fixed safety switch option handling bug
3821
3822
Thanks for the bug reports and testing by all users for the 3.9.2beta
3823
series!
3824
3825
Happy flying!
3826
3827
3828
>>>>>>> a9d5581378... Plane: updated release notes for 3.9.8-beta1
3829
Release 3.9.2beta3, 20th September 2018
3830
---------------------------------------
3831
3832
The is the third beta release of the plane 3.9.2 stable release. It
3833
contains a small number of fixes:
3834
3835
- fixed clearing of loiter pilot acceleration targets for quadplanes
3836
3837
- fixed handling of duplicate rotations for COMPASS_AUTO_ROT
3838
3839
I expect this will be the last beta release before 3.9.2
3840
3841
Happy flying!
3842
3843
Release 3.9.2beta2, 15th September 2018
3844
---------------------------------------
3845
3846
The is the second beta release of the plane 3.9.2 stable release. It
3847
contains a number of important bug fixes.
3848
3849
- implement failsafe PWM in IOMCU, for AFS failsafe when FMU dies
3850
3851
- handle reversed channels correctly in AFS failsafe
3852
3853
- fixed twin motor plane handling in AFS failsafe
3854
3855
- fixed a bug in Q_ASSIST_SPEED support for tiltrotors that could
3856
lead to zero throttle when assistance triggers.
3857
3858
- lower default PTCH2SRV_D to 0.04 after reports of oscillation on
3859
small flying wings
3860
3861
- added speed scaler reduction in Q modes when at low airspeed
3862
3863
- fixed synthetic airspeed estimation to be along +ve X axis
3864
3865
- fixed relaxing of VTOL attitude controller on transition (thanks to
3866
Leonard Hall)
3867
3868
- default COMPASS_AUTO_ROT to 2 on all boards
3869
3870
- fixed UART speed rounding bug that caused failure at high board
3871
rates
3872
3873
- fixed a short glitch in position control on quadplane transition
3874
(many thanks to Leonard for lots of help with this)
3875
3876
- fixed RSSI voltage from IOMCU
3877
3878
Thanks to everyone who has contributed, and please report all test
3879
results with this beta.
3880
3881
Happy flying!
3882
3883
Release 3.9.2beta1, 12th September 2018
3884
---------------------------------------
3885
3886
The is the first beta release of the plane 3.9.2 stable release. It
3887
contains a number of important bug fixes.
3888
3889
- fixed a quadplane bug that could cause large attitude instability
3890
during takeoff if the aircraft does not have enough power to climb
3891
to its target height. Thanks to Leonard for the fix.
3892
3893
- fixed a bug that prevented dead-reckoning working on GPS loss.
3894
3895
- fixed an ADC bug that prevented some boards from using all of their
3896
analog input. Thanks to vierfuffzig for reporting!
3897
3898
- fixed a bug in advanced failsafe support that left RC input to
3899
throttle active after termination. Thanks to Michael Thomas for
3900
finding this bug.
3901
3902
- fixed use of OLED displays on the first I2C bus on systems with two
3903
I2C buses
3904
3905
Thanks to everyone who has contributed, and please report all test
3906
results with this beta.
3907
3908
Happy flying!
3909
3910
3911
Release 3.9.1, 31st August 2018
3912
-------------------------------
3913
3914
The ArduPilot dev team are delighted to announce a new stable plane
3915
release. This is a minor release, but does include some important
3916
fixes.
3917
3918
The only change over the 3.9.1beta3 release is an increase in the USB
3919
buffer size to give faster log download over USB.
3920
3921
Other important changes from the 3.9.1beta releases include:
3922
3923
- updated to default values for some tuning parameters
3924
3925
- fixed a critical safety issue found by Oliver Volkmann, and fixed
3926
by Michael du Breuil. The problem could lead to quadplane motors
3927
starting on reboot
3928
3929
- fixed a bug where RC failsafe could lead rudder input stuck at the
3930
last rudder input value in some modes. Thanks to Michael du Breuil
3931
for the fix
3932
3933
- improved DShot and BLHeli-passthrough support, fixing errors
3934
reported by BLHeli32 ESCs and making using BLHeliSuite32 much more
3935
reliable
3936
3937
- new tonealarm system, bringing the tones produced under ChibiOS and
3938
Linux HALs in line with tones produced under the HAL_PX4 HAL.
3939
3940
- added a new LED driver for the NCP5623 LED
3941
3942
- fixed delay caused by parameter writes in AP_Stats
3943
3944
- fixed default RSSI input pin on some boards
3945
3946
- fixed the incorrect display of "no io thread heartbeat" message
3947
3948
- fixed microSD support on some boards due to running out of DMA
3949
capable memory
3950
3951
Many thanks to everyone who has been testing the beta releases.
3952
3953
Happy flying!
3954
3955
3956
Release 3.9.1beta3, 23rd August 2018
3957
------------------------------------
3958
3959
This is the third beta for the 3.9.1 release, which is a minor
3960
update over 3.9.0. This release includes the following changes:
3961
3962
- fixed a critical safety issue found by Oliver Volkmann, and fixed
3963
by Michael du Breuil. The problem could lead to quadplane motors
3964
starting on reboot
3965
3966
- fixed a bug where RC failsafe could lead rudder input stuck at the
3967
last rudder input value in some modes. Thanks to Michael du Breuil
3968
for the fix
3969
3970
- raised OSD thread stack size to 1024 (needed for new OSD items)
3971
3972
Thanks to everyone who is testing the 3.9.1beta series!
3973
3974
Release 3.9.1beta2, 17th August 2018
3975
------------------------------------
3976
3977
This is a the second beta for the 3.9.1 release, which is a minor
3978
update over 3.9.0. This release includes the following changes:
3979
3980
- increased default buffer sizes in dataflash for some boards
3981
3982
- fixed a bug with small dataflash buffers
3983
3984
- updated OSD with new items: hdop, temperature, waypoint, xtrack,
3985
flight distance, flighttime, efficiency (thanks to Hwurzburg,
3986
vierfuffzig and sh83).
3987
3988
- reduced memory usage in serial buffers
3989
3990
- adjusted some default parameters to give a better first flight
3991
experience for more users.
3992
3993
The default parameter changes are:
3994
3995
- RLL2SRV_P from 0.6 to 1.0
3996
- RLL2SRV_I from 0.1 to 0.3
3997
- RLL2SRV_D from 0.02 to 0.08
3998
- PTCH2SRV_P from 0.6 to 1.0
3999
- PTCH2SRV_I from 0.1 to 0.3
4000
- PTCH2SRV_D from 0.02 to 0.08
4001
- TECS_PITCH_MAX from 0 to 15
4002
- NAVL1_PERIOD from 20 to 17
4003
4004
The PID parameter changes won't affect anyone who has done some
4005
tuning, but will make the first flight experience for a new user be a
4006
lot better for nearly all aircraft. Paul and I decided on the values
4007
based on experience with users flight logs, plus the experience users
4008
have had with AUTOTUNE mode.
4009
4010
Please report testing results!
4011
4012
Happy flying
4013
4014
Release 3.9.1beta1, 15th August 2018
4015
------------------------------------
4016
4017
This is a the first beta for the 3.9.1 release, which is a minor
4018
update over 3.9.0. This release includes the following changes:
4019
4020
- improved DShot and BLHeli-passthrough support, fixing errors
4021
reported by BLHeli32 ESCs and making using BLHeliSuite32 much more
4022
reliable
4023
4024
- new tonealarm system, bringing the tones produced under ChibiOS and
4025
Linux HALs in line with tones produced under the HAL_PX4 HAL.
4026
4027
- added a new LED driver for the NCP5623 LED
4028
4029
- fixed delay caused by parameter writes in AP_Stats
4030
4031
- fixed default RSSI input pin on some boards
4032
4033
- fixed the incorrect display of "no io thread heartbeat" message
4034
4035
- fixed microSD support on some boards due to running out of DMA
4036
capable memory
4037
4038
Given the changes are quite small, I hope to make this a fairly short
4039
beta cycle. Please test it and report both success and failure.
4040
4041
Happy flying!
4042
4043
Release 3.9.0, 6th August 2018
4044
------------------------------
4045
4046
The ArduPilot development team is delighted to announce a new stable
4047
release of plane, version 3.9.0.
4048
4049
For those of you who have been testing the 3.9.0beta releases then you
4050
won't see any surprises here. That are no changes since
4051
3.9.0beta6. Also, many thanks for testing the betas!
4052
4053
For those of you coming from the last stable 3.8.5 release there are a
4054
lot of changes. For a start, this is the first release to support both
4055
the ChibiOS RTOS on STM32 boards and the NuttX RTOS. Previously stable
4056
releases only used the NuttX RTOS. The ArduPilot project is moving to
4057
ChibiOS for future releases, and we expect to drop support for the
4058
NuttX builds for the next major stable release (which will probably be
4059
called 3.10.0).
4060
4061
When you install the 3.9.0 release on board such as a Pixhawk1, Cube
4062
or Pixracer you have a choice of which build to use. Choosing ChibiOS
4063
will give you better performance and some very nice new
4064
features. Choosing the NuttX (also known as "PX4" builds) will get you
4065
the same base that we have been using for years.
4066
4067
There are a few features that are in the NuttX build but not yet in
4068
the ChibiOS build, in particular the ChibiOS build does not yet
4069
support PWM based rangefinders. That will be fixed in a future
4070
release.
4071
4072
This release has a lot of new features. Some of the most important
4073
ones are:
4074
4075
- DShot support for controlling ESCs
4076
- BLHeli pass-thru support for ESC configuration
4077
- automatic compass orientation on calibrating compasses
4078
- improved VTOL flight code, with improved transition support and loiter
4079
- support for Devo telemetry output
4080
- new battery monitoring system, with more flexible failsafes
4081
- built-in OSD support for boards with a MAX7456 OSD device
4082
4083
In addition, this release supports a lot of new flight boards,
4084
including:
4085
4086
- AirbotF4
4087
- F4BY
4088
- KakuteF4
4089
- KakuteF7
4090
- MatekF405
4091
- MatekF405-Wing
4092
- mindpx-v2
4093
- mini-pix
4094
- Omnibusf4pro
4095
- Omnibusf7V2
4096
- Pixhawk4 and Pixhawk4-mini
4097
- CUAVv5
4098
- revo and revo-mini
4099
- sparky2
4100
4101
We also now have custom ChibiOS based builds for some existing boards,
4102
including:
4103
4104
- CubeBlack
4105
- mRoX21
4106
- Pixhawk1
4107
- Pixracer
4108
4109
This means you now have a lot more choice in selecting a flight board
4110
to use with ArduPilot.
4111
4112
This release was made possible thanks to contributions from dozens of
4113
volunteer developers in the dev team. In total there are over 5
4114
thousand changes since the 3.8.5 release. Special thanks to:
4115
4116
- Siddharth Purohit
4117
- Tom Pittenger
4118
- Randy Mackay
4119
- Michael du Breuil
4120
- Peter Barker
4121
- Mark Whitehorn
4122
- Paul Riseborough
4123
- Francisco Ferreira
4124
- Jonathan Challinger
4125
- Leonard Hall
4126
- Alexander Malishev
4127
- Nathan E
4128
- Marco Robustini
4129
- Luis Vale Gonçalves
4130
- night-ghost
4131
- Patrick José Pereira
4132
- Lucas De Marchi
4133
- Eugene Shamaev
4134
- Philip Rowse
4135
- Amilcar Lucas
4136
- Kelly Foster
4137
- Fnoop
4138
- Pierre Kancir
4139
- Stephen Dade
4140
- Jaime Machuca
4141
- vierfuffzig
4142
- Henry Wwurzburg
4143
- Malcolm Churn
4144
- Holger Steinhaus
4145
4146
We hope you enjoy flying this release as much as we enjoyed making
4147
it. Happy flying!
4148
4149
Release 3.9.0beta6, 30th July 2018
4150
----------------------------------
4151
4152
This is the sixth in a series of beta releases for plane 3.9.0. I aims
4153
to be the final beta.
4154
4155
Changes in this release are:
4156
4157
- added Q_TAILSIT_THSCMX parameter for tailsitters (thanks to IamPete)
4158
- added KakuteF7 bootloader
4159
- fixed arming error with trim on unusued RC channels
4160
- fixed microSD support on KakureF7 and OmnibusF7V2 (thanks sh83)
4161
- fixed VL53L0X rangefinder driver
4162
- added Pixhawk1 ChibiOS build
4163
- fixed update rate for servos in tailsitters
4164
- set COMPASS_AUTO_ROT to 2 for most boards
4165
- improved OmnibusF7V2 support
4166
- support all external compasses on mini-pix
4167
- clear COMPASS_DEV_ID for unused compasses
4168
4169
Happy flying!
4170
4171
Release 3.9.0beta5, 19th July 2018
4172
----------------------------------
4173
4174
This is the fifth in a series of beta releases for plane 3.9.0. It
4175
fixes two important bugs over 3.9.0beta4
4176
4177
- fixed RC failsafe on IOMCU when a SBUS receiver is set to "hold" mode
4178
- allowed for RC override failsafe to support holding override value
4179
on timeout
4180
4181
Thanks to Jon and Michael for the failsafe fixes!
4182
4183
It also includes two smaller changes:
4184
4185
- updated F4BY board id, and added F4BY to autobuild list
4186
- fixed UARTD for px4-v1 build
4187
4188
Release 3.9.0beta4, 18th July 2018
4189
----------------------------------
4190
4191
This is the fourth in a series of beta releases for plane 3.9.0. It is
4192
a major release, with a lot of changes.
4193
4194
- fixed compass detection on pixracer
4195
- greatly improved OSD support
4196
- fixed ARMING_REQUIRE=2 support (thanks Marco!)
4197
- added automatic compass orientation support
4198
- added probe for all external compasses on new ChibiOS boards
4199
- fixed arming with compass disabled
4200
- fixed flow control on F7 based boards
4201
- fixed prealloc of DMA bouncebuffers
4202
- added board specific builds for mRoX21 and Pixracer
4203
- fixed mRoX21 IMU detection
4204
4205
Many thanks to all who contributed to this release, and our beta testers!
4206
4207
Release 3.9.0beta3, 11th July 2018
4208
----------------------------------
4209
4210
This is the third in a series of beta releases for plane 3.9.0. It is
4211
a minor update to beta2
4212
4213
Changes are:
4214
4215
- fixed nul termination of system ID on ChibiOS
4216
- added PH4-mini support
4217
- fixed compass orientation on fmuv5
4218
- matched BRD_PWM_COUNT between px4-v3 and fmuv3
4219
- fixed MatekF405-Wing compass orientation
4220
- backup storage to microSD if possible
4221
4222
4223
Release 3.9.0beta2, 6th July 2018
4224
---------------------------------
4225
4226
This is the second in a series of beta releases for plane 3.9.0. It is
4227
a major release, with a lot of changes.
4228
4229
- Builtin OSD support on boards with MAX7456 OSD device
4230
- fixed throttle display on twin-engine planes
4231
- improved timing in mavlink remote sensors
4232
- added many more board types to autobuild
4233
- fixed airspeed reporting for unhealthy sensors
4234
- fixed log timestamps on ChibiOS
4235
- added force arm option
4236
- added fmuv5 support
4237
- added CubeBlack build
4238
- added ESC telemetry virtual battery
4239
- added SERIAL6 on fmuv4 and fmuv5
4240
- added MatekF405-Wing support
4241
- added AP_Bootloader
4242
- support bootloader update over MAVLink
4243
- enable sdcard on several F4 boards
4244
- fixed serial number logging on ChibiOS boards
4245
- fixed revo-mini compass orientation
4246
4247
Many thanks to all who contributed to this release, and our beta testers!
4248
4249
Release 3.9.0beta1, 21st May 2018
4250
---------------------------------
4251
4252
This is the first in a series of beta releases for plane 3.9.0. It is
4253
a major release, with a lot of changes.
4254
4255
The main changes are for supporting two new HALs (hardware abstraction
4256
layers). One is the port to ChibiOS and the second is the F4Light HAL.
4257
4258
These ports bring a host of new flight board options, and a lot of new
4259
features. Some highlights include:
4260
4261
- support for many inexpensive STM32F4 based flight boards
4262
4263
- support for DShot output for BLHeli ESCs, including ESC telemetry
4264
feedback
4265
4266
- new battery monitoring system with more flexible failsafe options
4267
4268
- support for Devo telemetry output
4269
4270
- a new position hold library for multicopters which improves
4271
quadplane VTOL support
4272
4273
This release is fully compatible with previous releases, and users
4274
should not notice a significant difference in flight. The focus of the
4275
beta testing will be on ensuring that the new flight board support is
4276
stable.
4277
4278
Happy flying!
4279
4280
Release 3.8.5, 25th April 2018
4281
------------------------------
4282
4283
This release includes small bug fixes and one safety fix. The changes
4284
are:
4285
4286
- fixed an issue where the external safety button can activate in
4287
flight on some boards, causing them to crash. A new parameter
4288
BRD_SAFETYOPTION is added which controls the behaviour of the
4289
safety button. The default is to de-activate the safety button when
4290
armed.
4291
4292
- fixed default orientation of ICM-20948 compass for Here GPS
4293
4294
- added support for dual airspeed sensors
4295
4296
- added support for the SDP33 airspeed sensor. This is still
4297
considered experimental. There are reports of it underestimating
4298
the aircrafts speed at higher altitudes.
4299
4300
- add support for the MS5525 airspeed sensor on multiple I2C
4301
addresses. Two new values of the ARSDP_TYPE are introduced (4 and
4302
5) for specific I2C addresses. This allows you to deconflict the
4303
MS5525 from a MS5611 barometer on the same bus.
4304
4305
Release 3.8.4, 9th January 2018
4306
-------------------------------
4307
4308
This is a minor release with just two small changes.
4309
4310
The first change is to fix a timing bug in the MS5525 airspeed sensor
4311
driver. That bug was causing unreliable airspeed sensing. Thanks to
4312
David Ingraham for providing logs that helped find the issue.
4313
4314
The second change is to fix transitions in AUTO mode in
4315
tailsitter. The transition for tailsitters was causing instability on
4316
transition from vertical takeoff to forward flight.
4317
4318
4319
Release 3.8.3, 13th November 2017
4320
---------------------------------
4321
4322
This is a minor release with a number of important bug fixes and some
4323
small feature additions.
4324
4325
The most important general fixes are for an I2C device detection bug
4326
and fixing the implementation of MANUAL_RCMASK.
4327
4328
There are quite a number of small fixes in lots of areas, plus big
4329
improvements to the handling of tailsitter transitions.
4330
4331
Another significant change is to the handling of transitions from RTL
4332
to QRTL when Q_RTL_MODE=1. We now transition to QRTL at a distance
4333
which is the maximum of RTL_RADIUS and a distance calculated based on
4334
a new Q_TRANS_DECEL "transition deceleration" parameter. That allows
4335
you to tune the amount of deceleration you want in the transition
4336
according to how much drag your quadplane has. This also means it
4337
automatically accounts for wind speed and approach speed in
4338
calculating the transition point.
4339
4340
We have also added a new Q_OPTIONS parameter which is a bitmask of
4341
option flags to control quadplane behaviour. We have three options so
4342
far. The first is to allow for keeping the wings within
4343
LEVEL_ROLL_LIMIT degrees during transitions, for users that prefer
4344
transitions to be kept level. The 2nd and 3rd options are to treat
4345
NAV_TAKEOFF as NAV_VTOL_TAKEOFF and NAV_LAND as NAV_VTOL_LAND in
4346
quadplane missions, so that you can use GCS software that doesn't know
4347
about the VTOL takeoff and land commands.
4348
4349
- allow vertical takeoffs in GUIDED mode with Q_GUIDED_MODE=0
4350
4351
- fixed a bug in implementation of MANUAL_RCMASK
4352
4353
- eliminate airspeed positive bias after offset zero
4354
4355
- prevent quadplane controller windup on the ground
4356
4357
- added Q_MAV_TYPE for setup of VTOL vehicle type for QGC
4358
4359
- improved performance of FlightAxis SITL
4360
4361
- support LOITER_TO_ALT in quadplanes
4362
4363
- fixed a bug in TECS related to descending quadplane transitions
4364
4365
- added Q_OPTIONS for controlling roll during transitions and
4366
allowing for fixed wing takeoff and landing
4367
4368
- fixed a race condition in IMU logging
4369
4370
- fixed a race in i2c device probing
4371
4372
- log critical messages while disarmed
4373
4374
- added IST8310 compass on FMUv3 I2C
4375
4376
- probe for QMC5883 by default
4377
4378
- avoid double detection of AK09916 compass
4379
4380
- smooth out tailsitter transitions in both directions
4381
4382
- fixed use of RTL_RADIUS for QRTL threshold and added Q_TRANS_DECEL
4383
4384
- fixed course unlocking with rudder in CRUISE mode
4385
4386
We hope you have as much fun flying this release as we had producing
4387
it. Happy flying!
4388
4389
Release 3.8.2, 11th September 2017
4390
----------------------------------
4391
4392
This is a minor release, with a few small fixes and one important
4393
crash bug fix.
4394
4395
The crash bug is in the Septentrio (SBF) GPS driver. Anyone flying
4396
with an SBF GPS should update to this release. The driver had a bug
4397
that could cause a in-flight crash under some circumstances.
4398
4399
Other changes in this release are:
4400
4401
- support takeoff in GUIDED mode for quadplanes
4402
4403
- support changing target altitude while hovering in GUIDED mode for
4404
quadplanes
4405
4406
- improved descent rate control in QRTL and QLAND modes. This fixes
4407
an issue with higher than configured descent rates, and smoothes
4408
out the change in descent rate for the change to the final landing
4409
stage
4410
4411
- smooth out the transition to QLOITER or QLAND when transitioning
4412
from fixed wing mode. This prevents the sudden nose up when
4413
changing to QLOITER or QLAND mode while flying at high speed.
4414
4415
- added MANUAL_CONTROL support, allowing for joystick control from QGroundControl
4416
4417
Happy flying!
4418
4419
Release 3.8.1, 3rd September 2017
4420
---------------------------------
4421
4422
This is a bugfix release for 3.8.0, with just a few small changes, and
4423
only one new feature.
4424
4425
The bug fixes are:
4426
4427
- removed TRIM_RC_AT_START option, as this was causing significant
4428
issues
4429
4430
- fixed bug in TRIM_AUTO support with differential spoilers
4431
4432
- fixed bug with RCn_TRIM == RCn_MIN in MANUAL mode
4433
4434
- fixed combination of TKOFF_THR_MINACC and TKOFF_THR_DELAY
4435
4436
- fixed a bug in sending STATUSTEXT messages on all MAVLink channels
4437
4438
The new feature is that you can set the protocol for the debug UART on
4439
FMUv2 or FMUv3 board (such as a Pixhawk or Cube) to allow allow UART5
4440
to be used for arbitrary protocols. To use this fetaure just set
4441
SERIAL5_PROTOCOL to the desired serial protocol. This should be useful
4442
to users who have multiple serial devices (such as rangefinders) they
4443
want to connect and have run out of UARTs.
4444
4445
Happy flying!
4446
4447
4448
Release 3.8.0, 5th August 2017
4449
------------------------------
4450
4451
The ArduPilot development team is very proud to announce the release
4452
of APM:Plane 3.8.0. This is a major release, with a lot of new
4453
features and improvements. The release has been a long time coming,
4454
and the dev team would like to thank everyone who has contributed,
4455
in terms of code and documentation as well as the many testers of beta
4456
versions of the code.
4457
4458
To help with migration from the 3.7.1 release to 3.8.0 there is a
4459
migration guide here:
4460
4461
http://ardupilot.org/plane/docs/plane-3-7-to-3-8-migration.html
4462
4463
All users should read the migration guide carefully. While the
4464
firmware will try to auto-migrate most settings, please do very
4465
careful ground tests before your first flight with 3.8.
4466
4467
In total there have been over 4 thousand changes in the ArduPilot git
4468
tree since the 3.7.1 release, with over four hundred of those specific
4469
to fixed wing aircraft. Listing all of them in these release notes is
4470
not practical, but the following list will give some of the larger
4471
changes:
4472
4473
- addition of EKF3 support (disabled by default)
4474
- new SERVO parameter system for servo output configuration
4475
- support for MS5525 airspeed sensor
4476
- support for a wide range of tiltrotor quadplanes
4477
- support for tailsitter aircraft (including vectored tailsitters)
4478
- support for twin-motor aircraft, with differential thrust
4479
- new system for elevon, vtail, flaperon and differential spoiler setup
4480
- support for deep stall landings
4481
- support for dual-gps blending
4482
- support for masking compass types for driver loading
4483
- completely new DMA based and high sample rate IMU drivers
4484
- support for px4pro board from Drotek
4485
- several new compass drivers, new IMU drivers and new GPS drivers
4486
- new MANUAL_RCMASK system for fine-grained MANUAL flight setup
4487
- support for log rotation on disarm
4488
- numerous quadplane improvements
4489
- fixed loiter behaviour with Q_GUIDED_MODE=1
4490
- allow rudder arming in CRUISE and FBWB modes
4491
- fixed bug in transmitter tuning support
4492
- fixed bug in attitude integrator zero on mode change
4493
- added SYSID_ENFORCE parameter
4494
- fixed support for vtail rudder-only planes
4495
- greatly improved automatic landing accuracy
4496
- support for high update rates on all servos with SERVO_RATE parameter
4497
- greatly improved UAVCAN support, with parameters now in CAN_ parameter space
4498
- support for prop-hang on 3D aircraft
4499
- improved quadplane PID logging
4500
- smoother takeoffs for quadplanes
4501
- logging of side-slip and angle-of-attack estimates
4502
- added AETR, pre-mixer logging
4503
- automatic thermalling support
4504
4505
Release 3.8.0beta5, 1st May 2017
4506
--------------------------------
4507
4508
The ArduPilot development team is proud to announce the release of
4509
version 3.8.0beta of APM:Plane. This is a major release. All users
4510
should carefully check their setup when upgrading.
4511
4512
Major changes include:
4513
4514
- new SRV_Channel system for setting up of output servos separately
4515
from input RC channels
4516
- new elevon and vtail support system
4517
- new EKF3 state estimator (not enabled by default yet)
4518
- support for tailsitter aircraft
4519
- greatly improved support for tilt-rotor quadplanes
4520
- greatly improved quadplane transition code
4521
- support for deepstall landing
4522
- large improvements in airspeed noise handling
4523
- much improved RTK GPS support
4524
- support automatic servo trimming
4525
- greatly improved automatic landing accuracy
4526
- significant improvements in altitude handling
4527
- significant improvement in sensor drivers, with higher sample rates
4528
and improved vibration resistance
4529
4530
On top of that there have been hundreds of smaller improvements and
4531
bug fixes.
4532
4533
From the users point of view the most significant change in setup is
4534
moving of RCn_FUNCTION parameters into new SERVOn_FUNCTION parameters,
4535
and the creation of separate output MIN/MAX/TRIM values for all servo
4536
outputs. This allows for much more flxible output setup that is
4537
independent of RC input setup.
4538
4539
Release 3.7.1, 21st October 2016
4540
--------------------------------
4541
4542
The ArduPilot development team is proud to announce the release of
4543
version 3.7.1 of APM:Plane. This is a minor bug fix release. A major
4544
release of 3.8.0 is also being prepared now and will be in beta soon.
4545
4546
Changes in this release:
4547
4548
- fixed arming check error on FMUv4 (pixracer)
4549
- fixed pilot throttle based motor test for quadplane
4550
- fixed use of multicopter mix_max in quadplane
4551
- fixed AFS termination bugs for quadplanes
4552
- added automatic ICE engine cut in QLAND
4553
- fixed loiter mode with Q_GUIDED_MODE=1
4554
- fixed navigation at lattitude of exactly zero
4555
- fixed quadplane transition without airspeed sensor
4556
- fixed rudder arming in CRUISE and FBWB modes
4557
- fixed throttle slew rate in MANUAL mode for quadplanes
4558
- fixed multiple bugs in transmitter tuning for quadplane rates
4559
- fixed mavlink system ID in early startup on USB
4560
- slow down update of home position
4561
- update Disco battery lookup table
4562
- improved compass calibration code for larger offsets
4563
4564
Many thanks to everyone who contributed to this release!
4565
4566
Release 3.7.0, 9th September 2016
4567
---------------------------------
4568
4569
The ArduPilot development team is proud to announce the release of
4570
version 3.7.0 of APM:Plane. This is a major update so please read the
4571
notes carefully.
4572
4573
The biggest changes in this release are:
4574
4575
- more reliable recovery from inverted flight
4576
- automatic IC engine support
4577
- Q_ASSIST_ANGLE for stall recovery on quadplanes
4578
- Pixhawk2 IMU heater support
4579
- PH2SLIM support
4580
- AP_Module support
4581
- Parrot Disco support
4582
- major VRBrain support merge
4583
- much faster boot time on Pixhawk
4584
4585
I'll give a bit of detail on each of these changes before giving the
4586
more detailed list of changes.
4587
4588
More reliable recovery from inverted flight
4589
4590
Marc Merlin discovered that on some types of gliders that ArduPilot
4591
would not reliably recover from inverted flight. The problem turned
4592
out to be the use of the elevator at high bank angles preventing the
4593
ailerons from fully recovering attitude. The fix in this release
4594
prevent excessive elevator use when the aircraft is beyond
4595
LIM_ROLL_CD. This should help a lot for people using ArduPilot as a
4596
recovery system for manual FPV flight.
4597
4598
Automatic IC engine support
4599
4600
ArduPilot has supported internal combustion engines for a long time,
4601
but until now the pilot has had to control the ignition and starter
4602
manually using transmitter pass throughs. A new "ICE" module in
4603
ArduPilot now allows for fully automatic internal combustion engine
4604
support.
4605
4606
Coupled with an RPM sensor you can setup your aircraft to
4607
automatically control the ignition and starter motor, allowing for one
4608
touch start of the motor on the ground and automatic restart of the
4609
motor in flight if needed.
4610
4611
The IC engine support is also integrated into the quadplane code,
4612
allowing for automatic engine start at a specified altitude above the
4613
ground. This is useful for tractor engine quadplanes where the
4614
propeller could strike the ground on takeoff. The engine can also be
4615
automatically stopped in the final stage of a quadplane landing.
4616
4617
Q_ASSIST_ANGLE for stall recovery
4618
4619
Another new quadplane feature is automatic recovery from fixed wing
4620
stall. Previously the VTOL motors would only provide assistance in
4621
fixed wing modes when the aircraft airspeed dropped below
4622
Q_ASSIST_SPEED. Some stalls can occur with higher airspeed however,
4623
and this can result in the aircraft losing attitude control without
4624
triggering a Q_ASSIST_SPEED recovery. A new parameter Q_ASSIST_ANGLE
4625
allows for automatic assistance when attitude control is lost,
4626
triggering when the attitude goes outside the defined roll and pitch
4627
limits and is more than Q_ASSIST_ANGLE degrees from the desired
4628
attitude. Many thanks to Iskess for the suggestion and good discussion
4629
around this feature.
4630
4631
Pixhawk2 heated IMU support
4632
4633
This release adds support for the IMU heater in the upcoming Pixhawk2,
4634
allowing for more stable IMU temperatures. The Pixhawk2 is
4635
automatically detected and the heater enabled at boot, with the target
4636
IMU temperature controllable via BRD_IMU_TARGTEMP.
4637
4638
Using an IMU heater should improve IMU stability in environments with
4639
significant temperature changes.
4640
4641
PH2SLIM Support
4642
4643
This release adds support for the PH2SLIM variant of the Pixhawk2,
4644
which is a Pixhawk2 cube without the isolated sensor top board. This
4645
makes for a very compact autopilot for small aircraft. To enable
4646
PH2SLIM support set the BRD_TYPE parameter to 6 using a GCS connected
4647
on USB.
4648
4649
AP_Module Support
4650
4651
This is the first release of ArduPilot with loadable module support
4652
for Linux based boards. The AP_Module system allows for externally
4653
compiled modules to access sensor data from ArduPilot controlled
4654
sensors. The initial AP_Module support is aimed at vendors integrating
4655
high-rate digital image stabilisation using IMU data, but it is
4656
expected this will be expanded to other use cases in future releases.
4657
4658
Parrot Disco Support
4659
4660
This release adds support for the Parrot C.H.U.C.K autopilot in the
4661
new Disco airframe. The Disco is a very lightweight flying wing with
4662
a nicely integrated Linux based autopilot. The Disco flies very nicely
4663
with ArduPilot, bringing the full set of mission capabilities of
4664
ArduPilot to this airframe.
4665
4666
Major VRBrain Support Update
4667
4668
This release includes a major merge of support for the VRBrain family
4669
of autopilots. Many thanks to the great work by Luke Mike in putting
4670
together this merge!
4671
4672
Much Faster Boot Time
4673
4674
Boot times on Pixhawk are now much faster due to a restructuring of
4675
the driver startup code, with slow starting drivers not started unless
4676
they are enabled with the appropriate parameters. The restructuring
4677
also allows for support of a wide variety of board types, including
4678
the PH2SLIM above.
4679
4680
This release includes many other updates right across the flight
4681
stack, including several new features. Some of the changes include:
4682
4683
- improved quadplane auto-landing
4684
- limit roll and pitch by Q_ANGLE_MAX in Q modes
4685
- improved ADSB avoidance and MAVLink streaming
4686
- smoother throttle control on fixed-wing to VTOL transition
4687
- removed "demo servos" movement on boot
4688
- fixed a problem with spurious throttle output during boot (thanks
4689
to Marco for finding this)
4690
- support MAVLink SET_ATTITUDE_TARGET message
4691
- log all rally points on startup
4692
- fixed use of stick mixing for rudder with STICK_MIXING=0
4693
- fixed incorrect tuning warnings when vtol not active
4694
- support MAVLink based external GPS device
4695
- support LED_CONTROL MAVLink message
4696
- prevent baro update while disarmed for large height change
4697
- support PLAY_TUNE MAVLink message
4698
- added AP_Button support for remote button input reporting
4699
- support Ping2020 ADSB transceiver
4700
- fixed disarm by rudder in quadplanes
4701
- support 16 channel SERVO_OUTPUT_RAW in MAVLink2
4702
- added automatic internal combustion engine support
4703
- support DO_ENGINE_CONTROL MAVLink message
4704
- added ground throttle suppression for quadplanes
4705
- added MAVLink reporting of logging subsystem health
4706
- prevent motor startup on reboot in quadplanes
4707
- added quadplane support for Advanced Failsafe
4708
- added support for a 2nd throttle channel
4709
- fixed bug in crash detection during auto-land flare
4710
- lowered is_flying groundspeed threshold to 1.5m/s
4711
- added support for new FrSky telemetry protocol variant
4712
- added support for fence auto-enable on takeoff in quadplanes
4713
- added Q_ASSIST_ANGLE for using quadplane to catch stalls in fixed wing flight
4714
- added BRD_SAFETY_MASK to allow for channel movement for selected channels with safety on
4715
- numerous improvements to multicopter stability control for quadplanes
4716
- support X-Plane10 as SITL backend
4717
- lots of HAL_Linux improvements to bus and thread handling
4718
- fixed problem with elevator use at high roll angles that could
4719
prevent attitude recovery from inverted flight
4720
- improved yaw handling in EKF2 near ground
4721
- added IMU heater support on Pixhawk2
4722
- allow for faster accel bias learning in EKF2
4723
- fixed in-flight yaw reset bug in EKF2
4724
- added AP_Module support for loadable modules
4725
- support Disco airframe from Parrot
4726
- use full throttle in initial takeoff in TECS
4727
- added NTF_LED_OVERRIDE support
4728
- added terrain based simulation in SITL
4729
- merged support for wide range of VRBrain boards
4730
- added support for PH2SLIM and PHMINI boards with BRD_TYPE
4731
- greatly reduced boot time on Pixhawk and similar boards
4732
- fixed magic check for signing key in MAVLink2
4733
- fixed averaging of gyros for EKF2 gyro bias estimate
4734
4735
4736
Release 3.6.0, 6th June 2016
4737
----------------------------
4738
4739
The ArduPilot development team is proud to announce the release of
4740
version 3.6.0 of APM:Plane. This is a major update so please read the
4741
notes carefully.
4742
4743
The biggest changes in this release are:
4744
4745
- major update to PX4Firmware code
4746
- major update to QuadPlane code
4747
- addition of MAVLink2 support
4748
4749
The updated PX4Firmware tree greatly improves support for the new
4750
Pixracer boards as well as improving scheduling performance and UAVCAN
4751
support.
4752
4753
The QuadPlane changes are very extensive in this release. A lot of new
4754
features have been added, including:
4755
4756
- improved automatic weathervaning
4757
- greatly improved support for mixed fixed wing and VTOL missions
4758
- automatic RTL with VTOL land
4759
- VTOL GUIDED mode support
4760
- greatly improved transition code
4761
- new tuning system for VTOL motors
4762
- extensive upgrade to logging system for much better flight analysis
4763
4764
The new QuadPlane features are documented at:
4765
4766
http://ardupilot.org/plane/docs/quadplane-support.html
4767
4768
There is also a prototype implementation supporting tiltrotors and
4769
tiltwings, but so far it has only been flown in simulations and it
4770
should be considered very experimental.
4771
4772
Detailed changes include:
4773
4774
- added motortest for all quad motors in sequence
4775
- merge upstream PX4Firmware changes
4776
- new AC_AttitudeControl library from copter for quadplane
4777
- modified default gains for quadplanes
4778
- new velocity controller for initial quadplane landing
4779
- smooth out final descent for VTOL landing
4780
- changed default loop rate for quadplanes to 300Hz
4781
- support up to 16 output channels (two via SBUS output only)
4782
- fixed bug with landing flare for high values of LAND_FLARE_SEC
4783
- improved crash detection logic
4784
- added in-flight transmitter tuning
4785
- fix handling of SET_HOME_POSITION
4786
- added Q_VFWD_GAIN for forward motor in VTOL modes
4787
- added Q_WVANE_GAIN for active weathervaning
4788
- log the number of lost log messages
4789
- Move position update to 50hz loop rather then the 10hz
4790
- Suppress throttle when parachute release initiated, not after release.
4791
- support Y6 frame class in quadplane
4792
- log L1 xtrack error integrator and remove extra yaw logging
4793
- limit roll before calculating load factor
4794
- simplify landing flare logic
4795
- smooth-out the end of takeoff pitch by reducing takeoff pitch min via TKOFF_PLIM_SEC
4796
- added support for DO_VTOL_TRANSITION as a mission item
4797
- fixed is_flying() for VTOL flight
4798
- added Q_ENABLE=2 for starting AUTO in VTOL
4799
- reload airspeed after VTOL landing
4800
- lower default VTOL ANGLE_MAX to 30 degrees
4801
- Change mode to RTL on end of mission rather then staying in auto
4802
- implemented QRTL for quadplane RTL
4803
- added Q_RTL_MODE parameter for QRTL after RTL approach
4804
- reduced the rate of EKF and attitude logging to 25Hz
4805
- added CHUTE_DELAY_MS parameter
4806
- allow remapping of any input channel to any output channel
4807
- numerous waf build improvements
4808
- support fast timer capture for camera trigger feedback
4809
- numerous improvements for Pixracer support
4810
- added more general tiltrotor support to SITL
4811
- only save learned compass offsets when disarmed
4812
- support MISSION_ITEM_INT for more accurate waypoint positions
4813
- change parachute deployment altitude to above ground not home
4814
- added AP_Tuning system for QuadPlane tuning
4815
- added initial support for tiltrotors and tiltwings
4816
- added LOG_REPLAY and LOG_DISARMED parameters
4817
- added Q_GUIDED_MODE parameter
4818
- major update to QuadPlane documentation
4819
- added MAVLink2 support
4820
- fixed origin vs home altitude discrepancy
4821
- improved Lidar based landing glide slope
4822
- fixed throttle failsafe with THR_PASS_STAB=1
4823
- prevent EKF blocking during baro and airspeed cal
4824
- allow for ground testing of parachutes with CHUTE_MINALT=0
4825
- fixed elevator stick mixing for above 50% input
4826
- added QuadPlane ESC calibration
4827
4828
4829
4830
Release 3.6.0beta1, 30th April 2016
4831
-----------------------------------
4832
4833
The ArduPilot development team is proud to announce the release of
4834
version 3.6.0beta1 of APM:Plane. This is the first beta version of a
4835
major release.
4836
4837
The biggest changes in this release is the major update of the
4838
PX4Firmware tree which greatly improves support for the Pixracer
4839
board, and a lot of QuadPlane improvements and new features.
4840
4841
Detailed changes include:
4842
4843
- added motortest for all quad motors in sequence
4844
- merge upstream PX4Firmware changes
4845
- new AC_AttitudeControl library from copter for quadplane
4846
- modified default gains for quadplanes
4847
- new velocity controller for initial quadplane landing
4848
- smooth out final descent for VTOL landing
4849
- changed default loop rate for quadplanes to 300Hz
4850
- support up to 16 output channels (two via SBUS output only)
4851
- fixed bug with landing flare for high values of LAND_FLARE_SEC
4852
- improved crash detection logic
4853
- added in-flight transmitter tuning
4854
- fix handling of SET_HOME_POSITION
4855
- added Q_VFWD_GAIN for forward motor in VTOL modes
4856
- added Q_WVANE_GAIN for active weathervaning
4857
- log the number of lost log messages
4858
- Move position update to 50hz loop rather then the 10hz
4859
- Suppress throttle when parachute release initiated, not after release.
4860
- support Y6 frame class in quadplane
4861
- log L1 xtrack error integrator and remove extra yaw logging
4862
- limit roll before calculating load factor
4863
- simplify landing flare logic
4864
- smooth-out the end of takeoff pitch by reducing takeoff pitch min via TKOFF_PLIM_SEC
4865
- added support for DO_VTOL_TRANSITION as a mission item
4866
- fixed is_flying() for VTOL flight
4867
- added Q_ENABLE=2 for starting AUTO in VTOL
4868
- reload airspeed after VTOL landing
4869
- lower default VTOL ANGLE_MAX to 30 degrees
4870
- Change mode to RTL on end of mission rather then staying in auto
4871
- implemented QRTL for quadplane RTL
4872
- added Q_RTL_MODE parameter for QRTL after RTL approach
4873
- reduced the rate of EKF and attitude logging to 25Hz
4874
- added CHUTE_DELAY_MS parameter
4875
- allow remapping of any input channel to any output channel
4876
- numerous waf build improvements
4877
- support fast timer capture for camera trigger feedback
4878
- numerous improvements for Pixracer support
4879
- added more general tiltrotor support to SITL
4880
4881
4882
Release 3.5.3, 30th April 2016
4883
------------------------------
4884
4885
The ArduPilot development team is proud to announce the release of
4886
version 3.5.3 of APM:Plane. This is a minor release with only small
4887
bugfix changes.
4888
4889
The main motivation for the release is a problem with flying without a
4890
compass enabled. If you fly 3.5.2 with MAG_ENABLE=0 or no compass
4891
attached then there is a risk that the EKF2 attitude estimator may
4892
become unstable before takeoff. This can cause the aircraft to crash.
4893
4894
The other changes in this release are:
4895
4896
- fixed loiter radius for counter-clockwise loiter
4897
- fixed the loiter radius when doing a RTL at the end of a mission
4898
- provide reasons to the GCS when a uBlox GPS fails to properly configure
4899
- support a wider variety of NMEA GPS receivers
4900
- use EKF1 by default if no compass is enabled
4901
4902
Happy flying!
4903
4904
Release 3.5.2, 26th March 2016
4905
------------------------------
4906
4907
The ArduPilot development team is proud to announce the release of
4908
version 3.5.2 of APM:Plane. This is a minor release with small
4909
changes.
4910
4911
The main reason for this release over 3.5.1 is a fix for a bug where
4912
the px4io co-processor on a Pixhawk can run out of memory while
4913
booting. This causes the board to be unresponsive on boot. It only
4914
happens if you have a more complex servo setup and is caused by too
4915
much memory used by the IO failsafe mixer.
4916
4917
The second motivation for this release is to fix an issue where during
4918
a geofence altitude failsafe that happens at low speed an aircraft may
4919
dive much further than it should to gain speed. This only happened if
4920
the thrust line of the aircraft combined with low pitch integrator
4921
gain led to the aircraft not compensating sufficiently with elevator
4922
at full throttle in a TECS underspeed state. To fix this two changes
4923
have been made:
4924
4925
- a minimum level of integrator in the pitch controller has been
4926
added. This level has a sufficiently small time constant to avoid
4927
the problem with the TECS controller in an underspeed state.
4928
4929
- the underspeed state in TECS has been modified so that underspeed
4930
can end before the full target altitude has been reached, as long
4931
as the airspeed has risen sufficiently past the minimum airspeed
4932
for a sufficient period of time (by 15% above minimum airspeed for
4933
3 seconds).
4934
4935
The default P gains for both roll and pitch have also been raised from
4936
0.4 to 0.6. This is to help for users that fly with the default
4937
parameters. A value of 0.6 is safe for all aircraft that I have
4938
analysed logs for.
4939
4940
The default gains and filter frequencies of the QuadPlane code have
4941
also been adjusted to better reflect the types of aircraft users have
4942
been building.
4943
4944
Other changes include:
4945
4946
- improved QuadPlane logging for better analysis and tuning (adding
4947
RATE and QTUN messages)
4948
- fixed a bug introduced in 3.5.1 in rangefinder landing
4949
- added TECS logging of speed_weight and flags
4950
- improvements to the lsm303d driver for Linux
4951
- improvements to the waf build system
4952
4953
4954
Release 3.5.1, 21st March 2016
4955
------------------------------
4956
4957
The ArduPilot development team is proud to announce the release of
4958
version 3.5.1 of APM:Plane. This is a minor release with primarily
4959
small changes.
4960
4961
The changes in this release are:
4962
4963
- update uavcan to new protocol
4964
- always exit loiter in AUTO towards next waypoint
4965
- support more multicopter types in quadplane
4966
- added support for reverse thrust landings
4967
- added LAND_THR_SLEW parameter
4968
- added LAND_THEN_NEUTRL parameter
4969
- fixed reporting of armed state with safety switch
4970
- added optional arming check for minimum voltage
4971
- support motor test for quadplanes
4972
- added QLAND flight mode (quadplane land mode)
4973
- added TECS_LAND_SRC (land sink rate change)
4974
- use throttle slew in quadplane transition
4975
- added PID tuning for quadplane
4976
- improved text message queueing to ground stations
4977
- added LAND_THR_SLEW parameter
4978
- re-organisation of HAL_Linux bus API
4979
- improved NMEA parsing in GPS driver
4980
- changed TECS_LAND_SPDWGT default to -1
4981
- improved autoconfig of uBlox GPS driver
4982
- support a wider range of Lightware serial Lidars
4983
- improved non-GPS performance of EKF2
4984
- allow for indoor flight of quadplanes
4985
- improved compass fusion in EKF2
4986
- improved support for Pixracer board
4987
- improved NavIO2 support
4988
- added BATT_WATT_MAX parameter
4989
4990
The reverse thrust landing is particularly exciting as that adds a
4991
whole new range of possibilities for landing in restricted areas. Many
4992
thanks to Tom for the great work on getting this done.
4993
4994
The uavcan change to the new protocol has been a long time coming, and
4995
I'd like to thank Holger for both his great work on this and his
4996
patience given how long it has taken to be in a release. This adds
4997
support for automatic canbus node assignment which makes setup much
4998
easier, and also supports the latest versions of the Zubax canbus GPS.
4999
5000
My apologies if your favourite feature didn't make it into this
5001
release! There are a lot more changes pending but we needed to call a
5002
halt for the release eventually. This release has had a lot of flight
5003
testing and I'm confident it will be a great release.
5004
5005
Happy flying!
5006
5007
5008
Release 3.5.0, 30th January 2016
5009
--------------------------------
5010
5011
The ArduPilot development team is proud to announce the release of
5012
version 3.5.0 of APM:Plane. This is a major release with a lot of
5013
changes so please read the notes carefully!
5014
5015
The biggest changes in this release are:
5016
5017
- switch to new EKF2 kalman filter for attitude and position estimation
5018
- added support for parachutes
5019
- added support for QuadPlanes
5020
- support for 4 new flight boards, the QualComm Flight, the BHAT,
5021
the PXFmini and the Pixracer
5022
- support for arming on moving platforms
5023
- support for better camera trigger logging
5024
5025
New Kalman Filter
5026
5027
The 3.4 release series was the first where APM:Plane used a Kalman
5028
Filter by default for attitude and position estimation. It works very
5029
well, but Paul Riseborough has been working hard recently on a new
5030
EKF variant which fixes many issues seen with the old estimator. The
5031
key improvements are:
5032
5033
- support for separate filters on each IMU for multi-IMU boards
5034
(such as the Pixhawk), giving a high degree of redundency
5035
- much better handling of gyro drift estimation, especially on
5036
startup
5037
- much faster recovery from attitude estimation errors
5038
5039
After extensive testing of the new EKF code we decided to make it the
5040
default for this release. You can still use the old EKF if you want to
5041
by setting AHRS_EKF_TYPE to 1, although it is recommended that the new
5042
EKF be used for all aircraft.
5043
5044
Parachute Support
5045
5046
This is the first release with support for parachute landings on
5047
plane. The configuration and use of a parachute is the same as the
5048
existing copter parachute support. See
5049
http://copter.ardupilot.org/wiki/parachute/
5050
5051
Note that parachute support is considered experimental in planes.
5052
5053
QuadPlane Support
5054
5055
This release includes support for hybrid plane/multi-rotors called
5056
QuadPlanes. More details are available in this blog post:
5057
http://diydrones.com/profiles/blogs/quadplane-support-in-apm-plane-3-5-0
5058
5059
Support for 4 new Flight Boards
5060
5061
The porting of ArduPilot to more flight boards continues, with support
5062
for 3 new flight boards in this release. They are:
5063
5064
- the BHAT board
5065
- the PXFmini
5066
- the QualComm Flight
5067
- the Pixracer
5068
5069
More information about the list of supported boards is available here:
5070
https://ardupilot.org/copter/docs/common-autopilots.html
5071
5072
Startup on a moving platform
5073
5074
One of the benefits of the new EKF2 estimator is that it allows for
5075
rapid estimation of gyro offset without doing a gyro calibration on
5076
startup. This makes it possible to startup and arm on a moving
5077
platform by setting the INS_GYR_CAL parameter to zero (to disable gyro
5078
calibration on boot). This should be a big help when flying off boats.
5079
5080
Improved Camera Trigger Logging
5081
5082
This release adds new CAM_FEEDBACK_PIN and CAM_FEEDBACK_POL
5083
parameters. These add support for separate CAM and TRIG log messages,
5084
where TRIG is logged when the camera is triggered and the CAM message
5085
is logged when an external pin indicates the camera has actually
5086
fired. This pin is typically based on the flash hotshoe of a camera
5087
and provides a way to log the exact time of camera triggering more
5088
accurately. Many thanks to Dario Andres and Jaime Machuca for their
5089
work on this feature.
5090
5091
That is just a taste of all of the improvements in this release. In
5092
total the release includes over 1500 patches. Some of the other more
5093
significant changes include:
5094
5095
- RPM logging
5096
- new waf build system
5097
- new async accel calibrator
5098
- SITL support for quadplanes
5099
- improved land approach logic
5100
- better rangefinder power control
5101
- ADSB adapter support
5102
- dataflash over mavlink support
5103
- settable main loop rate
5104
- hideable parameters
5105
- improved crash detection logic
5106
- added optional smooth speed weighting for landing
5107
- improved logging for dual-GPS setups
5108
- improvements to multiple RTK GPS drivers
5109
- numerous HAL_Linux improvements
5110
- improved logging of CAM messages
5111
- added support for IMU heaters in HAL_Linux
5112
- support for RCInput over UDP in HAL_Linux
5113
- improved EKF startup checks for GPS accuracy
5114
- added raw IMU logging for all platforms
5115
- added BRD_CAN_ENABLE parameter
5116
- support FlightGear visualisation in SITL
5117
- configurable RGB LED brightness
5118
- added RTL_RADIUS parameter
5119
- improvements to the OVERRIDE_CHAN handling, fixing a race condition
5120
- added OVERRIDE_SAFETY parameter
5121
5122
Many thanks to everyone who contributed to this release! The
5123
development team is growing at a fast pace, with 57 people
5124
contributing changes over this release cycle.
5125
5126
I'd like to make special mention of Tom Pittenger and Michael du
5127
Breuil who have been doing extensive testing of the plane development
5128
code, and also contributing a great deal of their own
5129
improvements. Thanks!
5130
5131
5132
Release 3.4.0, 24th September 2015
5133
----------------------------------
5134
5135
The ArduPilot development team is proud to announce the release of
5136
version 3.4.0 of APM:Plane. This is a major release with a lot of
5137
changes so please read the notes carefully!
5138
5139
First release with EKF by default
5140
5141
This is the also the first release that enables the EKF (Extended
5142
Kalman Filter) for attitude and position estimation by default. This
5143
has been in development for a long time, and significantly improves
5144
flight performance. You can still disable the EKF if you want to using
5145
the AHRS_EKF_USE parameter, but it is strongly recommended that you
5146
use the EKF. Note that if an issue is discovered with the EKF in
5147
flight it will automatically be disabled and the older DCM system will
5148
be used instead. That should be very rare.
5149
5150
In order to use the EKF we need to be a bit more careful about the
5151
setup of the aircraft. That is why in the last release we enabled
5152
arming and pre-arm checks by default. Please don't disable the arming
5153
checks, they are there for very good reasons.
5154
5155
Last release with APM1/APM2 support
5156
5157
This will be the last major release that supports the old APM1/APM2
5158
AVR based boards. We have finally run out of flash space and
5159
memory. In the last few releases we spent quite a bit of time trying
5160
to squeeze more and more into the small flash space of the APM1/APM2,
5161
but it had to end someday if ArduPilot is to continue to develop. I am
5162
open to the idea of someone else volunteering to keep doing
5163
development of APM1/APM2 so if you have the skills and inclination do
5164
please get in touch. Otherwise I will only do small point release
5165
changes for major bugs.
5166
5167
Even to get this release onto the APM1/APM2 we had to make sacrifices
5168
in terms of functionality. The APM1/APM2 release is missing quite a
5169
few features that are on the Pixhawk and other boards. For example:
5170
5171
- no rangefinder support for landing
5172
- no terrain following
5173
- no EKF support
5174
- no camera control
5175
- no CLI support
5176
- no advanced failsafe support
5177
- no HIL support (sorry!)
5178
- support for far fewer GPS types
5179
5180
that is just the most obvious major features that are missing on
5181
APM1/APM2. There are also numerous other smaller things where we need
5182
to take shortcuts on the APM1/APM2. Some of these features were
5183
available on older APM1/APM2 releases but needed to be removed to
5184
allow us to squeeze the new release onto the board. So if you are
5185
happy with a previous release on your APM2 and want a feature that is
5186
in that older release and not in this one then perhaps you shouldn't
5187
upgrade.
5188
5189
PID Tuning
5190
5191
While most people are happy with autotune to tune the PIDs for their
5192
planes, it is nice also to be able to do fine tuning by hand. This
5193
release includes new dataflash and mavlink messages to help with that
5194
tuning. You can now see the individual contributions of the P, I and D
5195
components of each PID in the logs, allowing you to get a much better
5196
picture of the performance.
5197
5198
A simple application of this new tuning is you can easily see if your
5199
trim is off. If the Pitch I term is constantly contributing a
5200
signifcant positive factor then you know that ArduPilot is having to
5201
constantly apply up elevator, which means your plane is nose
5202
heavy. The same goes for roll, and can also be used to help tune your
5203
ground steering.
5204
5205
Vibration Logging
5206
5207
This release includes a lot more options for diagnosing vibration
5208
issues. You will notice new VIBRATION messages in MAVLink and VIBE
5209
messages in the dataflash logs. Those give you a good idea of your
5210
(unfiltered) vibration levels. For really detailed analysis you can
5211
setup your LOG_BITMASK to include raw logging, which gives you every
5212
accel and gyro sample on your Pixhawk. You can then do a FFT on the
5213
result and plot the distribution of vibration level with
5214
frequency. That is great for finding the cause of vibration
5215
issues. Note that you need a very fast microSD card for that to work!
5216
5217
Rudder Disarm
5218
5219
This is the first release that allows you to disarm using the rudder
5220
if you want to. It isn't enabled by default (due to the slight risk of
5221
accidentially disarming while doing aerobatics). You can enable it
5222
with the ARMING_RUDDER parameter by setting it to 2. It will only
5223
allow you to disarm if the autopilot thinks you are not flying at the
5224
time (thanks to the "is_flying" heuristics from Tom Pittenger).
5225
5226
More Sensors
5227
5228
This release includes support for a bunch more sensors. It now supports
5229
3 different interfaces for the LightWare range of Lidars (serial, I2C
5230
and analog), and also supports the very nice Septentrio RTK
5231
dual-frequency GPS (the first dual-frequency GPS we have support
5232
for). It also supports the new "blue label" Lidar from Pulsed Light
5233
(both on I2C and PWM).
5234
5235
For the uBlox GPS, we now have a lot more configurability of the
5236
driver, with the ability to set the GNSS mode for different
5237
constellations. Also in the uBlox driver we support logging of the raw
5238
carrier phase and pseudo range data, which allows for post-flight RTK
5239
analysis with raw-capable receivers for really accurate photo
5240
missions.
5241
5242
Better Linux support
5243
5244
This release includes a lot of improvements to the Linux based
5245
autopilot boards, including the NavIO+, the PXF and ERLE boards and
5246
the BBBMini and the new RasPilot board. If you like the idea of flying
5247
with Linux then please try it out!
5248
5249
On-board compass calibrator
5250
5251
We also have a new on-board compass calibrator, which also adds calibration
5252
for soft iron effects, allowing for much more accurate compass
5253
calibration. Support for starting the compass calibration in the
5254
various ground stations is still under development, but it looks like
5255
this will be a big improvement to compass calibration.
5256
5257
Lots of other changes!
5258
5259
The above list is just a taste of the changes that have gone into this
5260
release. Thousands of small changes have gone into this release with
5261
dozens of people contributing. Many thanks to everyone who helped!
5262
5263
Other key changes include:
5264
5265
- fixed return point on geofence breach
5266
- enable messages for MAVLink gimbal support
5267
- use 64 bit timestamps in dataflash logs
5268
- added realtime PID tuning messages and PID logging
5269
- fixed a failure case for the px4 failsafe mixer
5270
- added DSM binding support on Pixhawk
5271
- added ALTITUDE_WAIT mission command
5272
- added vibration level logging
5273
- ignore low voltage failsafe while disarmed
5274
- added delta velocity and delta angle logging
5275
- fix LOITER_TO_ALT to verify headings towards waypoints within the loiter radius
5276
- allow rudder disarm based on ARMING_RUDDER parameter
5277
- fix default behaviour of flaps
5278
- prevent mode switch changes changing WP tracking
5279
- make TRAINING mode obey stall prevention roll limits
5280
- disable TRIM_RC_AT_START by default
5281
- fixed parameter documentation spelling errors
5282
- send MISSION_ITEM_REACHED messages on waypoint completion
5283
- fixed airspeed handling in SITL simulators
5284
- enable EKF by default on plane
5285
- Improve gyro bias learning rate for plane and rover
5286
- Allow switching primary GPS instance with 1 sat difference
5287
- added NSH over MAVLink support
5288
- added support for mpu9250 on pixhawk and pixhawk2
5289
- Add support for logging ublox RXM-RAWX messages
5290
- lots of updates to improve support for Linux based boards
5291
- added ORGN message in dataflash
5292
- added support for new "blue label" Lidar
5293
- switched to real hdop in uBlox driver
5294
- improved auto-config of uBlox
5295
- raise accel discrepancy arming threshold to 0.75
5296
- improved support for tcp and udp connections on Linux
5297
- switched to delta-velocity and delta-angles in DCM
5298
- improved detection of which accel to use in EKF
5299
- improved auto-detections of flow control on pixhawk UARTs
5300
- Failsafe actions are not executed if already on final approach or land.
5301
- Option to trigger GCS failsafe only in AUTO mode.
5302
- added climb/descend parameter to CONTINUE_AND_CHANGE_ALT
5303
- added HDOP to uavcan GPS driver
5304
- improved sending of autopilot version
5305
- prevent motor startup with bad throttle trim on reboot
5306
- log zero rangefinder distance when unhealthy
5307
- added PRU firmware files for BeagleBoneBlack port
5308
- fix for recent STORM32 gimbal support
5309
- changed sending of STATUSTEXT severity to use correct values
5310
- added new RSSI library with PWM input support
5311
- fixed MAVLink heading report for UAVCAN GPS
5312
- support LightWare I2C rangefinder on Linux
5313
- improved staging of parameters and formats on startup to dataflash
5314
- added new on-board compass calibrator
5315
- improved RCOutput code for NavIO port
5316
- added support for Septentrio GPS receiver
5317
- support DO_MOUNT_CONTROl via command-long interface
5318
- added CAM_RELAY_ON parameter
5319
- moved SKIP_GYRO_CAL functionality to INS_GYR_CAL
5320
- added detection of bad lidar settings for landing
5321
5322
Note that the documentation hasn't yet caught up with all the changes
5323
in this release. We are still working on that, but meanwhile if you
5324
see a feature that interests you and it isn't documented yet then
5325
please ask.
5326
5327
5328
5329
Release 3.3.0, 20th May 2015
5330
----------------------------
5331
5332
The ardupilot development team is proud to announce the release of
5333
version 3.3.0 of APM:Plane. This is a major release with a lot of
5334
changes. Please read the release notes carefully!
5335
5336
The last stable release was 3 months ago, and since that time we have
5337
applied over 1200 changes to the code. It has been a period of very
5338
rapid development for ArduPilot. Explaining all of the changes that
5339
have been made would take far too long, so I've chosen some key
5340
changes to explain in detail, and listed the most important secondary
5341
changes in a short form. Please ask for details if there is a change
5342
you see listed that you want some more information on.
5343
5344
Arming Changes
5345
--------------
5346
5347
This is the first release of APM:Plane where ARMING_CHECK and
5348
ARMING_REQUIRE both default to enabled. That means when you upgrade if
5349
you didn't previously have arming enabled you will need to learn about
5350
arming your plane.
5351
5352
Please see this page for more information on arming:
5353
5354
http://plane.ardupilot.com/wiki/arming-your-plane/
5355
5356
I know many users will be tempted to disable the arming checks, but
5357
please don't do that without careful thought. The arming checks are an
5358
important part of ensuring the aircraft is ready to fly, and a common
5359
cause of flight problems is to takeoff before ArduPilot is ready.
5360
5361
Re-do Accelerometer Calibration
5362
-------------------------------
5363
5364
Due to a change in the maximum accelerometer range on the Pixhawk all
5365
users must re-do their accelerometer calibration for this release. If
5366
you don't then your plane will fail to arm with a message saying that
5367
you have not calibrated the accelerometers.
5368
5369
Only 3D accel calibration
5370
-------------------------
5371
5372
The old "1D" accelerometer calibration method has now been removed, so
5373
you must use the 3D accelerometer calibration method. The old method
5374
was removed because a significant number of users had poor flights due
5375
to scaling and offset errors on their accelerometers when they used
5376
the 1D method. My apologies for people with very large aircraft who
5377
find the 3D method difficult.
5378
5379
Note that you can do the accelerometer calibration with the autopilot
5380
outside the aircraft which can make things easier for large aircraft.
5381
5382
Auto-disarm
5383
-----------
5384
5385
After an auto-landing the autopilot will now by default disarm after
5386
LAND_DISARMDELAY seconds (with a default of 20 seconds). This feature
5387
is to prevent the motor from spinning up unexpectedly on the ground
5388
after a landing.
5389
5390
HIL_MODE parameter
5391
------------------
5392
5393
It is now possible to configure your autopilot for hardware in the
5394
loop simulation without loading a special firmware. Just set the
5395
parameter HIL_MODE to 1 and this will enable HIL for any
5396
autopilot. This is designed to make it easier for users to try HIL
5397
without having to find a HIL firmware.
5398
5399
SITL on Windows
5400
---------------
5401
5402
The SITL software in the loop simulation system has been completely
5403
rewritten for this release. A major change is to make it possible to
5404
run SITL on native windows without needing a Linux virtual
5405
machine. There should be a release of MissionPlanner for Windows soon
5406
which will make it easy to launch a SITL instance.
5407
5408
The SITL changes also include new backends, including the CRRCSim
5409
flight simulator. This gives us a much wider range of aircraft we can
5410
use for SITL. See http://dev.ardupilot.com/wiki/simulation-2/ for more
5411
information.
5412
5413
Throttle control on takeoff
5414
---------------------------
5415
5416
A number of users had problems with pitch control on auto-takeoff, and
5417
with the aircraft exceeding its target speed during takeoff. The
5418
auto-takeoff code has now been changed to use the normal TECS throttle
5419
control which should solve this problem.
5420
5421
Rudder only support
5422
-------------------
5423
5424
There is a new RUDDER_ONLY parameter for aircraft without ailerons,
5425
where roll is controlled by the rudder. Please see the documentation
5426
for more information on flying with a rudder only aircraft:
5427
5428
http://plane.ardupilot.com/wiki/arduplane-parameters/#rudder_only_aircraft_arduplanerudder_only
5429
5430
APM1/APM2 Support
5431
-----------------
5432
5433
We have managed to keep support for the APM1 and APM2 in this release,
5434
but in order to fit it in the limited flash space we had to disable
5435
some more features when building for those boards. For this release
5436
the AP_Mount code for controlling camera mounts is disabled on
5437
APM1/APM2.
5438
5439
At some point soon it will become impractical to keep supporting the
5440
APM1/APM2 for planes. Please consider moving to a 32 bit autopilot
5441
soon if you are still using an APM1 or APM2.
5442
5443
New INS code
5444
------------
5445
5446
There have been a lot of changes to the gyro and accelerometer
5447
handling for this release. The accelerometer range on the Pixhawk has
5448
been changed to 16g from 8g to prevent clipping on high vibration
5449
aircraft, and the sampling rate on the lsm303d has been increased to
5450
1600Hz.
5451
5452
An important bug has also been fixed which caused aliasing in the
5453
sampling process from the accelerometers. That bug could cause
5454
attitude errors in high vibration environments.
5455
5456
Numerous Landing Changes
5457
------------------------
5458
5459
Once again there have been a lot of improvements to the automatic
5460
landing support. Perhaps most important is the introduction of a
5461
smooth transition from landing approach to the flare, which reduces
5462
the tendency to pitch up too much on flare.
5463
5464
There is also a new parameter TECS_LAND_PMAX which controls the
5465
maximum pitch during landing. This defaults to 10 degrees, but for
5466
many aircraft a smaller value may be appropriate. Reduce it to 5
5467
degrees if you find you still get too much pitch up during the flare.
5468
5469
Other secondary changes in this release include:
5470
5471
- a new SerialManager library which gives much more flexible management of serial port assignment
5472
- changed the default FS_LONG_TIMEOUT to 5 seconds
5473
- raised default IMAX for roll/pitch to 3000
5474
- lowered default L1 navigation period to 20
5475
- new BRD_SBUS_OUT parameter to enable SBUS output on Pixhawk
5476
- large improvements to the internals of PX4Firmware/PX4NuttX for better performance
5477
- auto-formatting of microSD cards if they can't be mounted on boot (PX4/Pixhawk only)
5478
- a new PWM based driver for the PulsedLight Lidar to avoid issues with the I2C interface
5479
- fixed throttle forcing to zero when disarmed
5480
- only reset mission on disarm if not in AUTO mode
5481
- much better handling of steep landings
5482
- added smooth transition in landing flare
5483
- added HIL_MODE parameter for HIL without a special firmware
5484
- lowered default FS_LONG_TIMEOUT to 5 seconds
5485
- mark old ELEVON_MIXING mode as deprecated
5486
- fixed 50Hz MAVLink support
5487
- support DO_SET_HOME MAVLink command
5488
- fixed larger values of TKOFF_THR_DELAY
5489
- allow PulsedLight Lidar to be disabled at a given height
5490
- fixed bungee launch (long throttle delay)
5491
- fixed a bug handling entering AUTO mode before we have GPS lock
5492
- added CLI_ENABLED parameter
5493
- removed 1D accel calibration
5494
- added EKF_STATUS_REPORT MAVLink message
5495
- added INITIAL_MODE parameter
5496
- added TRIM_RC_AT_START parameter
5497
- added auto-disarm after landing (LAND_DISARMDELAY)
5498
- added LOCAL_POSITION_NED MAVLink message
5499
- avoid triggering a fence breach in final stage of landing
5500
- rebuild glide slope if we are above it and climbing
5501
- use TECS to control throttle on takeoff
5502
- added RUDDER_ONLY parameter to better support planes with no ailerons
5503
- updated Piksi RTK GPS driver
5504
- improved support for GPS data injection (for Piksi RTK GPS)
5505
- added NAV_LOITER_TO_ALT mission item
5506
- fixed landing approach without an airspeed sensor
5507
- support RTL_AUTOLAND=2 for landing without coming to home first
5508
- disabled camera mount support on APM1/APM2
5509
- added support for SToRM32 and Alexmos camera gimbals
5510
- added support for Jaimes mavlink enabled gimbal
5511
- improved EKF default tuning for planes
5512
- updated support for NavIO and NavIO+ boards
5513
- updated support for VRBrain boards
5514
- fixes for realtime threads on Linux
5515
- added simulated sensor lag for baro and mag in SITL
5516
- made it possible to build SITL for native Windows
5517
- switched to faster accel sampling on Pixhawk
5518
- added coning corrections on Pixhawk
5519
- set ARMING_CHECK to 1 by default
5520
- disable NMEA and SiRF GPS on APM1/APM2
5521
- support MPU9255 IMU on Linux
5522
- updates to BBBMINI port for Linux
5523
- added TECS_LAND_PMAX parameter
5524
- switched to synthetic clock in SITL
5525
- support CRRCSim FDM backend in SITL
5526
- new general purpose replay parsing code
5527
- switched to 16g accel range in Pixhawk
5528
- added FENCE_AUTOENABLE=2 for disabling just fence floor
5529
- added POS dataflash log message
5530
- changed GUIDED behaviour to match copter
5531
- added support for a 4th MAVLink channel
5532
- support setting AHRS_TRIM in preflight calibration
5533
- fixed a PX4 mixer out of range error
5534
5535
Best wishes to all APM:Plane users from the dev team, and happy
5536
flying!
5537
5538
5539
Release 3.2.2, February 10th 2015
5540
---------------------------------
5541
5542
The ardupilot development team has released version 3.2.2 of
5543
APM:Plane. This is a bugfix release for some important bugs found by
5544
users of the 3.2.1 release.
5545
5546
The changes in this release are:
5547
5548
- fixed a bug that could cause short term loss of RC control with
5549
some receiver systems and configurations
5550
5551
- allowed for shorter sync pulse widths for PPM-SUM receivers on
5552
APM1 and APM2
5553
5554
- fixed HIL mode altitude
5555
5556
The most important bug fix is the one for short term loss of RC
5557
control. This is a very long standing bug which didn't have a
5558
noticeable impact for most people, but could cause loss of RC control
5559
for around 1 or 2 seconds for some people in certain circumstances.
5560
5561
The bug was in the the AP_HAL RCInput API. Each HAL backend has a flag
5562
that says whether there is a new RC input frame available. That flag
5563
was cleared by the read() method (typically hal.rcin->read()). Callers
5564
would check for new input by checking the boolean
5565
hal.rcin->new_input() function.
5566
5567
The problem was that read() was called from multiple places. Normally
5568
this is fine as reads from other than the main radio input loop happen
5569
before the other reads, but if the timing of the new radio frame
5570
exactly matched the loop frequency then a read from another place
5571
could clear the new_input flag and we would not see the new RC input
5572
frame. If that happened enough times we would go into a short term RC
5573
failsafe and ignore RC inputs, even in manual mode.
5574
5575
The fix was very simple - it is the new_input() function itself that
5576
should clear the flag, not read().
5577
5578
Many thanks to MarkM for helping us track down this bug by providing
5579
us with sufficient detail on how to reproduce it. In Marks case his
5580
OpenLRSng configuration happened to produce exactly the worst case
5581
timing needed to reproduce the issue. Once I copied his OpenLRS
5582
settings to my TX/RX I was able to reproduce the problem and it was
5583
easy to find and fix.
5584
5585
A number of users have reported occasional glitches in manual control
5586
where servos pause for short periods in past releases. It is likely
5587
that some of those issues were caused by this bug. The dev team would
5588
like to apologise for taking so long to track down this bug!
5589
5590
The other main change was also related to RC input. Some receivers use
5591
a PPM-SUM sync pulse width shorter than what the APM1/APM2 code was
5592
setup to handle. The OpenLRSng default sync pulse width is 3000
5593
microseconds, but the APM1/APM2 code was written for a mininum sync
5594
pulse width of 4000 microseconds. For this release I have changed the
5595
APM1/APM2 driver to accept a sync pulse width down to 2700
5596
microseconds.
5597
5598
5599
Release 3.2.1, February 5th 2015
5600
--------------------------------
5601
5602
The ardupilot development team is proud to announce the release of
5603
version 3.2.1 of APM:Plane. This is primarily a bugfix release, but
5604
does have some new features.
5605
5606
The major changes in this release are:
5607
5608
- fixed a mission handling bug that could cause a crash if jump
5609
commands form an infinite loop (thanks to Dellarb for reporting
5610
this bug)
5611
- improved support for in-kernel SPI handling on Linux (thanks to John Williams)
5612
- support UAVCAN based ESCs and GPS modules on Pixhawk (thanks to
5613
Pavel, Holger and and PX4 dev team)
5614
- Multiple updates for the NavIO+ cape on RaspberryPi (thanks to
5615
Emlid)
5616
- multiple automatic landing fixes, including improvements in flare
5617
detection, glide slope calculation and lag handling
5618
- fixed a bug that could cause a change altitude MAVLink command
5619
from causing a sudden descent
5620
- re-enable CLI on non-APM1/APM2 boards
5621
- Lots of EKF changes, including reducing impact of ground magnetic
5622
interference, reducing the impact of a GPS outage and integrating
5623
optical flow support
5624
- added initial support for the PX4 optical flow sensor. Just
5625
logging for this release.
5626
- added support for MAVLink packet routing
5627
- added detection and recovery from faulty gyro and accel sensors
5628
- improved arming checks code to detect a lot more error conditions,
5629
and change the ARMING_CHECK default value to check all error
5630
conditions.
5631
- added support for BBBMini Linux port
5632
- increased number of AVR input channels from 8 to 11
5633
- auto-set system clock based on GPS in Linux ports
5634
- added SBUS FrSky telemetry support (thanks to Mathias)
5635
5636
Release 3.2.0, November 25th 2014
5637
---------------------------------
5638
5639
The ardupilot development team is proud to announce the release of
5640
version 3.2.0 of APM:Plane. This is a major release with a lot of
5641
new features.
5642
5643
The changes span a lot of different areas of the code, but arguably
5644
the most important changes are:
5645
5646
- automatic stall prevention code
5647
- PX4IO based RC override code on FMU failure
5648
- I2C crash bugfix
5649
- new autoland code from Michael Day
5650
- compass independent auto takeoff
5651
5652
I'll go into each of these changes in a bit more detail.
5653
5654
Automatic Stall Prevention
5655
--------------------------
5656
5657
The automatic stall prevention code is code that uses the aerodynamic
5658
load factor (calculated from demanded bank angle) to adjust both the
5659
maximum roll angle and the minimum airspeed. You can enable/disable
5660
this code with the STALL_PREVENTION parameter which defaults to
5661
enabled.
5662
5663
When in stabilised manual throttle modes this option has the effect of
5664
limiting how much bank angle you can demand when close to the
5665
configured minimum airspeed (from AIRSPEED_MIN). That means when in
5666
FBWA mode if you try to turn hard while close to AIRSPEED_MIN it will
5667
limit the bank angle to an amount that will keep the speed above
5668
AIRSPEED_MIN times the aerodynamic load factor. It will always allow
5669
you at bank at least 25 degrees however, to ensure you keep some
5670
maneuverability if the airspeed estimate is incorrect.
5671
5672
When in auto-throttle modes (such as AUTO, RTL, CRUISE etc) it will
5673
additionally raise the minimum airspeed in proportion to the
5674
aerodynamic load factor. That means if a mission demands a sharp turn
5675
at low speed then initially the turn will be less sharp, and the TECS
5676
controller will add power to bring the airspeed up to a level that can
5677
handle the demanded turn. After the turn is complete the minimum
5678
airspeed will drop back to the normal level.
5679
5680
This change won't completely eliminate stalls of course, but it should
5681
make them less likely if you properly configure AIRSPEED_MIN for your
5682
aircraft.
5683
5684
PX4IO based RC override code
5685
----------------------------
5686
5687
This releases adds support for PX4IO based RC override. This is a
5688
safety feature where the stm32 IO co-processor on the PX4 and Pixhawk
5689
will give the pilot manual control if the main ArduPilot
5690
micro-controller fails (or the autopilot code crashes). This is
5691
particularly useful when testing new code that may not be stable.
5692
5693
As part of this new RC override support we also have a new
5694
OVERRIDE_CHAN parameter, which allows you to specify a RC input
5695
channel which can be used to test the RC override support. See the
5696
documentation on OVERRIDE_CHAN for details.
5697
5698
I2C bugfix
5699
----------
5700
5701
This release fixes another I2C bug in NuttX which could cause the
5702
Pixhawk to lock up under high I2C load with noise on I2C cables. This
5703
bug has caused at least two aircraft to crash, so it is an important
5704
fix. I hope this will be the last I2C crash bug we find in NuttX! An
5705
audit of the code was done to try to confirm that no more bugs of this
5706
type are present.
5707
5708
New Autoland code
5709
-----------------
5710
5711
This release incorporates some new autoland capabilities contributed
5712
by Michael Day. The key new feature is the ability to trigger an
5713
automatic landing when a RTL completes, which for the first time
5714
allows a user to setup their aircraft to land using only transmitter
5715
control.
5716
5717
The way it works is there is a new parameter RTL_AUTOLAND. If that is
5718
set to 1 and the aircraft reaches its target location in an RTL it
5719
will look for DO_LAND_START mission item in the mission. If that is
5720
found then the aircraft will switch to AUTO starting at that section
5721
of the mission. The user sets up their land mission commands starting
5722
with a DO_LAND_START mission item.
5723
5724
There is more to do in this autoland support. We have been discussing
5725
more advanced go-around capabilities and also better path planning for
5726
landing. The code in this release is an important first step though,
5727
and will be a good basis for future work.
5728
5729
Compass independent takeoff code
5730
--------------------------------
5731
5732
The auto-takeoff code has been changed to make it more independent of
5733
compass settings, allowing for reliable takeoff down a runway with
5734
poor compass offsets. The new takeoff code uses the gyroscope as the
5735
primary heading control for the first part of the takeoff, until the
5736
aircraft gains enough speed for a GPS heading to be reliable.
5737
5738
Many thanks to all the contributors, especially:
5739
5740
- Paul and Jon for EKF and TECS updates
5741
- Bret and Grant for stall prevention testing
5742
- Michael for all his autoland work
5743
- all the work on NavIO, PXF and Zynq by John, Victor, George and Siddarth
5744
- The PX4 team for all the PX4 updates
5745
5746
More complete list of changes:
5747
5748
- allow GCS to enable/disable PX4 safety switch
5749
- make auto-takeoff independent of compass errors
5750
- report gyro unhealthy if calibration failed
5751
- added support for MAV_CMD_DO_LAND_START
5752
- added RTL_AUTOLAND parameter
5753
- disable CLI by default in build
5754
- new InertialSensor implementation
5755
- added landing go around support
5756
- enable PX4 failsafe RC override
5757
- added OVERRIDE_CHAN parameter
5758
- changed default AUTOTUNE level to 6
5759
- changed default I value for roll/pitch controllers
5760
- added CAMERA_FEEDBACK mavlink messages
5761
- use airspeed temperature for baro calibration if possible
5762
- added STALL_PREVENTION parameter
5763
- fixed handling of TKOFF_THR_MAX parameter
5764
- added ARSPD_SKIP_CAL parameter
5765
- fixed flaperon trim handling (WARNING: may need to retrim flaperons)
5766
- EKF robustness improvements, especially for MAG handling
5767
- lots of HAL_Linux updates
5768
- support wider range of I2C Lidars
5769
- fixed fallback to DCM in AHRS
5770
- fixed I2C crash bug in NuttX
5771
- TECS prevent throttle undershoot after a climb
5772
- AP_Mount: added lead filter to improve servo gimbals
5773
- Zynq and NavIO updates
5774
- fixed preflight calibration to prevent losing 3D accel cal
5775
- perform a gyro calibration when doing 3D accel cal
5776
- added DO_CONTINUE_AND_CHANGE_ALT mission command
5777
- added support for DO_FENCE_ENABLE mission command
5778
- allow gyro calibration to take up to 30 seconds
5779
- improved health checks in the EKF for DCM fallback
5780
5781
Note: If you use flaperons you may need to re-trim them before you
5782
fly due to the change in flaperon trim handling.
5783
5784
I hope that everyone enjoys flying this new APM:Plane release as much
5785
as we enjoyed producing it! It is a major milestone in the development
5786
of the fixed wing code for APM, and I think puts us in a great
5787
position for future development.
5788
5789
Happy flying!
5790
5791
5792
5793
Release 3.1.1, September 12th 2014
5794
----------------------------------
5795
5796
The ardupilot development team is proud to announce the release of
5797
version 3.1.1 of APM:Plane. This is primarily a bugfix release with a
5798
small number of new features.
5799
5800
The main bug fixed in this release is a bug that could affect saving
5801
parameters and mission items in the FRAM/eeprom storage of
5802
PX4v1/Pixhawk/VRBrain. The bug has been in the code since January 2013
5803
and did not cause problems very often (which is why it hasn't been
5804
noticed till now), but when it does happen it causes changes to
5805
parameters or mission items not to be saved on a reboot.
5806
5807
Other changes in this release:
5808
5809
- support for using a Lidar for landing for terrain altitude (see
5810
the RNGFND_LANDING parameter)
5811
5812
- improvements in the landing approach code, especially the glide
5813
slope calculation
5814
5815
- added LAND_FLAP_PERCENT and TKOFF_FLAP_PCNT parameters, to control
5816
the amount of flaps to use on takeoff and landing
5817
5818
- the default WP_RADIUS has been raised from 30 to 90. Note that the
5819
L1 controller may choose to turn after the WP_RADIUS is
5820
reached. The WP_RADIUS only controls the earliest point at which
5821
the turn can happen, so a larger WP_RADIUS usually leads to better
5822
flight paths, especially for faster aircraft.
5823
5824
- send gyro and accel status separately to the GCS (thanks to Randy)
5825
5826
- support setting the acceptance radius in mission waypoints (in
5827
parameter 2), which allows for better control of waypoints where
5828
actions such as servo release will happen
5829
5830
- fixed GPS time offset in HIL
5831
5832
- added RELAY_DEFAULT parameter, allowing control of relay state on
5833
boot
5834
5835
- fixed sdcard logging on PX4v1
5836
5837
- added GPS_SBAS_MODE and GPS_MIN_ELEV parameters for better control
5838
of the use of SBAS and the GPS elevation mask for advanced users
5839
5840
Happy flying!
5841
5842
5843
Release 3.1.0, August 26th 2014
5844
-------------------------------
5845
5846
The ardupilot development team is proud to announce the release of
5847
version 3.1.0 of APM:Plane. This is a major release with a lot of new
5848
features and bug fixes.
5849
5850
The biggest change in this release is the addition of automatic
5851
terrain following. Terrain following allows the autopilot to guide the
5852
aircraft over varying terrain at a constant height above the ground
5853
using an on-board terrain database.
5854
5855
Changes in this release:
5856
5857
- added terrain following support. See
5858
http://plane.ardupilot.com/wiki/common-terrain-following/
5859
5860
- added support for higher baudrates on telemetry ports, to make it
5861
easier to use high rate telemetry to companion boards. Rates of up
5862
to 1.5MBit are now supported to companion boards.
5863
5864
- added new takeoff code, including new parameters:
5865
TKOFF_TDRAG_ELEV, TKOFF_TDRAG_SPD1, TKOFF_ROTATE_SPD,
5866
TKOFF_THR_SLEW and TKOFF_THR_MAX.
5867
This gives fine grained control of auto takeoff for tail dragger aircraft.
5868
5869
- overhauled glide slope code to fix glide slope handling in many
5870
situations. This makes transitions between different altitudes
5871
much smoother.
5872
5873
- prevent early waypoint completion for straight ahead
5874
waypoints. This makes for more accurate servo release at specific
5875
locations, for applications such as dropping water bottles.
5876
5877
- added MAV_CMD_DO_INVERTED_FLIGHT command in missions, to change
5878
from normal to inverted flight in AUTO (thanks to Philip Rowse for
5879
testing of this feature).
5880
5881
- new Rangefinder code with support for a wider range of rangefinder
5882
types including a range of Lidars (thanks to Allyson Kreft)
5883
5884
- added support for FrSky telemetry via SERIAL2_PROTOCOL parameter
5885
(thanks to Matthias Badaire)
5886
5887
- added new STAB_PITCH_DOWN parameter to improve low throttle
5888
behaviour in FBWA mode, making a stall less likely in FBWA mode
5889
(thanks to Jack Pittar for the idea).
5890
5891
- added GLIDE_SLOPE_MIN parameter for better handling of small
5892
altitude deviations in AUTO. This makes for more accurate altitude
5893
tracking in AUTO.
5894
5895
- added support for Linux based autopilots, initially with the PXF
5896
BeagleBoneBlack cape and the Erle robotics board. Support for more
5897
boards is expected in future releases. Thanks to Victor, Sid and
5898
Anuj for their great work on the Linux port. See
5899
http://diydrones.com/profiles/blogs/first-flight-of-ardupilot-on-linux
5900
for details.
5901
5902
- prevent cross-tracking on some waypoint types, such as when
5903
initially entering AUTO or when the user commands a change of
5904
target waypoint.
5905
5906
- fixed servo demo on startup (thanks to Klrill-ka)
5907
5908
- added AFS (Advanced Failsafe) support on 32 bit boards by
5909
default. See
5910
http://plane.ardupilot.com/wiki/advanced-failsafe-configuration/
5911
5912
- added support for monitoring voltage of a 2nd battery via BATTERY2
5913
MAVLink message
5914
5915
- added airspeed sensor support in HIL
5916
5917
- fixed HIL on APM2. HIL should now work again on all boards.
5918
5919
- added StorageManager library, which expands available FRAM storage
5920
on Pixhawk to 16 kByte. This allows for 724 waypoints, 50 rally
5921
points and 84 fence points on Pixhawk.
5922
5923
- improved steering on landing, so the plane is actively steered
5924
right through the landing.
5925
5926
- improved reporting of magnetometer and barometer errors to the GCS
5927
5928
- added FBWA_TDRAG_CHAN parameter, for easier FBWA takeoffs of tail
5929
draggers, and better testing of steering tuning for auto takeoff.
5930
5931
- fixed failsafe pass through with no RC input (thanks to Klrill-ka)
5932
5933
- fixed a bug in automatic flow control detection for serial ports
5934
in Pixhawk
5935
5936
- fixed use of FMU servo pins as digital inputs on Pixhawk
5937
5938
- imported latest updates for VRBrain boards (thanks to Emile
5939
Castelnuovo and Luca Micheletti)
5940
5941
- updates to the Piksi GPS support (thanks to Niels Joubert)
5942
5943
- improved gyro estimate in DCM (thanks to Jon Challinger)
5944
5945
- improved position projection in DCM in wind (thanks to Przemek
5946
Lekston)
5947
5948
- several updates to AP_NavEKF for more robust handling of errors
5949
(thanks to Paul Riseborough)
5950
5951
- improved simulation of rangefinders in SITL
5952
5953
- lots of small code cleanups thanks to Daniel Frenzel
5954
5955
- initial support for NavIO board from Mikhail Avkhimenia
5956
5957
- fixed logging of RCOU for up to 12 channels (thanks to Emile
5958
Castelnuovo)
5959
5960
- code cleanups from Silvia Nunezrivero
5961
5962
- improved parameter download speed on radio links with no flow
5963
control
5964
5965
Many thanks to everyone who contributed to this release, especially
5966
our beta testers Marco, Paul, Philip and Iam.
5967
5968
Happy flying!
5969
5970
5971
Release 3.0.3, May 19th 2014
5972
----------------------------
5973
5974
The ardupilot development team is proud to announce the release of
5975
version 3.0.3 of APM:Plane. This release contains some important bug
5976
fixes for all supported boards.
5977
5978
The key bug fixes in this release are:
5979
5980
- fixed handling of filter divergance in the EKF filter
5981
- fixed a glide slope calculation bug when entering AUTO mode
5982
5983
The EKF fixes are the main focus of this release. During testing of
5984
APM:Plane with the AHRS_EKF_USE enabled it was found that under some
5985
circumstances the EKF could diverge, resulting in loss of attitude
5986
estimate. Unless the pilot quickly took control in MANUAL this could
5987
result in the aircraft crashing.
5988
5989
The fix for this problem was in several parts. The main fix was to
5990
prevent the divergance, but as a precuation against future bugs of
5991
this type additional numerical checks were added to allow the EKF to
5992
automatically reset in flight when the internal state shows
5993
large gyro bias changes, which are the first sign of something going
5994
wrong in the filter. If this happens again the EKF will automatically
5995
disable itself for 10 seconds, allowing APM:Plane to fall back to the
5996
old DCM code. The EKF will then reset itself using initial state based
5997
on the DCM state. The aircraft will report the failure using the AHRS
5998
health bit in the SYS_STATUS MAVLink message.
5999
6000
The default EKF tuning parameters were also updated based on a number
6001
of user supplied flight logs to increase the robustness of the filter.
6002
6003
The second bug fixed in this release relates to the glide slope
6004
calculation when the aircraft enters AUTO mode for the first time when
6005
at an altitude above the altitude of the first waypoint in the
6006
mission. The starting point for the glide slope was incorrectly
6007
calculated using the home altitude, which resulted in the aircraft
6008
descending below the first waypoint altitude before climbing again. In
6009
some circumstances this could lead to a crash due to local terrain.
6010
6011
Many thanks to everyone who tested this release. Special thanks to
6012
Dellarb for reporting the glide slope bug and to Paul Riseborough for
6013
all his work on the EKF code over the last few weeks.
6014
6015
Happy flying!
6016
6017
6018
Release 3.0.2, May 4th 2014
6019
---------------------------
6020
6021
The ardupilot development team is proud to announce the release of
6022
version 3.0.2 of APM:Plane. This release combines some important bug
6023
fixes with some new features.
6024
6025
I2C bug fix
6026
-----------
6027
6028
The most important change for this release is a bug fix for an I2C bug
6029
in the NuttX I2C driver code that could (under some rare
6030
circumstances) cause a Pixhawk to crash. This bug fix is the primary
6031
reason for doing a new release now.
6032
6033
This bug was able to be reproduced by creating a 1.3m GPS cable
6034
carrying both the I2C signals for a magnetometer and the UART signals
6035
for the GPS. Interference between these two signals could cause the
6036
I2C controller to give spurious data to the I2C driver. The I2C driver
6037
did not have sufficient protection against these errors and could
6038
crash the board.
6039
6040
While we have not been able to reproduce this error with the normal
6041
cables that come with a Pixhawk we cannot rule out the bug triggering
6042
with shorter cables, so we are doing a fast release to fix the bug.
6043
6044
Autotune
6045
--------
6046
6047
This release also includes an important new feature - automatic
6048
roll/pitch tuning. While this feature is still considered experimental
6049
we have had very positive feedback from beta testers and have decided
6050
to include it in the release.
6051
6052
Full documentation for how to use automatic tuning is available here:
6053
6054
http://plane.ardupilot.com/wiki/automatic-tuning-with-autotune/
6055
6056
we hope that the automatic tuning will help users who have had
6057
difficulty with the standard APM:Plane manual tuning procedure. We
6058
plan on extending autotune to other aspects of fixed wing tuning in
6059
future releases.
6060
6061
Other changes
6062
-------------
6063
6064
- fixed a glide slope calculation error when very close to waypoints
6065
- fixed a bug when swithing to another auto-throttle mode during auto
6066
takeoff (thanks to Marco for finding this bug!)
6067
- added MIS_AUTORESET parameter (thanks to Andrew Chapman)
6068
- support compassmot calibration by supplying current measurments to the
6069
compass driver (thanks to Jon Challinger)
6070
- fixed a GPS driver bug that could cause GPS lag in case of lost GPS
6071
samples (thanks to Jon Challinger)
6072
- fixed a LOITER_TURNS bug in missions for counter-clockwise loiter
6073
(thanks to Iskess for finding this bug)
6074
- added support for OBC termination requirements to PX4IO
6075
- added support for pressure altitude termination to OBC module
6076
- fixed EKF wind estimation with no airspeed sensor (thanks to Paul
6077
Riseborough)
6078
- improved tuning of EKF for fixed wing aircraft (thanks to Paul
6079
Riseborough)
6080
- Converted rally point code to library AP_Rally (thanks to Andrew
6081
Chapman)
6082
- added SITL checking for numerical errors
6083
6084
Thanks to testers!
6085
6086
Many thanks to everyone who tested the beta versions of this release!
6087
Special thanks to Marco, Paul, Jon, Iam, JNJO, sonicdahousecat and
6088
Keeyen for providing testing of both existing features and the new
6089
autotune code.
6090
6091
6092
Release 3.0.1, April 9th 2014
6093
-----------------------------
6094
6095
I've just released APM:Plane 3.0.1, a bug fix release for the 3.0.0 release.
6096
This release fixes two bugs:
6097
6098
throttle failsafe for aircraft using PWM level for failsafe detection
6099
wind reporting with EKF enabled and no airspeed sensor
6100
6101
The throttle failsafe fix is a critical bugfix, which is why I am
6102
doing a new release so soon. The bug was found by Sam Tabor, and he
6103
posted the bug report before the 3.0.0 release, but I didn't notice it
6104
in the release preparations. The bug only affects systems using PWM
6105
value as the sole method of detecting loss of RC control. I hadn't
6106
noticed it myself as my planes all use receivers which stop sending
6107
value PWM frames when the RC link is lost. In that case failsafe
6108
worked correctly. Receivers that keep sending PWM frames but with low
6109
throttle levels are common though, so this is a very important fix.
6110
Many thanks to Sam for reporting the bug, and my apologies for not
6111
noticing it in time for the 3.0.0 release.
6112
6113
6114
Release 3.0.0, April 8th 2014
6115
-----------------------------
6116
6117
The ardupilot development team is proud to announce the release of
6118
version 3.0.0 of APM:Plane. This is a major release with a lot of new
6119
features.
6120
6121
For each release I try to highlight the two or 3 key new features that
6122
have gone in since the last release. That is a more difficult task
6123
this time around because there are just so many new things. Still, I
6124
think the most important ones are the new Extended Kalman Filter (EKF)
6125
for attitude/position estimation, the extensive dual sensors support
6126
and the new AP_Mission library.
6127
6128
We have also managed to still keep support for the APM1 and APM2,
6129
although quite a few of the new features are not available on those
6130
boards. We don't yet know for how long we'll be able to keep going on
6131
supporting these old boards, so if you are thinking of getting a new
6132
board then you should get a Pixhawk, and if you want the best
6133
performance from the APM:Plane code then you should swap to a
6134
Pixhawk now. It really is a big improvement.
6135
6136
New Extended Kalman Filter
6137
--------------------------
6138
6139
The biggest change for the 3.0.0 release (and in fact the major reason
6140
why we are calling it 3.0.0) is the new Extended Kalman Filter from
6141
Paul Riseborough. Using an EKF for attitude and position estimation
6142
was never an option on the APM2 as it didn't have the CPU power or
6143
memory to handle it. The Pixhawk does have plenty of floating point
6144
performance, and Paul has done a fantastic job of taking full
6145
advantage of the faster board.
6146
6147
As this is the first stable release with the EKF code we have decided
6148
to not enable it by default. It does however run all the time in
6149
parallel with the existing DCM code, and both attitude/position
6150
solutions are logged both to the on-board SD card and over
6151
MAVLink. You can enable the EKF code using the parameter
6152
AHRS_EKF_USE=1, which can be set and unset while flying, allowing you
6153
to experiment with using the EKF either by examining your logs with
6154
the EKF disabled to see how it would have done or by enabling it while
6155
flying.
6156
6157
The main thing you will notice with the EKF enabled is more accurate
6158
attitude estimation and better handling of sensor glitches. A Kalman
6159
filter has an internal estimate of the reliability of each of its
6160
sensor inputs, and is able to weight them accordingly. This means that
6161
if your accelerometers start giving data that is inconsistent with
6162
your other sensors then it can cope in a much more graceful way than
6163
our old DCM code.
6164
6165
The result is more accurate flying, particularly in turns. It also
6166
makes it possible to use higher tuning gains, as the increased
6167
accuracy of the attitude estimation means that you can push the
6168
airframe harder without it becoming unstable. You may find you can use
6169
a smaller value for NAVL1_PERIOD, giving tighter turns, and higher
6170
gains on your roll and pitch attitude controllers.
6171
6172
Paul has written up a more technical description of the new EKF code
6173
here:
6174
6175
http://plane.ardupilot.com/wiki/common-apm-navigation-extended-kalman-filter-overview/
6176
6177
6178
Dual Sensors
6179
------------
6180
6181
The second really big change for this release is support for
6182
dual-sensors. We now take full advantage of the dual accelerometers
6183
and dual gyros in the Pixhawk, and can use dual-GPS for GPS
6184
failover. We already had dual compass support, so the only main
6185
sensors we don't support two of now are the barometer and the airspeed
6186
sensor. I fully expect we will support dual baro and dual airspeed in
6187
a future release.
6188
6189
You might wonder why dual sensors is useful, so let me give you an
6190
example. I fly a lot of nitro and petrol planes, and one of my planes
6191
(a BigStik 60) had a strange problem where it would be flying
6192
perfectly in AUTO mode, then when the throttle reached a very specific
6193
level the pitch solution would go crazy (sometimes off by 90
6194
degrees). I managed to recover in MANUAL each time, but it certainly
6195
was exciting!
6196
6197
A careful analysis of the logs showed that the culprit was
6198
accelerometer aliasing. At a very specific throttle level the Z
6199
accelerometer got a DC offset of 11 m/s/s. So when the plane was
6200
flying along nice and level the Z accelerometer would change from -10
6201
m/s/s to +1 m/s/s. That resulted in massive errors in the attitude
6202
solution.
6203
6204
This sort of error happens because of the way the accelerometer is
6205
sampled. In the APM code the MPU6000 (used on both the APM2 and
6206
Pixhawk) samples the acceleration at 1kHz. So if you have a strong
6207
vibrational mode that is right on 1kHz then you are sampling the "top
6208
of the sine wave", and get a DC offset.
6209
6210
The normal way to fix this issue is to improve the physical
6211
anti-vibration mounting in the aircraft, but I don't like to fix
6212
problems like this by making changes to my aircraft, as if I fix my
6213
aircraft it does nothing for the thousands of other people running the
6214
same code. As the lead APM developer I instead like to fix things in
6215
software, so that everyone benefits.
6216
6217
The solution was to take advantage of the fact that the Pixhawk has
6218
two accelerometers, one is a MPU6000, and the 2nd is a LSM303D. The
6219
LSM303D is sampled at 800Hz, whereas the MPU6000 is sampled at
6220
1kHz. It would be extremely unusual to have a vibration mode with
6221
aliasing at both frequencies at once, which means that all we needed
6222
to do was work out which accelerometer is accurate at any point in
6223
time. For the DCM code that involved matching each accelerometer at
6224
each time step to the combination of the GPS velocity vector and
6225
current attitude, and for the EKF it was a matter of producing a
6226
weighting for the two accelerometers based on the covariance matrix.
6227
6228
The result is that the plane flew perfectly with the new dual
6229
accelerometer code, automatically switching between accelerometers as
6230
aliasing occurred.
6231
6232
Since adding that code I have been on the lookout for signs of
6233
aliasing in other logs that people send me, and it looks like it is
6234
more common than we expected. It is rarely so dramatic as seen on my
6235
BigStik, but often results in some pitch error in turns. I am hopeful
6236
that with a Pixhawk and the 3.0 release of APM:Plane that these types
6237
of problems will now be greatly reduced.
6238
6239
For the dual gyro support we went with a much simpler solution and
6240
just average the two gyros when both are healthy. That reduces noise,
6241
and works well, but doesn't produce the dramatic improvements that the
6242
dual accelerometer code resulted in.
6243
6244
Dual GPS was also quite a large development effort. We now support
6245
connecting a 2nd GPS to the serial4/5 port on the Pixhawk. This allows
6246
you to protect against GPS glitches, and has also allowed us to get a
6247
lot of logs showing that even with two identical GPS modules it is
6248
quite common for one of the GPS modules to get a significant error
6249
during a flight. The new code currently switches between the two GPS
6250
modules based on the lock status and number of satellites, but we are
6251
working on a more sophisticated switching mechanism.
6252
6253
Supporting dual GPS has also made it easier to test new GPS
6254
modules. This has enabled us to do more direct comparisons between the
6255
Lea6 and the Neo7 for example, and found the Neo7 performs very
6256
well. It also helps with developing completely new GPS drivers, such
6257
as the Piksi driver (see notes below).
6258
6259
New AP_Mission library
6260
----------------------
6261
6262
Many months ago Brandon Jones re-worked our mission handling code to
6263
be a library, making it much cleaner and fixing a number of long term
6264
annoyances with the behaviour. For this release Randy built upon the
6265
work that Brandon did and created the new AP_Mission library.
6266
6267
The main feature of this library from the point of view of the
6268
developers is that it has a much cleaner interface, but it also has
6269
some new user-visible features. The one that many users will be glad
6270
to hear is that it no longer needs a "dummy waypoint" after a
6271
jump. That was always an annoyance when creating complex missions.
6272
6273
The real advantage of AP_Mission will come in future releases though,
6274
as it has the ability to look ahead in the mission to see what is
6275
coming, allowing for more sophisticated navigation. The copter code
6276
already takes advantage of this with the new spline waypoint feature,
6277
and we expect to take similar advantage of this in APM:Plane in future
6278
releases.
6279
6280
New Piksi GPS driver
6281
--------------------
6282
6283
One of the most exciting things to happen in the world of GPS modules
6284
in the last couple of years is the announcement by SwiftNav that they
6285
would be producing a RTK capable GPS module called the Piksi at a
6286
price that (while certainly expensive!) is within reach of more
6287
dedicated hobbyists. It offers the possibility of decimeter and
6288
possibly even centimetre level relative positioning, which has a lot
6289
of potential for small aircraft, particularly for landing control and
6290
more precise aerial mapping.
6291
6292
This release of APM:Plane has the first driver for the Piksi. The new
6293
driver is written by Niels Joubert, and he has done a great job. It is
6294
only a start though, as this is a single point positioning driver. It
6295
will allow you to use your new Piksi if you were part of the
6296
kickstarter, but it doesn't yet let you use it in RTK mode. Niels and
6297
the SwiftNav team are working on a full RTK driver which we hope will
6298
be in the next release.
6299
6300
Support for more RC channels
6301
----------------------------
6302
6303
This release is the first to allow use of more than 8 RC input
6304
channels. We now support up to 18 input channels on SBus on Pixhawk,
6305
with up to 14 of them able to be assigned to functions using the
6306
RCn_FUNCTION settings. For my own flying I now use a FrSky Taranis
6307
with X8R and X6R receivers and they work very nicely. Many thanks to
6308
the PX4 team, and especially to Holger and Lorenz for their great work
6309
on improving the SBus code.
6310
6311
Flaperon Support
6312
----------------
6313
6314
This release is the first to have integrated flaperon support, and
6315
also includes much improved flaps support in general. You can now set
6316
a FLAP_IN_CHANNEL parameter to give an RC channel for manual flap
6317
control, and setup a FLAPERON_OUTPUT to allow you to setup your
6318
ailerons for both manual and automatic flaperon control.
6319
6320
We don't yet have a full wiki page on setting up flaperons, but you
6321
can read about the parameters here:
6322
6323
http://plane.ardupilot.com/wiki/arduplane-parameters/#Flap_input_channel_ArduPlaneFLAP_IN_CHANNEL
6324
6325
Geofence improvements
6326
---------------------
6327
6328
Michael Day has made an number of significant improvements to the
6329
geo-fencing support for this release. It is now possible to
6330
enable/disable the geofence via MAVLink, allowing ground stations to
6331
control the fence.
6332
6333
There are also three new fence control parameters. One is
6334
FENCE_RET_RALLY which when enabled tells APM to fly back to the
6335
closest rally point on a fence breach, instead of flying to the center
6336
of the fence area. That can be very useful for more precise control of
6337
fence breach handling.
6338
6339
The second new parameter is FENCE_AUTOENABLE, which allows you to
6340
automatically enable a geofence on takeoff, and disable when doing an
6341
automatic landing. That is very useful for fully automated missions.
6342
6343
The third new geofence parameter is FENCE_RETALT, which allows you to
6344
specify a return altitude on fence breach. This can be used to
6345
override the default (half way between min and max fence altitude).
6346
6347
Automatic Landing improvements
6348
------------------------------
6349
6350
Michael has also been busy on the automatic landing code, with
6351
improvements to the TECS speed/height control when landing and new
6352
TECS_LAND_ARSPD and TECS_LAND_THR parameters to control airspeed and
6353
throttle when landing. This is much simpler to setup than
6354
DO_CHANGE_SPEED commands in a mission.
6355
6356
Michael is also working on automatic path planning for landing, based
6357
on the rally points code. We hope that will get into a release soon.
6358
6359
Detailed Pixhawk Power Logging
6360
------------------------------
6361
6362
One of the most common causes of issues with autopilots is power
6363
handling, with poor power supplies leading to brownouts or sensor
6364
malfunction. For this release we have enabled detailed logging of the
6365
information available from the on-board power management system of the
6366
Pixhawk, allowing us to log the status of 3 different power sources
6367
(brick input, servo rail and USB) and log the voltage level of the
6368
servo rail separately from the 5v peripheral rail on the FMU.
6369
6370
This new logging should make it much easier for us to diagnose power
6371
issues that users may run into.
6372
6373
New SERIAL_CONTROL protocol
6374
---------------------------
6375
6376
This release adds a new SERIAL_CONTROL MAVLink message which makes it
6377
possible to remotely control a serial port on a Pixhawk from a ground
6378
station. This makes it possible to do things like upgrade the firmware
6379
on a 3DR radio without removing it from an aircraft, and will also
6380
make it possible to attach to and control a GPS without removing it
6381
from the plane.
6382
6383
There is still work to be done in the ground station code to take full
6384
advantage of this new feature and we hope to provide documentation
6385
soon on how to use u-Blox uCenter to talk to and configure a GPS in an
6386
aircraft and to offer an easy 3DR radio upgrade button via the Pixhawk
6387
USB port.
6388
6389
Lots of other changes!
6390
----------------------
6391
6392
There have been a lot of other improvements in the code, but to stop
6393
this turning into a book instead of a set of release notes I'll stop
6394
the detailed description there. Instead here is a list of the more
6395
important changes not mentioned above:
6396
6397
- added LOG_WHEN_DISARMED flag in LOG_BITMASK
6398
- raised default LIM_PITCH_MAX to 20 degrees
6399
- support a separate steering channel from the rudder channel
6400
- faster mission upload on USB
6401
- new mavlink API for reduced memory usage
6402
- fixes for the APM_OBC Outback Challenge module
6403
- fixed accelerometer launch detection with no airspeed sensor
6404
- greatly improved UART flow control on Pixhawk
6405
- added BRD_SAFETYENABLE option to auto-enable the safety
6406
switch on PX4 and Pixhawk on boot
6407
- fixed pitot tube ordering bug and added ARSPD_TUBE_ORDER parameter
6408
- fixed log corruption bug on PX4 and Pixhawk
6409
- fixed repeated log download bug on PX4 and Pixhawk
6410
- new Replay tool for detailed log replay and analysis
6411
- flymaple updates from Mike McCauley
6412
- fixed zero logs display in MAVLink log download
6413
- fixed norm_input for cruise mode attitude control
6414
- added RADIO_STATUS logging in aircraft logs
6415
- added UBX monitor messages for detailed hardware logging of u-Blox status
6416
- added MS4525 I2C airspeed sensor voltage compensation
6417
6418
6419
I hope that everyone enjoys flying this new APM:Plane release as much
6420
as we enjoyed producing it! It is a major milestone in the development
6421
of the fixed wing code for APM, and I think puts us in a great
6422
position for future development.
6423
6424
6425
Happy flying!
6426
6427