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