Real-time collaboration for Jupyter Notebooks, Linux Terminals, LaTeX, VS Code, R IDE, and more,
all in one place. Commercial Alternative to JupyterHub.
Real-time collaboration for Jupyter Notebooks, Linux Terminals, LaTeX, VS Code, R IDE, and more,
all in one place. Commercial Alternative to JupyterHub.
Path: blob/master/ArduPlane/ReleaseNotes.txt
Views: 1798
ArduPilot Plane Release Notes:1------------------------------------------------------------------2Release 4.6.0-beta2 11 Dec 202434Changes from 4.6.0-beta1561) Board specfic changes78- FoxeerF405v2 supports BMP280 baro9- KakuteH7, H7-Mini, H7-Wing, F4 support SPA06 baro10- MUPilot support11- SkySakura H743 support12- TBS Lucid H7 support13- VUAV-V7pro README documentation fixed14- X-MAV AP-H743v2 CAN pin definition fixed15162) Copter specific enhancements and bug fixes1718- AutoTune fix for calc of maximum angular acceleration19- Advanced Failsafe customer build server option20213) Plane related enhancements and bug fixes2223- QuadPlane fix for QLand getting stuck in pilot repositioning24- QuikTune C++ conversion (allow running quiktun on F4 and f7 boards)25- Takeoff direction fixed when no yaw source26- TECS correctly handles home altitude changes27284) Bug Fixes and minor enhancements2930- AIRSPEED_AUTOCAL mavlink message only sent when required and fixed for 2nd sensor31- CAN frame logging added to ease support32- CRSF reconnection after failsafe fixed33- EKF3 position and velocity resets default to user defined source34- Ethernet IP address default 192.168.144.x35- Fence autoenable fix when both RCn_OPTION=11/Fence and FENCE_AUTOENABLE = 3 (AutoEnableOnlyWhenArmed)36- Fence pre-arm check that vehicle is within polygon fence37- Fence handling of more than 256 items fixed38- FFT protection against divide-by-zero in Jain estimator39- Frsky telemetry apparent wind speed fixed40- Inertial sensors stop sensor converging if motors arm41- Inertial sensors check for changes to notch filters fixed42- Real Time Clock allowed to shift forward when disarmed43- ROS2/DDS get/set parameter service added44- Scripting gets memory handling improvements45- Scripting promote video-stream-information to applet46- Topotek gimbal driver uses GIA message to retrieve current angle47- Tramp VTX OSD power indicator fixed48------------------------------------------------------------------49Release 4.6.0-beta1 13 Nov 20245051Changes from 4.5.752531) Board specific changes5455- AnyLeaf H7 supports compass and onboard logging56- Blitz743Pro supports CAN57- BlueRobotics Navigator supports BMP390 baro58- Bootloader ECC failure check fixed on boards with >128k bootloader space (e.g CubeRed)59- CB Unmanned Stamp H743 support60- ClearSky CSKY405 support61- CUAV-7-Nano default batt monitor fixed62- CubeRed bootloader fixes including disabling 2nd core by default63- CubeRed supports PPP networking between primary and secondary MCU64- CubeRedPrimary supports external compasses65- ESP32 main loop rate improvements66- ESP32 RC input fixes and wifi connection reliability improved67- ESP32 safety switch and GPIO pin support68- FlyingMoon no longer support MAX745669- Flywoo F405HD-AIOv2 ELRS RX pin pulled high during boot70- Flywoo H743 Pro support71- Flywoo/Goku F405 HD 1-2S ELRS AIO v272- FlywooF745 supports DPS310 baro73- FPV boards lose SMBus battery support (to save flash)74- GEPRC F745BTHD support75- GEPRCF745BTHD loses parachute support, non-BMP280 baros (to save flash)76- Here4FC bootloader fix for mismatch between RAM0 and periph that could prevent firmware updates77- Holybro Kakute F4 Wing support78- iFlight 2RAW H743 supports onboard logging79- JFB110 supports measuring servo rail voltage80- JFB110 supports safety switch LED81- JHEM-JHEF405 bootloader supports firmware updates via serial82- JHEMCU GF30H743 HD support83- JHEMCU-GF16-F405 autopilot support84- JHEMCU-GSF405A becomes FPV board (to save flash)85- KakuteF7 only supports BMP280 baro (to save flash)86- KakuteH7Mini supports ICM42688 IMU87- Linux auto detection of GPS baud rate fixed88- Linux board scheduler jitter reduced89- Linux board shutdown fixes90- MakeFlyEasy PixPilot-V6Pro support91- MatekF405, Pixhawk1-1M-bdshot, revo-mini loses blended GPS (to save flash)92- MatekH7A3 support Bi-directional DShot93- MicoAir405v2 and MicoAir405Mini support optical flow and OSD94- MicoAir743 internal compass orientation fixed95- MicroAir405Mini, MicroAir743, NxtPX4v2 support96- MicroAir405v2 Bi-directional DShot and LED DMA fixes97- MicroAir405v2 defined as FPV board with reduced features (to save flash)98- ModalAI VOXL2 support including Starling 2 and Starling 2 max99- mRo Control Zero Classic supports servo rail analog input100- mRo KitCAN revC fixed101- Mugin MUPilot support102- OmnibusF7v2 loses quadplane support (to save flash)103- Pixhack-v3 board added (same as fmuv3)104- Pixhawk6C bootloader supports flashing firmware from SD card105- RadiolinkPIX6 imu orientation fixed106- RadiolinkPIX6 supports SPA06 baro107- ReaperF745 V4 FC supports MPU6000 IMU108- RPI5 support109- SDModelH7v2 SERIAL3/7/9_PROTOCOL param defaults changed110- Solo serial ports default to MAVLink1111- SpeedyBeeF405Wing gets Bi-directional DShot112- SpeedyBeeF405WING loses landing gear support, some camera gimbals (to save flash)113- Spektreworks boom board support114- TrueNavPro-G4 SPI does not share DMA115- X-MAV AP-H743v2 support1161172) AHRS/EKF enhancements and fixes118119- AHRS_OPTION to disable fallback to DCM (affects Plane and Rover, Copter never falls back)120- AHRS_OPTION to disable innovation check for airspeed sensor121- Airspeed sensor health check fixed when using multiple sensors and AHRS affinity122- DCM support for MAV_CMD_EXTERNAL_WIND_ESTIMATE (Plane only)123- EK2 supports disabling external nav (see EK2_OPTIONS)124- EK3 External Nav position jump after switch from Optical flow removed (see EK3_SRC_OPTION=1)125- EK3 uses filtered velocity corrections for IMU position126- EKF2, EKF3, ExternalAHRS all use common origin127- EKF3 accepts set origin even when using GPS128- EKF3 allows earth-frame fields to be estimated with an origin but no GPS129- EKF3 copes better with GPS jamming130- EKF3 logs mag fusion selection to XKFS131- EKF3 wind estimation when using GPS-for-yaw fixed132- External AHRS improvements including handling variances, pre-arm origin check133- Inertial Labs External AHRS fixes134- VectorNav driver fix for handling of error from sensor135- VectorNav External AHRS enhancements including validation of config commands and logging improvements136- VectorNav support for sensors outside VN-100 and VN-3001371383) Driver enhancements and bug fixes139140- ADSB fix to display last character in status text sent to GCS141- Ainstein LR-D1 radar support142- Airspeed ASP5033 whoami check fixed when autopilot rebooted independently of the sensor143- AIRSPEED message sent to GCS144- Analog temperature sensor extended to 5th order polynomial (see TEMP_A5)145- ARSPD_OPTIONS to report calibration offset to GCS146- Baro EAS2TAS conversions continuously calculated reducing shocks to TECS (Plane only)147- Baro provides improved atmospheric model for high altitude flight148- BARO_ALT_OFFSET slew slowed to keep EKF happy149- BATTx_ESC_MASK param supports flexible mapping of ESCs to batteries150- BATTx_OPTION to not send battery voltage, current, etc to GCS151- Benewake RDS02U radar support152- Bi-directional DShot on IOMCU supports reversible mask153- Bi-directional DShot telemetry support on F103 8Mhz IOMCUs154- BMM350 compass support155- CAN rangefinders and proximity sensors may share a CAN bus (allows NRA24 and MR72 on a single CAN bus)156- Compass calibration world magnetic model checks can use any position source (e.g. not just GPS)157- CRSF baro and vertical speeed fixed158- CRSF RX bind command support159- DroneCAN battery monitor check to avoid memory corruption when type changed160- DroneCAN DNA server fixes including removing use of invalid node IDs, faster ID allocation, elimination of rare inability to save info161- DroneCAN EFI health check fix162- DroneCAN ESC battery monitors calculate consumed mah163- DroneCAN ESCs forced to zero when disarmed164- DroneCAN RPM message support165- DroneCAN timeout fix for auxiliary frames166- DroneCAN to serial tunneling params accepts short-hand baud rates (e.g. '57' for '57600')167- F9P, F10-N and Zed-F9P support for GPSx_GNSS_MODE to turn on/off SBAS, Galileo, Beidou and Glonass168- FuelLevel battery monitor fix to report capacity169- GPS_xxx params renamed to GPS1_xxx, GPS_xxx2 renamed to GPS2_xxx170- Hirth EFI logging includes modified throttle171- Hirth ICEngine supports reversed crank direction (see ICE_OPTIONS parameter)172- Hott and LTM telemetry deprecated (still available through custom build server)173- i-BUS telemetry support174- ICE_PWM_IGN_ON, ICE_PWM_IGN_OFF, ICE_PWM_STRT_ON, ICE_PWM_STRT_OFF replaced with SERVOx_MIN/MAX/REVERSED (Plane only)175- ICE_START_CHAN replaced with RC aux function (Plane only)176- ICEngine retry max added (see ICE_STRT_MX_RTRY)177- IE 2400 generator error message severity to GCS improved178- INA2xx battery monitor support (reads temp, gets MAX_AMPS and SHUNT params)179- MCP9600 temperature sensor I2C address fixed180- MLX90614 temperature sensor support181- MSP GPS ground course scaling fixed182- MSP RC uses scaled RC inputs (fixes issue with RCx_REVERSED having no effect)183- Networking supports reconnection to TCP server or client184- OSD params for adjusting horizontal spacing and vertical extension (see OSD_SB_H_OFS, OSD_SB_V_EXT)185- Relay inverted output support (see RELAYx_INVERTED parameter)186- ROMFS efficiency improvements187- RS-485 driver enable RTS flow control188- Sagetech MXS ADSP altitude fix (now uses abs alt instead of terrain alt)189- Septentrio GPS sat count correctly drops to zero when 255 received190- Septentrio supports selecting constellations (see GPS_GNSS_MODE)191- Single LED for user notification supported192- SPA06 baro supported193- Sum battery monitor optionally reports minimum voltage instead of average194- Sum battery monitor reports average temp195- Torqeedo dual motor support (see TRQ1, TRQ2 params)196- Ublox GPS driver uses 64 bit time for PPS interrupt (avoids possible dropout at 1hour and 12 minutes)197- UBlox GPS time ignored until at least 2D fix198- VideoTX supports additional freq bands (RushFPV 3.3Ghz)199- Volz logs desired and actual position, voltage, current, motor and PCB temp200- Volz server feedback and logging fixed201- Volz servo output in its own thread resulting in smoother movements202- W25N02KV flash support2032044) Networking enhancements and fixes205206- Allow multiple UDP clients to connect/disconnect/reconnect207- Ethernet supports faster log downloading (raised SDMMC clock limit on H7)2082095) Camera and gimbal enhancements210211- Alexmos precision improved slightly212- CAMERA_CAPTURE_STATUS mavlink msg sent to GCS (reports when images taken or video recorded, used by QGC)213- CAMERA_FOV_STATUS mavlink reports lat,lon of what camera is pointing at214- DO_MOUNT_CONTROL yaw angle interpreted as body-frame (was incorrectly being interpreted as earth-frame)215- Dual serial camera gimbal mounts fixed216- Lua script bindings to send CAMERA_INFORMATION and VIDEO_STREAM_INFORMATION messages to GCS217- Retract Mount2 aux function added (see RCx_OPTION = 113)218- Servo gimbal reported angles respect roll, pitch and yaw limits219- Siyi driver sends autopilot location and speed (recorded in images via EXIF)220- Siyi picture and video download scripts221- Siyi ZT6 and ZT30 support sending min, max temperature (see CAMERA_THERMAL_RANGE msg)222- Siyi ZT6 and ZT30 thermal palette can be changed using camera-change-setting.lua script223- Siyi ZT6 hardware id and set-lens fixed224- Topotek gimbal support225- Trigger distance ignores GPS status and only uses EKF reported location2262276) Harmonic notch enhancements228229- Harmonic notch is active in forward flight on quadplanes230- Harmonic notch filter freq clamping and disabling reworked231- Harmonic notch handles negative ESC RPMs232- Harmonic notch supports per-motor throttle-based harmonic notch2332347) Copter specific enhancements and bug fixes235236- Attitude control fix to dt update order (reduces rate controller noise)237- Auto mode fix to avoid prematurely advancing to next waypoint if given enough time238- Auto mode small target position jump when takeoff completes removed239- Auto mode yaw drift when passing WP removed if CONDITION_YAW command used and WP_YAW_BEHAVIOR = 0/None240- Auto, Guided flight mode pause RC aux switch (see RCx_OPTION = 178)241- AutoRTL (e.g. DO_LAND_START) uses copter stopping point to decide nearest mission command242- AutoRTL mode supports DO_RETURN_PATH_START (Copter, Heli only)243- AutoTune fix to prevent spool up after landing244- AutoTune performance and safety enhancements (less chance of ESC desync, fails when vehicle likely can't be tuned well)245- Autotune test gains RC aux switch function allows testing gains in any mode (see RCx_OPTION = 180)246- Config error avoided if auto mode is paused very soon after poweron247- FLIGHT_OPTIONS bit added to require position estimate before arming248- Follow mode slowdown calcs fixed when target is moving249- Ground oscillation suppressed by reducing gains (see ATC_LAND_R/P/Y_MULT)250- Guided mode internal error fix when taking off using SET_ATTITUDE_CONTROL message251- Guided mode internal error resolved when switching between thrust or climb rate based altitude control252- Guided mode yaw fixed when WP_YAW_BEHAVIOR = 0/None and CONDITION_YAW command received containing relative angle253- Landing detector fixed when in stabilize mode at full throttle but aircraft is upside down254- Landing detector logging added to ease support (see LDET message)255- Loiter unlimited command accepts NaNs (QGC sends these)256- Mavlink SYSTEM_STATUS set to BOOT during initialisation257- MOT_PWM_TYPE of 9 (PWMAngle) respects SERVOx_MIN/MAX/TRIM/REVERSED param values258- Payload place bug fix when aborted because gripper is already released259- RC based tuning (aka CH6 tuning) can use any RC aux function channel (see RCx_OPTION = 219)260- RTL_ALT minimum reduced to 30cm261- SystemID position controller support (Copter and Heli)262- TriCopter motor test and slew-up fixed263- WPNAV_SPEED min reduced to 10 cm/s (Copter only)264- Loiter mode zeros desired accel when re-entering from Auto during RC failsafe2652668) TradHeli specific enhancements267268- Autorotation yaw behaviour fix269- Autotune improvements including using low frequency dwell for feedforward gain tuning and conducting sweep in attitude instead of rate270- Blade pitch angle logging added (see SWSH log message)271- Constrain cyclic roll for intermeshing272- ICE / turbine cool down fix273- Inverted flight extended to non manual throttle modes274- Inverted flight transitions smoothed and restricted to only Stabilize mode275- SWSH logging fix for reversed collectives2762779) Plane specific enhancements and bug fixes278279- AIRSPEED_STALL holds vehicle stall speed and is used for minimum speed scaling280- Allow for different orientations of landing rangefinder281- Assistance requirements evaluted on mode change282- FBWB/CRUISE climb/sink rate limited by TECS limits283- FLIGHT_OPTION to immediately climb in AUTO mode (not doing glide slope)284- Glider pullup support (available only through custom build server)285- Loiter breakout improved to better handle destinations inside loiter circle286- Manual mode throttle made consistent with other modes (e.g battery comp and watt limit is done if enabled)287- Mavlink GUIDED_CHANGE_ALTITUDE supports terrain altitudes288- Minimum throttle not applied during SLT VTOL airbrake (reduces increase in airspeed and alt during back transition)289- Q_APPROACH_DIST set minimum distance to use the fixed wing approach logic290- Quadplane assistance check enhancements291- Quadplane Deca frame support292- Quadplane gets smoother takeoff by input shaping target accel and velocity293- Servo wiggles in altitude wait staged to be one after another294- Set_position_target_global_int accepts MAV_FRAME_GLOBAL_RELATIVE_ALT and MAV_FRAME_GLOBAL_TERRAIN_ALT frames295- Takeoff airspeed control improved (see TKOFF_MODE, TKOFF_THR_MIN)296- Takeoff fixes for fence autoenable297- Takeoff improvements including less overshoot of TKOFF_ALT298- TECS reset along with other controllers (important if plane dropped from balloon)299- Tilt quadplane ramp of motors on back transition fixed300- Tiltrotor tilt angles logged301- TKOFF_THR_MIN applied to SLT transitions302- Twin motor planes with DroneCAN ESCs fix to avoid max throttle at arming due to misconfiguration303- VTOLs switch to QLAND if a LONG_FAILSAFE is triggered during takeoff30430510) Rover specific enhancements and bug fixes306307- Auto mode reversed state maintained if momentarily switched to Hold mode308- Circle mode tracks better and avoids getting stuck at circle edge309- Flight time stats fixed310- MAV_CMD_NAV_SET_YAW_SPEED deprecated311- Omni3Mecanum frame support312- Stopping point uses max deceleration (was incorrectly using acceleration)313- Wheel rate controller slew rate fix31431511) Antenna Tracker specific enhancements and bug fixes316317- Never track lat,lon of 0,031831912) Scripting enhancements320321- advance-wp.lua applet supports advancing Auto mode WP via RC switch322- AHRS_switch.lua supports switching between EKF2 and EKF3 via RC switch323- battery_internal_resistance_check.lua monitors battery resistance324- CAN:get_device returns nil for unconfigured CAN device325- copter_terrain_brake.lua script added to prevent impact with terrain in Loiter mode (Copter only)326- Copter:get_target_location, update_target_location support327- crosstrack_restore.lua example allows returning to previous track in Auto (Plane only)328- Display text on OLED display supported329- Docs improved for many bindings330- EFI get_last_update_ms binding331- EFI_SkyPower.lua driver accepts 2nd supply voltage332- ESC_slew_rate.lua example script supports testing ESCs333- Filesystem CRC32 check to allow scripts to check module versions334- forced arming support335- GPIO get/set mode bindings (see gpio:set_mode, get_mode)336- GPS-for-yaw angle binding (see gps:gps_yaw_deg)337- Halo6000 EFI driver can log all CAN packets for easier debugging338- handle_external_position_estimate binding allows sending position estimate from lua to EKF339- I2C:transfer support340- IMU gyros_consistent and accels_consistent bindings added341- INF_Inject.lua driver more robust to serial errors, improved logging, throttle and ignition control342- INS bindings for is calibrating, gyro and accel sensor values343- IPV4 address bindings (see SocketAPM_ipv4_addr_to_string) to allow UDP server that responds to individual clients344- Logging of booleans supported345- Lua language checks improved (finds more errors)346- MAVLink commands can be called from scripting347- MCU voltage binding (see analog:mcu_voltage)348- NMEA 2000 EFI driver (see EFI_NMEA2k.lua)349- "open directory failed" false warning when scripts in ROMFS fixed350- Param_Controller.lua supports quickly switching between 3 parameter sets via RC switch351- Pass by reference values are always initialized352- pelco_d_antennatracker.lua applet supports sending Pelco-D via RS-485 to PTZ cameras353- plane_aerobatics.lua minor enhancements354- REPL applet (read-evaluate-print-loop, see repl.lua) for interactive testing and experimentation355- "require" function failures in rare circumstances fixed356- "require" function works for modules in ROMFS (e.g. not on SD card)357- revert_param.lua supports more params (e.g ATC_RATE_R/P/Y, PTCH2SRV_TCONST, RLL2SRV_TCONST, TECS_)358- Scripts may receive mavlink messages which fail CRC (e.g messages which FC does not understand)359- SD card formatting supported360- Serial device simulation support (allows Lua to feed data to any supported serial protocol for e.g. sensor simulation)361- set_target_throttle_rate_rpy allows rate control from scripts (new for Copter)362- sitl_standby_sim.lua example shows how to switch between redundant flight controllers using an RC switch363- Slung payload oscillation suppression applet added (see copter-slung-payload.lua)364- Temperature sensor bindings added365- uint64 support366- Various performance and memory usage optimizations367- VTOL-quicktune.lua minor enhancements including increasing YAW_FLTE_MAX to 8368- x-quad-cg-allocation.lua applet corrects for the CoM discrepancy in a quad-X frame36937013) GCS / mavlink related changes and fixes371372- BATTERY2 message deprecated (replaced by BATTERY_STATUS)373- CMD_MISSION_START/STOP rejected if first-item/last-item args provided374- Deny attempts to upload two missions simultaneously375- Fence and Rally points may be uploaded using FTP376- GPS_INPUT and HIL_GPS handles multiple GPSs377- HIGHRES_IMU mavlink message support (used by companion computers to receive IMU data from FC)378- MAV_CMD_COMPONENT_ARM_DISARM accepts force arm magic value of 21196379- MAV_CMD_DO_SET_SAFETY_SWITCH_STATE support380- MAV_CMD_SET_HAGL support (Plane only)381- MAVFTP respects TX buffer flow control to improve FTP on low bandwidth links382- MAVLink receiver support (RADIO_RC_CHANNELS mavlink message)383- Message interval supports TERRAIN_REPORT msg384- Mission upload may be cancelled using MISSION_CLEAR_ALL385- MOUNT_CONFIGURE, MOUNT_CONTROL messages deprecated386- RC_CHANNELS_RAW deprecated387- Serial passthrough supports parity allowing STM32CubeProgrammer to be used to program FrSky R9 receivers388- SET_ATTITUDE_TARGET angular rate input frame fixed (Copter only)389- TIMESYNC and NAMED_VALUE_FLOAT messages not sent on high latency MAVLink ports39039114) Logging enhancements and fixes392393- AC_PID resets and I-term sets logged394- ANG provides attitude at high rate (equivalent to ATT)395- ATT logs angles as floats (better resolution than ints)396- CAND message gets driver index397- DCM log message includes roll/pitch and yaw error398- EDT2 log msg includes stress and status received via extended DShot Telemetry v2399- EFI ECYL cylinder head and exhaust temp logs in degC (was Kelvin)400- ESCX log msg includes DroneCAN ESCs status, temp, duty cycle and power pct401- FMT messages written as required instead of all at beginning402- Logging restarted after download completes when LOG_DISARMED = 1403- MISE msg logs active mission command (CMD logged when commands are uploaded)404- ORGN message logging fixed when set using SET_GPS_GLOBAL_ORIGIN405- RPM sensor logging gets instance field, quality and health fields406- Short filename support removed (e.g log1.BIN instead of 00000001.BIN)407- Temperature sensor logging option for only sensors with no source (see TEMP_LOG)408- UART data rates logged at 1hz (see UART message)40941015) ROS2 / DDS support411412- Airspeed published413- Battery topic reports all available batteries414- Compile-time configurable rates for each publisher415- DDS_TIMEOUT_MS and DDS_MAX_RETRY set timeout and num retries when client pings XRCE agent416- GPS global origin published at 1 Hz417- High frequency raw imu data transmission418- Joystick support419- Support sending waypoints to Copter and Rover420- Remove the XML refs file in favor of binary entity creation42142216) Safety related enhancements and fixes423424- Accel/Gyro inconsistent message fixed for using with only single IMU425- Battery monitor failure reported to GCS, triggers battery failsafe but does not take action426- Far from EKF origin pre-arm check removed (Copter only)427- Fence breach warning message slightly improved428- Fence enhancements incluiding alt min fence (Copter only, see FENCE_AUTOENABLE, FENCE_OPTIONS)429- Fences can be stored to SD Card (see BRD_SD_FENCE param)430- ICEngine stopped when in E-Stop or safety engaged (Plane only)431- LEDs flash green lights based on EKF location not GPS432- Parachute option to skip disarm before parachute release (see CHUTE_OPTIONS)433- Plane FENCE_AUTOENABLE of 1 or 2 deprecation warning added434- Pre-arm check if OpenDroneID is compiled in but disabled435- Pre-arm check of duplicate RC aux functions fixed (was skipping recently added aux functions)436- Pre-arm checks alert user more quickly on failure437- Prearm check for misconfigured EAHRS_SENSORS and GPS_TYPE438- Proximity sensor based avoidance keeps working even if one proximity sensor fails (Copter, Rover)439- RC aux functions for Arm, Disarm, E-Stop and Parachute ignored when RC is first turned on440- Warning of duplicate SERIALx_PROTOCOL = RCIN44144217) Other bug fixes and minor enhancements443444- Accel cal fixed for auxiliary IMUs (e.g. IMU4 and higher)445- Bootloader fix to reduce unnecessary mass erasing of flash when using STLink or Jlink tools446- Bootloader rejects allocation of broadcast node ID447- CAN forward registering/de-registering fix (affected Mission Planner DroneCAN UI)448- Dijkstras fix to correct use of uninitialised variable449- DShot rates are not limited by NeoPixel rates450- Ethernet and CAN bootloader fix to prevent getting stuck in bootloader mode451- Filesystem does not show entries for empty @ files452- Filesystem efficiency improvements when reading files453- Flight statistics only reset if user sets STAT_RESET to zero (avoids accidental reset)454- Flight time statistics updated on disarm (avoids issue if vehicle powered-down soon after disarm)455- Internal error thrown if we lose parameters due to saving queue being too small456- MAVLink via DroneCAN baud rate fix457- SPI pins may also be used as GPIOs458- Terrain cache size configurable (see TERRAIN_CACHE_SZ)45946018) Developer focused fixes and enhancements461462- AP_Camera gets example python code showing how to use GStreamer with UDP and RTSP video streams463- Cygwin build fix for non-SITL builds464- Cygwin build fixed with malloc wrap465- DroneCAN and scripting support FlexDebug messages (see CAN_Dn_UC_OPTION, FlexDebug.lua)466- EKF3 code generator documentation and cleanup467- GPS jamming simulator added468- MacOS compiler warnings reduced469- SFML joystick support470- SITL support for OpenBSD471- Text warning if older Fence or Rally point protocols are used472------------------------------------------------------------------473Release 4.5.7 08 Oct 2024474475Changes from 4.5.7-beta14764771) Reverted Septentrio GPS sat count correctly drops to zero when 255 received478------------------------------------------------------------------479Release 4.5.7-beta1 26 Sep 2024480481Changes from 4.5.64824831) Bug fixes and minor enhancements484485- VUAV-V7pro support486- CUAV-7-Nano correction for LEDs and battery volt and current scaling487- DroneCAN deadlock and saturation of CAN bus fixed488- DroneCAN DNA server init fix (caused logging issues and spam on bus)489- F4 boards with inverter support correctly uninvert RX/TX490- Nanoradar M72 radar driver fix for object avoidance path planning491- Plane fix to ability to disable the takeoff atititude checks492- RC support for latest version of GHST493- Septentrio GPS sat count correctly drops to zero when 255 received4944952) ROS2/DDS and other developer focused enhancements496497- AP quaternions normalised for ROS2 to avoid warnings498- Dependencies fixed for easier installation499- ROS2 SITL launch file enhancements including displaying console and map500- ROS_DOMAIN_ID param added to support multiple vehicles or instances of ROS2501- Python 3.12 support502------------------------------------------------------------------503Release 4.5.6 03 Sep 2024504505No changes from 4.5.6-beta1506------------------------------------------------------------------507Release 4.5.6-beta1 20 Aug 2024508509Changes from 4.5.55105111) Board specific enhancements and bug fixes512513- 3DR Control Zero H7 Rev G support514- CUAV-7-Nano support515- FoxeerF405v2 servo outputs increased from 9 to 11516- Holybro Pixhawk6C hi-power peripheral overcurrent reporting fixed517- iFlight 2RAW H7 support518- MFT-SEMA100 support519- TMotorH743 support BMI270 baro520- ZeroOneX6 support5215222) Minor enhancements and bug fixes523524- Cameras using MAVLink report vendor and model name correctly525- DroneCAN fix to remove occasional NodeID registration error526- GPS NMEA and GSoF driver ground course corrected (now always 0 ~ 360 deg)527- ICP101XX barometer slowed to avoid I2C communication errors528- IMU temp cal param (INSn_ACCSCAL_Z) stored correctly when bootloader is flashed529- IMU gyro/accel duplicate id registration fixed to avoid possible pre-arm failure530- Logging to flash timestamp fix531- OSD displays ESC temp instead of motor temp532- PID controller error calculation bug fix (was using target from prev iteration)533- Relay on MAIN pins fixed534------------------------------------------------------------------535Release 4.5.5 1st Aug 2024536537No changes from 4.5.5-beta2538------------------------------------------------------------------539Release 4.5.5-beta2 27 July 2024540541Changes from 4.5.5-beta15425431) Board specific enhancements and bug fixes544545- CubeRed's second core disabled at boot to avoid spurious writes to RAM546- CubeRed bootloader's dual endpoint update method fixed547------------------------------------------------------------------548Release 4.5.5-beta1 1st July 2024549550Changes from 4.5.45515521) Board specific enhancements and bug fixes553554- fixed IOMCU transmission errors when using bdshot555- update relay parameter names on various boards556- add ASP5033 airspeed in minimal builds557- added RadiolinkPIX6558- fix Aocoda-RC H743Dual motor issue559- use ICM45686 as an ICM20649 alternative in CubeRedPrimary5605612) System level minor enhancements and bug fixes562563- correct use-after-free in script statistics564- added arming check for eeprom full565- fixed a block logging issue which caused log messages to be dropped566- enable Socket SO_REUSEADDR on LwIP567- removed IST8310 overrun message568- added Siyi ZT6 support569- added BTFL sidebar symbols to the OSD570- added CRSF extended link stats to the OSD571- use the ESC with the highest RPM in the OSD when only one can be displayed572- support all Tramp power levels on high power VTXs573- emit jump count in missions even if no limit574- improve the bitmask indicating persistent parameters on bootloader flash575- fix duplicate error condition in the MicroStrain75765773) AHRS / EKF fixes578579- fix infinite climb bug when using EK3_OGN_HGT_MASK5805814) Plane specific changes582583- fix rangefinder correction when terrain following is off584- correct description of MIN_GROUNDSPEED parameter585- correct Q_TRIM_PITCH description586- ensure the dshot type gets set at startup5875885) Other minor enhancements and bug fixes589590- specify pymonocypher version in more places591- added DroneCAN dependencies to custom builds592593------------------------------------------------------------------594Release 4.5.4 12th June 2024595596Changes from 4.5.3597598Disable highres IMU sampling on ICM42670 fixing an issue on some versions of Pixhawk6X599600------------------------------------------------------------------601Release 4.5.3 28th May 2024602603No changes from 4.5.3-beta1604------------------------------------------------------------------605Release 4.5.3-beta1 16th May 2024606607Changes from 4.5.26086091) Board specific enhancements and bug fixes610611- correct default GPS port on MambaH743v4612- added SDMODELV2613- added iFlight Blitz H7 Pro614- added BLITZ Wing H743615- added highres IMU sampling on Pixhawk6X6166172) System level minor enhancements and bug fixes618619- fixed rare crash bug in lua scripting on script fault handling620- fixed Neopixel pulse proportions to work with more LED variants621- fixed timeout in lua rangefinder drivers622- workaround hardware issue in IST8310 compass623- allow FIFO rate logging for highres IMU sampling6246253) Plane specific changes626627- fixed cancelling of FWD_GAIN setting for tiltrotors628629------------------------------------------------------------------630Release 4.5.2 14th May 2024631632No changes from 4.5.2-beta1633------------------------------------------------------------------634Release 4.5.2-beta1 29th April 2024635636Changes from 4.5.16376381) Board specific enhancements and bug fixes639640- FoxeerF405v2 support641- iFlight BLITZ Mini F745 support642- Pixhawk5X, Pixhawk6C, Pixhawk6X, Durandal power peripherals immediately at startup6436442) System level minor enhancements and bug fixes645646- Camera lens (e.g. RGB, IR) can be selected from GCS or during missions using set-camera-source647- Crashdump pre-arm check added648- Gimbal gets improved yaw lock reporting to GCS649- Gimbal default mode fixed (MNTx_DEFLT_MODE was being overriden by RC input)650- RM3100 compass SPI bus speed reduced to 1Mhz651- SBUS output fix for channels 1 to 8 also applying to 9 to 16652- ViewPro gimbal supports enable/disable rangefinder from RC aux switch653- Visual Odometry delay fixed (was always using 1ms delay, see VISO_DELAY_MS)654- fixed serial passthrough to avoid data loss at high data rates6556563) AHRS / EKF fixes657658- Compass learning disabled when using GPS-for-yaw659- GSF reset minimum speed reduced to 1m/s (except Plane which remains 5m/s)660- MicroStrain7 External AHRS position quantization bug fix661- MicroStrain7 init failure warning added662- MicroStrain5 and 7 position and velocity variance reporting fix6636644) Plane specific changes665666- Drop min Q_TRANSITION_MS to 500ms667- FBWB/CRUISE missing zero crossing of elevator input fix668- PTCH_LIM_MIN_DEG param units fixed to be deg6696705) Other minor enhancements and bug fixes671672- DDS_UDP_PORT parameter renamed (was DDS_PORT)673- Harmonic Notch bitmask parameter conversion fix (see INS_HNTCH_HMNCS)674675Release 4.5.1 8th April 2024676----------------------------677678This release fixes a critical bug in the CRSF R/C protocol parser that679can lead to a handfault and a vehicle crashing. A similar fix was680applied to the GHST protocol, although we believe that GHST could not681be affected by the bug, so this was just a precaution.682683There are no other changes in this release.684685Release 4.5.0 2nd April 2024686----------------------------687688No changes from beta4689690Release 4.5.0-beta4 22nd March 2024691-----------------------------------692693Changes from 4.5.0-beta36946951) system changes696697- fixed a cache corruption issue with microSD card data on H7 based boards698- rename parameter NET_ENABLED to NET_ENABLE699- fixed FDCAN labels for adding new H7 boards700- avoid logging dma.txt to save CPU701- fixed roll/pitch in viewpro driver702- added band X in VideoTX703- fixed quaternion attitude reporting for Microstrain external AHRS704- add RPLidarC1 proximity support7057062) new boards707- added MicoAir405v2708- add Orqa F405 Pro7097103) plane specific changes711- fixed flare on TVBS quadplanes with throttle stick input712713714Release 4.5.0-beta3 14th March 2024715-----------------------------------716717Changes from 4.5.0-beta27187191) Board specific changes720- added PixFlamingo F7 board721- support ICM42688 on BlitzF745AIO722- fixed IMU orientation of CubeRedSecondary723- enable all FPV features on SpeedyBeeF405WING7247252) System level changes726727- improved robustness of CRSF parser728- reduced memory used by DDS/ROS2729- added filesystem crc32 binding in lua scripting730- support visual odometry quality metric and added autoswitching lua script731- allow for expansion of fence storage to microSD for larger pologon fences732- allow FTP upload of fence and rally points733- fixed vehicle type of ship simulation for ship landing734- make severity level depend on generator error level in IE 2400 generator735- speed up initial GPS probe by using SERIALn_BAUD first736- allow NanoRadar radar and proximity sensor to share the CAN bus737- added MR72 CAN proximity sensor738- only produce *_with_bl.hex not *.hex in builds if bootloader available739- fixed check for GPS antenna separation in moving baseline yaw740- added GPS_DRV_OPTIONS options for fully parsing RTCMv3 stream741- fixed logging of RTCM fragments in GPS driver742- fixed video recording while armed743- robostness and logging improvements for ExternalAHRS744- fixed RPM from bdshot on boards with IOMCU745- fixed accel cal simple to remove unused IMUs7467473) Plane specific changes748- added support for precision landing of quadplanes749- fixed speed tuning of fixed wing aircraft without an airspeed sensor750- improved pitch control in high speed VTOL flight751- added TECS option for rapid descent in fixed wing aircraft752753Release 4.5.0-beta2 14th February 2024754--------------------------------------755756Changes from 4.5.0-beta1:7577581) New Autopilots supported759- YJUAV_A6Ultra760- AnyLeaf H77617622) System level changes763- fixed float rounding issue in HAL_Linux millis and micros functions764- fixed loading of defaults.parm parameters for dynamic parameter subtrees765- fixed discrimination between GHST and CRSF protocols766- fixed bug in DroneCAN packet parsing for corrupt packets that could cause a crash767- fixed handling of network sockets in scripting when used after close768- fixed bit timing of CANFD buses7697703) Plane specific changes771- fixed handling of force arming when safety is enabled for VTOL motor state7727734) Camera and gimbal enhancements774- wait for non-zero camera version in SIYI driver7757765) Miscellaneous777- do relay parameter conversion for parachute parameters if ever has been used778- broaden acceptance criteria for GPS yaw measurement for moving baseline yaw779780781Release 4.5.0-beta1 30th January 2024782-------------------------------------783784Changes from 4.4.47857861) New autopilots supported787- ACNS-F405AIO788- Airvolute DCS2 onboard FMU789- Aocoda-RC-H743Dual790- BrainFPV RADIX 2 HD791- CAN-Zero792- CM4Pilot793- CubeRed794- Esp32-tomte76, esp32nick, esp32s3devkit795- FlyingMoonH743796- Flywoo F405 Pro797- FlywooF405S-AIO with alternative IMUs798- Here4 GPS as flight controller799- Holybro 6X revision 6800- Holybro6X-45686 with 3x ICM45686 IMUs801- JAE JFB110802- KakuteH7 using ICM42688803- PixFlamingo (uses STM32L4PLUS CPU)804- PixPilot-C3805- PixSurveyA1-IND806- QiotekAdeptF407807- Sierra TrueNavIC808- SPRacing H7RF809- SW-Nav-F405810- YJUAV_A6811- YJUAV_A6SE, YJUAV_A6SE_H743 Plane8122) Autopilot specific changes813- 1MB boards lose features to save flash (Payload Place, some battery monitors, NMEA Output, bootloaders, Turtle mode)814- CubeOrangePlus supports IMU high resolution sampling (works with ICM42688, ICM42652, ICM42670, ICM45686 IMUs)815- F4 processors with only 1 IMU gain Triple Harmonic Notch support816- F765-SE bdshot support on 1st 4 pin817- F7 and H7 boards lose DMA on I2C ports (not required, limited DMA better used elsewhere)818- FlyingMoonH743, FlyingMoonF427 2nd and 3rd IMU order swapped819- HEEWING-F405 supports CRSF820- MatekL431-RC bootloader added, DMA used for RC and GPS821- PH4-mini, PH4-mini-bdshot, Swan-K1 and TBS-Colibri-F7 BRD_SER4_RTSCTS param conflict fixed822- Pixhawk6C supports BMI088 baro823- TMotorH743, Heewing-F405 serial parameter definitions fixed8243) AHRS/EKF enhancements and fixes825- AHRS_OPTIONS supports disabling fallback to DCM826- BARO_ALT_OFFSET slews more slowly (was 20sec, now 1min)827- EKF2 removed (can be re-enabled with Custom build server)828- External AHRS support for multiple GPSs829- InertialLabs INS-U external AHRS support830- Lord external AHRS renamed to MicroStrain5831- MAV_CMD_EXTERNAL_POSITION_ESTIMATE supports setting approximate position during dead-reckoning832- Microstrain7 (aka 3DM-QG7) external AHRS support8334) Driver enhancements834- 3DR Solo supports up to 6S batteries835- Airspeed health checks vs GPS use 3D velocity836- BDshot on the first four channels of boards with F103-based IOMCUs (e.g. Pixhawk 6X)837- Dshot on all IOMCU channels on all boards with an IOMCU (e.g. all CubePilot autopilots)838- Dshot commands (e.g. motor reversal abd beeps) and EDT supported on IOMCU839- DroneCAN battery monitors calculate consumed energy if battery doesn't provide directly840- DroneCAN RC and Ghost RC protocol support841- EFI MAVLink driver842- Extended DShot Telemetry support (requires BLHeli32 ver 32.10 or BlueJay, set SERVO_DSHOT_ESC=3 or 4)843- GPS L5 band health override to enable L5 signal use (see GPS_DRV_OPTIONS)844- GPS-for-yaw works at lower update rate (3hz minimum)845- GSOF GPS supports GPS_COM_PORT parameter846- Hirth ICEngine support847- ICE option to enable/disable starting while disarmed848- ICE support for starter via relay849- IMUDATA serial protocol outputs raw IMU data on serial port (only available using custom build server)850- Innomaker LD06 360deg lidar support851- Intelligent Energy fuel cells new protocol support852- IRC Tramp supports 1G3 bands A and B853- IRC Ghost support854- JAE JRE-30 radar855- KDECAN driver rewrite (params moved to KDE_, works on all vehicles)856- MCP9601 temperature sensor support857- NanoRadar NRA24 rangefinder support858- NeoPixelsRGB support859- NoopLoop TOFSense, TOFSenseF-I2c rangefinder support860- OSD shows flashing horizon when inverted861- OSD2 support (e.g. second OSD)862- QMC5883P compass support863- Relay refactored to support RELAYx_FUNCTION, RELAY_STATUS message support added864- Reventech fuel level support (extends existing analog driver, see BATT_FL_xx parameters)865- RPLidarS1 360 deg lidar support and improved reliability for all RPLidars866- SBF GPS supports yaw from dual antennas867- Temperature sensor using analog voltages supported868- Trimble PX-1 support added as a GPS869- Winch driver enhancements including stuck protection, option for spin-free on startup8705) Control and navigation changes and enhancements871- Auto missions can always be cleared while disarmed (would fail if mission still running)872- DO_ENGINE_CONTROL allows starting engine even when disarmed873- DO_SET_MISSION_CURRENT command can reset mission (see Reset Mission field)874- DO_SET_SERVO, DO_REPEAT_SERVO work with servo outputs set to RCInxScaled875- Fractional Loiter Turn Support in missions876- HarmonicNotch supports up to 16 harmonics877- JUMP command sends improved text msg to pilot (says where will jump to)878- MAV_CMD_AIRFRAME_CONFIGURATION can control landing gear on all vehicles879- MOT_OPTIONS allows voltage compensation to use raw battery voltages (instead of current corrected voltage)880- PID controllers get DFF/D_FF (derivative feed-forward), NTF (target notch filter index) and NEF (error notch filter index)881- PID controllers get PDMX param to limit P+D output (useful for large vehicles and/or slow actuators)882- PID notch filter configured via new filter library using FILT parameters883- VTOLs send ATTITUDE_TARGET messages to GCS8846) Plane specific enhancements885- AUTOTUNE_OPTIONS allows disabling filter updates886- Harmonic Notch frequencies can be logged at full rate887- L1 controller checks heading and ground track agree to improve strong headwind edge case888- Land airspeed default is halfway between min and cruise889- LoiterAltQLand mode re-uses Loiter point if available890- AUTO mode landing abort aux switch renamed891- Q_M_SPOOL_TIM_DN allows slower spool down of motors892- Quadplane use of forward throttle in VTOL modes improved893- Tailsitters use motor I term for pitch control if no pitch surfaces are setup894- Takeoff mode holds down elevator on taildraggers895- Transition time may be no less than 2 seconds (see TRANSITION_MS)896- VTOL angle controller gets feed-forward scaling (see Q_OPTIONS)8977) Parameters renamed and rescaled898- COMPASS_TYPEMASK renamed to COMPASS_DISBLMSK899- SYS_NUM_RESETS replaced by STAT_BOOTCNT900- AIRSPEED_CRUISE replaces TRIM_ARSPD_CM901- AIRSPEED_MIN replaces ARSPD_FBW_MIN902- AIRSPEED_MAX replaces ARSPD_FBW_MAX903- CRUISE_ALT_FLOOR replaces ALT_HOLD_FBWCM904- LAND_FINAL_SPD replaces LAND_SPEED905- LAND_PITCH_DEG replaces LAND_PITCH_CD906- MIN_GROUNDSPEED replaces MIN_GNDSPD_CM907- PTCH_LIM_MAX_DEG replaces LIM_PITCH_MAX908- PTCH_LIM_MIN_DEG replaces LIM_PITCH_MIN909- PTCH_TRIM_DEG replaces TRIM_PITCH_CD910- Q_LAND_FINAL_SPD replaces Q_LAND_SPEED911- Q_PILOT_ACCEL_Z replaces Q_ACCEL_Z912- Q_PILOT_SPD_UP replaces Q_VELZ_MAX913- Q_PILOT_SPD_DN replaces Q_VELZ_MAX_DN914- ROLL_LIMIT_DEG replaces LIM_ROLL_CD915- RTL_ALTITUDE replaces ALT_HOLD_RTL9168) ROS2 / DDS support917- Added support for EProsima MicroXRCEDDS as a transport in SITL and hardware918- Added sensor data topic support such as NavSatStatus and BatteryState919- Added a new AP_ExternalControl library for generic control support in SI units920- Added support for building ArduPilot with the colcon build system921- Added high level goal interface (waypoints) similar to MAVLink global position922- DDS topics comply with ROS REP-147923- Added Gazebo Garden and Gazebo Harmonic simulation with examples924- Added support for ROS 2 services such as Arm and Mode control925- Added high level goal interface for waypoints926- Wiki updated to support ROS 2927- Added ROS 2 launch scripts for SITL, MAVProxy and micro-ROS agent928- Add pytests for DDS client and ROS 2 launch scripts and integrate into CI9299) Camera and gimbal enhancements930- Calculates location where camera gimbal is pointing (see CAMERA_FOV_STATUS)931- CAMx_MNT_INST allows specifying which mount camera is in932- Camera lens (e.g. live video stream) selectable using RC aux function933- Interval timer (for taking pictures at timed intervals)934- Image tracking support (ViewPro only)935- MAVLink Gimbal Protocol v2 support for better GCS integration936- MNTx_SYSID_DFLT allows easier pointing gimbal at another vehicle937- MOUNT_CONTROL, MOUNT_CONFIGURE messages deprecated938- RangeFinder support (only logged, only supported on Siyi, Viewpro)939- Pilot's RC input re-takes manual control of gimbal (e.g. switches to RC_TARGETING mode)940- Siyi driver gets Zoom control, sends autopilot attitude and time (reduces leans)941- Video recording may start when armed (see CAMx_OPTIONS)942- ViewPro driver (replaces equivalent Lua driver)943- Xacti camera gimbal support944- Zoom percentage support (for both missions and GCS commands)94510) Logging and reporting changes946- Battery logging (e.g. BAT) includes health, temperature, state-of-health percentage947- CAM and MNT messages contain camera gimbal's desired and actual angles948- CTUN includes airspeed estimate type (e.g. sensor, EKF3 estimate)949- INS_RAW_LOG_OPT allows raw, pre-filter and post-filter sensor data logging (alternative to "batch logging", good for filtering analysis)950- PID logging gets reset and I-term-set flags951- Rangefinder logging (e.g. RFND) includes signal quality952- RC aux functions sorted alphabetically for GCS953- RC logging (RCI, RCI2) include valid input and failsafe flags954- RTK GPS logging includes number of fragments used or discarded955- TEC2 provides extended TECS controller logging956- TSIT provides tail sitter speed scaling values95711) Scripting enhancements958- Autopilot reboot support959- Baro, Compass, IMU, IOMCU health check support960- Battery cell voltage bindings961- Battery driver support962- BattEsimate.lua applet estimates SoC from voltage963- Camera and Mount bindings improved964- CAN input packet filtering reduces work required by Lua CAN drivers965- DJI RS2/RS3 gimbal driver supports latest DJI firmware version (see mount-djirs2-driver.lua)966- EFI drivers for DLA serial, InnoFlight Inject EFI driver967- EFI bindings improved968- Fence support969- Generator drivers for Halo6000, Zhuhai SVFFI970- GCS failsafe support971- Hobbywing_DataLink driver (see Hobbywing_DataLink.lua)972- is_landing, is_taking_off bindings973- led_on_a_switch.lua sets LED brightness from RC switch974- MAVLink sending and receiving support975- Mission jump_to_landing_sequence binding976- mount-poi.lua upgraded to applet, sends better feedback, can lock onto Location977- Networking/Ethernet support978- Plane dual-aircraft synchronised aerobatics979- Proximity driver support980- Rangefinder drivers can support signal quality981- revert_param.lua applet for quickly reverting params during tuning982- RockBlock.lua applet supports setting mode, fix for battery voltage reporting983- Serial/UART reading performance improvement using readstring binding984- sport_aerobatics.lua rudder control fixed985- Thread priority can be set using SCR_THD_PRIORITY (useful for Lua drivers)986- Wind alignment and head_wind speed bindings98712) Safety related enhancements and fixes988- Advanced GCS failsafe action to switch to Auto mode989- Advanced GCS failsafe timeout configurable (see AFS_GCS_TIMEOUT)990- Arm in AUTO/TAKEOFF modes only after stick returns to center991- Arm/Disarmed GPIO may be disabled using BRD_OPTIONS992- Arming allowed with Fence enabled but without a compass (previously failed)993- Arming check of compass vs world magnetic model to detect metal in ground (see ARMING_MAGTHRESH)994- Arming check of GPIO pin interrupt storm995- Arming check of Lua script CRC996- Arming check of mission loaded from SD card997- Arming check of Relay pin conflicts998- Arming check to allow Tricopter-Plane with no yaw servo999- Arming check of emergency stop skipped if emergency stop aux function configured1000- Arming failures reported more quickly when changing from success to failed1001- ARMING_OPTIONS allows supressing "Armed", "Disarmed" text messages1002- BRD_SAFETY_MASK extended to apply to CAN ESCs and servos1003- Buzzer noise for gyro calibration and arming checks passed1004- FENCE_OPTIONS supports union OR intersection of all polygon fences1005- FLTMODE_GCSBLOCK blocks GCS from changing vehicle to specified modes1006- Long failsafe action to switch to Auto mode (see FS_LONG_ACTN)1007- Main loop lockup recovery by forcing mutex release (only helps if caused by software bug)1008- Parachute releases causes disarm and ICE shutoff1009- Rally points supports altitude frame (AMSL, Relative or Terrain)1010- RC failsafe does not trigger until RC has been received at least once1011- SERVO_RC_FS_MSK allows outputs using RC passthrough to move to SERVOx_TRIM on RC failsafe1012- Takeoff mode gets failsafe protections101313) System Enhancements1014- CAN port can support a second CAN protocol on the same bus (2nd protocol must be 11 bit, see CAN_Dn_PROTOCOL2)1015- CAN-FD support (allows faster data transfer rates)1016- Crash dump info logged if main thread locksup (helps with root cause analysis)1017- Ethernet/Networking support for UDP and TCP server and client (see NET_ENABLED) and PPP (see SERIALx_PROTOCOL)1018- Firmware flashing from SD card1019- Linux board SBUS input decoding made consistent with ChibiOS1020- Linux boards support DroneCAN1021- Parameter defaults stored in @ROMFS/defaults.parm1022- SD Card formatting supported on all boards1023- Second USB endpoint defaults to MAVLink (instead of SLCAN) except on CubePilot boards1024- Serial over DroneCAN (see CAN_D1_UC_SER_EN) useful for configuring F9P DroneCAN GPSs using uCenter102514) Custom Build server include/exclude features extended to include1026- APJ Tools1027- Bootloader flashing1028- Button1029- Compass calibration1030- DroneCAN GPS1031- ExternalAHRS (e.g. MicroStrain, Vectornav)1032- Generator1033- Highmark Servo1034- Hobbywing ESCs1035- Kill IMU1036- Payload Place1037- Plane BlackBox arming allows Plane to be used as logger (see ARMING_BBOX_SPD)1038- Plane's TX Tuning1039- Precision landing1040- Proximity sensor1041- RC Protocol1042- Relay1043- SBUS Output1044- ToneAlarm1045- Winch104615) Developer specific items1047- ChibiOS upgrade to 21.111048- UAVCAN replaced with DroneCAN1049- AUTOPILOT_VERSION_REQUEST message deprecated (use REQUEST_MESSAGE instead)1050- PREFLIGHT_SET_SENSOR_OFFSETS support deprecated (was unused by all known ground stations)1051- MISSION_SET_CURRENT message deprecated (use DO_SET_MISSION_CURRENT command instead)1052- MISSION_CURRENT message sends num commands and stopped/paused/running/complete state1053- Python version requirement increased to 3.6.91054- mavlink_parse.py shows all suported mavlink messages1055- COMMAND_INT messages can be used for nearly all commands (previously COMMAND_LONG)105616) Bug fixes:1057- 3DR Solo gimbal mavlink routing fixed1058- Airbrakes auxiliary function fixed1059- Airspeed health always checked before use (may not have been checked when using "affinity")1060- always ignore invalid pilot input throttle1061- Bootloop fixed if INS_GYRO_FILTER set too high1062- Button Internal Error caused by floating pin or slow device power-up fixed1063- CAN Compass order maintained even if compass powered up after autopilot1064- Compass device IDs only saved when calibrated to ensure external compasses appear as primary on new boards1065- Cruise mode locks in heading only once moving forwards (improves VTOL transition reliability in high winds)1066- Currawong ECU EFI does not send exhaust gas temperature1067- DO_REPOSITION interprets NaN as zero1068- DCM fallback in order to get better GPS is disabled if GPS is not used1069- DJI RS2/RS3 gimbal reported angle fix1070- DO_SET_ROI, ROI_LOCATION, ROI_NONE bug fix that could lead to gimbal pointing at old target1071- Fix throttle going bellow min in fbwa RC failsafe1072- Generator parameter init fix (defaults might not always have been loaded correctly)1073- GPS_TC_BLEND parameter removed (it was unused)1074- Ground speed undershoot correction during loss of GPS fixed1075- Guided mode heading control anti windup fix1076- Harmonic Notch gets protection against extremely low notch filter frequencies1077- Home altitude change while navigating handled correctly (previously led to sudden demanded height change)1078- IE 650/800 Generators report fuel remaining1079- INS calibration prevents unlikely case of two calibrations running at same time1080- LPS2XH Baro supported over I2C fixed1081- MatekH743 storage eeprom size fixed1082- MAVLink routing fix to avoid processing packet meant for another vehicle1083- Mount properly enforces user defined angle limits1084- MPU6500 IMU filter corrected to 4k1085- nav_roll (aka target roll) calculation improved1086- NMEA output time and altitude fixed1087- OSD gets labels for all supported serial protocols1088- OSD RF panel format fixed1089- Reset mission if in landing sequence while also disarmed and on the ground (avoids pre-arm check)1090- RTL_AUTOLAND with rally points fix (could skip climb to rally point's altitude)1091- RobotisServo initialisation fix1092- RPM accuracy and time wrap handling improved1093- Sagetech ADSB MXS altitude fix (needs amsl, was sending alt-above-terrain)1094- SageTechMXS ADSB climb rate direction fixed1095- SBUS out exactly matches SBUS in decoding1096- Serial port RTS pins default to pulldown (SiK radios could getting stuck in bootloader mode)1097- SERIALx_ parameters removed for ports that can't actually be used1098- Servo gimbal attitude reporting fix1099- Servo output fix when using scaled RC passthrough (e.g. SERVOx_FUNCTION = RCinXScaled)1100- Siyi continuous zoom stutter fixed1101- Siyi gimbal upside-down mode fixed (avoid bobbing if upside-down)1102- TECS's max deceleration scales properly with vehicle velocity1103- ST24 RC protocol fixed1104- STM32L496 CAN2 init fix (AP_Periph only?)1105- VFR_HUD climb rate reports best estimate during high vibration events (previously it would stop updating)1106- Visual Odometry healthy check fix in case of out-of-memory1107- VTX_MAX_POWER restored (allows setting radio's power)11081109Release 4.4.4 19th December 20231110--------------------------------11111112Changes from 4.4.3:11131114- CubeOrange Sim-on-hardware compilation fix1115- RADIX2HD supports external I2C compasses1116- SpeedyBeeF405v4 support1117- DroneCAN battery monitor with cell monitor SoC reporting fix1118- ProfiLED output fixed in both Notify and Scripting1119- NTF_LED_TYPES parameter description fixed (was missing IS31FL3195)1120- Scripting bug that could cause crash if parameters were added in flight1121- STAT_BOOTCNT param fix (was not updating in some cases)1122- don't query hobbywing DroneCAN ESC IDs while armed1123- clamp empy version to prevent build errors11241125Release 4.4.3 14th November 20231126--------------------------------11271128Changes from 4.4.2:11291130- fixed setup of ICM45486 IMU on CubeOrangePlus-BG edition1131- disable AFSR on IxM42xxx IMUs to prevent gyro bias for "stuck" gyros1132- fixed AK09916 compass being non-responsive1133- implement GPS_DRV_OPTION for using ellipsoid height in more GPS drivers1134- fixed SIYI AP_Mount parsing bug1135- configuration fixes for BETAFTP-F405 boards1136- fixed origin versus home relative bug in quadplane landing and guided takeoff1137- correct mavlink response for no airspeed sensor on preflight calibration1138- protect against notch filtering with uninitialised RPM source in ESC telemetry1139- allow lua scripts to populate full ESC telemetry data1140- added YJUAV_A6SE_H743 support1141- fixed uBlox M10 GPS support on boards with 1M flash11421143Release 4.4.2 23th October 20231144-------------------------------11451146Changes from 4.4.111471148- BETAFPV-F405 support1149- MambaF405v2 battery and serial setup corrected1150- mRo Control Zero OEM H7 bdshot support1151- SpeedyBee-F405-Wing gets VTX power control1152- SpeedyBee-F405-Mini support1153- T-Motor H743 Mini support1154- EKF3 supports baroless boards1155- INA battery monitor supports config of shunt resistor used (see BATTx_SHUNT)1156- BMI088 IMU error value handling fixed to avoid occasional negative spike1157- Dev environment CI autotest stability improvements1158- OSD correct DisplayPort BF MSP symbols1159- OSD option to correct direction arrows for BF font set1160- Sensor status reporting to GCS fixed for baroless boards1161- added opendroneid option to auto-store IDs in persistent flash1162- fixed TECS bug that could cause inability to climb or descend1163- fixed race condition when starting TECS controlled mode1164- fixed RTL with rally point and terrain follow1165- protect against invalid data in SBUS for first 4 channels1166- added build type to VER message1167- allow moving baseline rover at 3Hz1168- use RC deadzones in stick mixing116911701171Release 4.4.1 26th September 20231172---------------------------------11731174No changes from beta211751176Release 4.4.1-beta2 12th September 20231177--------------------------------------11781179Changes from 4.4.1-beta111801181- Airbotf4 features minimised to build for 4.41182- ChibiOS clock fix for 480Mhz H7 boards (affected FDCAN)1183- H750 external flash optimisations for to lower CPU load1184- MambaF405Mini fixes to match manufacturer's recommended wiring1185- RADIX2 HD support1186- RPI hardware version check fix1187- YJUAV_A6SE support11881189Release 4.4.1-beta1 5th September 20231190--------------------------------------11911192Changes from 4.4.111931194- support Himark DroneCAN servos1195- support Hobbywing DroneCAN ESCs1196- fixed control surface deflection on quadplanes in VTOL takeoff wait1197- fixed bug in parameter default handling in SITL1198- allow selection of mission sdcard storage on custom.ardupilot.org1199- added support for SDMODELH7V11200- fixed battery monitor default for QiotekZealotF427 and QiotekZealotH7431201- support 8 bit directional dshot channels on KakuteH7-wing1202- improved handling of high vibration in EKF3 with new EK3_GLITCH_RADIUS options1203- allow reset of battery SoC for DroneCAN battery monitors1204- update GPIOs for Navigator board in HAL_Linux1205- pull RTS lines low on Pixhawk6C on startup1206- added log_file_content in scripting for aerobatics1207- added asymmetry factor for skid steering on rovers1208- updated defaults for luminousbee5 boards12091210Happy flying!12111212Release 4.4.0 18th August 20231213------------------------------12141215No changes from beta512161217Release 4.4.0-beta5 11th August 20231218------------------------------------12191220Changes from 4.4.0-beta412211222- fixed handling of missing DroneCAN airspeed packet1223- fixed reset of target altitude in plane GUIDED mode1224- added SIYI N7 flight controller1225- fixed auto-enable of fence with forced arm1226- fixed race condition that caused notch filter gyro glitches1227- fixed bug with RTK injection for DroneCAN12281229Release 4.4.0 beta41230-------------------12311232Changes from 4.4.0-beta3123312341) flight controller specific changes1235- Diatone-Mamba-MK4-H743v2 uses SPL06 baro (was DPS280)1236- DMA for I2C disabled on F7 and H7 boards1237- Foxeer H743v1 default serial protocol config fixes1238- HeeWing-F405 and F405v2 support1239- iFlight BlitzF7 support12402) Scripts may take action based on VTOL motor loss12413) Bug fixes1242- BLHeli returns battery status requested via MSP (avoids hang when using esc-configurator)1243- CRSFv3 rescans at baudrates to avoid RX loss1244- EK3_ABIAS_P_NSE param range fix1245- Scripting restart memory corruption bug fixed1246- Siyi A8/ZR10 driver fix to avoid crash if serial port not configured12471248Release 4.4.0 beta31249-------------------12501251This is the third beta of plane 4.4.0. This includes some important1252fixes since beta2125312541) flight controller specific changes1255- Holybro KakuteH7-Wing support1256- JFB100 external watchdog GPIO support added1257- Pixhawk1-bdshot support1258- Pixhawk6X-bdshot support1259- SpeedyBeeF4 loses bdshot support126012613) Camera and Gimbal related changes1262- DO_SET_ROI_NONE command support added126312644) Bug fixes1265- ADSB sensor loss of transceiver message less spammy1266- AutoTune Yaw rate max fixed1267- EKF vertical velocity reset fixed on loss of GPS1268- GPS pre-arm failure message clarified1269- SERVOx_PROTOCOL "SToRM32 Gimbal Serial" value renamed to "Gimbal" because also used by Siyi1270- SERIALx_OPTION "Swap" renamed to "SwapTXRX" for clarity1271- SBF GPS ellipsoid height fixed1272- Ublox M10S GPS auto configuration fixed1273- ZigZag mode user takeoff fixed (users could not takeoff in ZigZag mode previously)1274- fixed memory corruption bug with scripting restart127512765) Device drivers1277- added LP5562 I2C LED driver1278- added IS31FL3195 LED driver127912806) Applet changes1281- added QUIK_MAX_REDUCE parameter to VTOL quicktune lua applet128212837) Plane specific changes1284- fixed takeoff mode to ensure climb to takeoff alt before turning1285- fixed error in quadplane wait for rudder neutral1286- improved handling of forward throttle during VTOL landing1287- fixed TECS state reset in VTOL auto modes1288- fixed early exit from loiter to alt1289- fixed display of started airspeed wait on forward transition129012911292Release 4.4.0 beta21293-------------------12941295This is the second beta of plane 4.4.0. This includes some important1296fixes since beta1.12971298The full list of changes is:12991300- added SpeedyBeeF405WING, JSB100 and FoxeerH7431301- added LOG_DISARMED=3 support and LOG_DARM_RATEMAX1302- fixed error handling for being out of memory in EKF initialisation1303- fixed a bug in RC input handling on the IOMCU1304- fixed a bug handling ICE engine start after altitude reached1305- adjust EKF3 accel bias process noise for greater robustness1306- fixed an EKF3 bug in accel bias calculations1307- cope with compassmot impacting GSF yaw numerical stability1308- fixed an AUTOTUNE/QAUTOTUNE bug in yaw tuning1309- support INA228 and INA238 I2C battery monitors1310- always log rate PID slew limiters even when slew limit is zero1311- added MambaF4050v2 for new IMU, bdshot and DMA on UART11312- update for FoxeerH743v1 GA release1313- reduced IMU init speed on MatekH7431314- move LED serial processing to its own thread1315- fixed parameter documentation for BRD_SAFETYOPTION1316- don't reject airspeed using EKF innovation if dead-reckoning1317- fixed USB pass-thru on 2nd USB endpoint13181319Release 4.3.7 31st May 20231320---------------------------13211322This stable release is for the 4.3.x stable series and is being done1323because of a serious bug that has been found with RC input on boards1324that use an IOMCU for RC input (boards with a separate set of 8 "main"1325outputs from "aux" outputs).13261327The bug was that when RC input is lost and the receiver is one that1328uses "no pulses" for loss of RC input then there is a chance that when1329the RC link is regained that ArduPilot will not regain RC control and1330will continue in RC failsafe.13311332The bug is an old one, first introduced in the 4.0.6 release in1333September 2020. The bug does not occur often which is why it has been1334such a long time before it was noticed. We would like to thank CUAV1335for noticing and reporting the bug!13361337This release also has some other changes, some of which are to sync1338with the Copter 4.3.6 release (which will go to 4.3.7 with this RC1339input bug fix) and some are other bugs found since the 4.3.5 plane1340release.13411342This release skips the 4.3.6 number to sync with copter.13431344The full list of changes is:13451346- fixed a fault in the INS batch sampler code if you change the INS_LOG_BAT_CNT parameter without rebooting1347- fixed the RC input on IOMCU bug explained above1348- fixed a bug in ICE engine control if you do a "delay engine start" mission command while flying1349- added MCU voltage monitoring for the H757 microcontroller (eg. CubeOrangePlus)1350- servo gimbal mount yaw handling fix (only affects 3-axis servo gimbals)1351- PiccoloCAN fix for ESC voltage and current scaling1352- Gremsy gimbal fix when attached to autopilot's serial3 (or higher)1353- added CubeOrangePlus-bdshot build1354- fixed a bug in handling bad UART data in the megasquirt serial EFI driver1355- added -g option for configuring with debug symbols without full debug (helped with RCIN bug diagnosis)1356- fixed airmode switch for QACRO and QSTABILIZE modes1357- fixed a rare memory corruption bug in the STM32H7571358- fixed an EKF3 bug in accel bias calculations1359- adjust EKF3 accel bias process noise for greater robustness1360- cope with compassmot impacting GSF yaw numerical stability136113621363Please test and report any issues!13641365Release 4.4.0 beta11366-------------------13671368This is the first beta of plane 4.4.0. It is a big release with lots1369of changes. Many thanks to all the people who have contributed!137013711) New autopilots supported1372- ESP321373- Flywoo Goku F405S AIO1374- Foxeer H743v11375- MambaF405-2022B1376- PixPilot-V31377- PixSurveyA21378- rFCU H7431379- ThePeach K1/R1138013812) Autopilot specific changes1382- Bi-Directional DShot support for CubeOrangePlus-bdshot, CUAVNora+, MatekF405TE/VTOL-bdshot, MatekL431, Pixhawk6C-bdshot, QioTekZealotH743-bdshot1383- Bi-Directional DShot up to 8 channels on MatekH7431384- BlueRobotics Navigator supports baro on I2C bus 61385- BMP280 baro only for BeastF7, KakuteF4, KakuteF7Mini, MambaF405, MatekF405, Omnibusf4 to reduce code size (aka "flash")1386- CSRF and Hott telemetry disabled by default on some low power boards (aka "minimised boards")1387- Foxeer Reaper F745 supports external compasses1388- OmnibusF4 support for BMI270 IMU1389- OmnibusF7V2-bdshot support removed1390- KakuteF7 regains displayport, frees up DMA from unused serial port1391- KakuteH7v2 gets second battery sensor1392- MambaH743v4 supports VTX1393- MatekF405-Wing supports InvensenseV3 IMUs1394- PixPilot-V6 heater enabled1395- Raspberry 64OS startup crash fixed1396- ReaperF745AIO serial protocol defaults fixed1397- SkystarsH7HD (non-bdshot) removed as users should always use -bdshot version1398- Skyviper loses many unnecessary features to save flash1399- UBlox GPS only for AtomRCF405NAVI, BeastF7, MatekF405, Omnibusf4 to reduce code size (aka "flash")1400- VRBrain-v52 and VRCore-v10 features reduced to save flash140114023) Driver enhancements1403- ARK RTK GPS support1404- BMI088 IMU filtering and timing improved, ignores bad data1405- CRSF OSD may display disarmed state after flight mode (enabled using RC_OPTIONS)1406- Daiwa winch baud rate obeys SERIALx_BAUD parameter1407- EFI supports fuel pressure and ignition voltage reporting and battery failsafe1408- ICM45686 IMU support1409- ICM20602 uses fast reset instead of full reset on bad temperature sample (avoids occasional very high offset)1410- ICM45686 supports fast sampling1411- MAX31865 temp sensor support1412- MB85RS256TY-32k, PB85RS128C and PB85RS2MC FRAM support1413- MMC3416 compass orientation fix1414- MPPT battery monitor reliability improvements, enable/disable aux function and less spammy1415- Multiple USD-D1-CAN radar support1416- NMEA output rate configurable (see NMEA_RATE_MS)1417- NMEA output supports PASHR message (see NMEA_MSG_EN)1418- OSD supports average resting cell voltage (see OSD_ACRVOLT_xxx params)1419- Rockblock satellite modem support1420- Serial baud support for 2Mbps (only some hardware supports this speed)1421- SF45b lidar filtering reduced (allows detecting smaller obstacles1422- SmartAudio 2.0 learns all VTX power levels)1423- UAVCAN ESCs report error count using ESC Telemetry1424- Unicore GPS (e.g. UM982) support1425- VectorNav 100 external AHRS support1426- 5 IMUs supported142714284) EKF related enhancements1429- Baro compensation using wind estimates works when climbing or descending (see BAROx_WCF_UP/DN)1430- External AHRS support for enabling only some sensors (e.g. IMU, Baro, Compass) see EAHRS_SENSORS1431- Magnetic field tables updated1432- Non-compass initial yaw alignment uses GPS course over GSF (mostly affects Planes and Rover)143314345) Control and navigation enhancements1435- AutoTune of attitude control yaw D gain (set AUTOTUNE_AXES=8)1436- DO_SET_ROI_NONE command turns off ROI1437- JUMP_TAG mission item support1438- Missions can be stored on SD card (see BRD_SD_MISSION)1439- NAV_SCRIPT_TIME command accepts floating point arguments1440- Pause/Resume returns success if mission is already paused or resumed1441- Payload Place support via lua script in quadplanes144214437) Filtering enhancements1444- FFT notch can be run based on filtered data1445- Warn of motor noise at RPM frequency using FFT1446- In-flight FFT can better track low frequency noise1447- In-flight FFT logging improved1448- IMU data can be read and replayed for FFT analysis144914508) Camera and gimbal enhancements1451- BMMCC support included in Servo driver1452- DJI RS2/RS3-Pro gimbal support1453- Dual camera support (see CAM2_TYPE)1454- Gimbal/Mount2 can be moved to retracted or neutral position1455- Gremsy ZIO support1456- IMAGE_START_CAPTURE, SET_CAMERA_ZOOM/FOCUS, VIDEO_START/STOP_CAPTURE command support1457- Parameters renamed and rescaled1458i) CAM_TRIGG_TYPE renamed to CAM1_TYPE and options have changed1459ii) CAM_DURATION renamed to CAM1_DURATION and scaled in seconds1460iii) CAM_FEEDBACK_PIN/POL renamed to CAM1_FEEBAK_PIN/POL1461iv) CAM_MIN_INTERVAL renamed to CAM1_INTRVAL_MIN and scaled in seconds1462v) CAM_TRIGG_DIST renamed to CAMx_TRIGG_DIST and accepts fractional values1463- RunCam2 4k support1464- ViewPro camera gimbal support146514669) Logging changes1467- BARO msg includes 3-axis dynamic pressure useful for baro compensation of wind estimate1468- MCU log msg includes main CPU temp and voltage (was part of POWR message)1469- RCOut banner message always included in Logs1470- SCR message includes memory usage of all running scripts1471- CANS message includes CAN bus tx/rx statistics1472- OFCA (optical flow calibration log message) units added1473- Home location not logged to CMD message1474- MOTB message includes throttle output1475147610) Scripting enhancements1477- Generator throttle control example added1478- Heap max increased by allowing heap to be split across multiple underlying OS heaps1479- Hexsoon LEDs applet1480- Logging from scripts supports more formats1481- Parameters can be removed or reordered1482- Parameter description support (scripts must be in AP's applet or driver directory)1483- Rangefinder driver support1484- Runcam_on_arm applet starts recording when vehicle is armed1485- Safety switch, E-Stop and motor interlock support1486- Scripts can restart all scripts1487- Script_Controller applet supports inflight switching of active scripts1488148911) Custom build server enhancements1490- AIS support for displaying nearby boats can be included1491- Battery, Camera and Compass drivers can be included/excluded1492- EKF3 wind estimation can be included/excluded1493- PCA9685, ToshibaLED, PLAY_TUNE notify drivers can be included/excluded1494- RichenPower generator can be included/excluded1495- RC SRXL protocol can be excluded1496- SIRF GPSs can be included/excluded1497149812) Safety related enhancements and fixes1499- "EK3 sources require RangeFinder" pre-arm check fix when user only sets up 2nd rangefinder (e.g. 1st is disabled)1500- Pre-arm check that low and critical battery failsafe thresholds are different1501- Pre-arm message fixed if 2nd EKF core unhealthy1502- Pre-arm check if reboot required to enabled IMU batch sampling (used for vibe analysis)1503150413) Minor enhancements1505- Boot time reduced by improving parameter conversion efficiency1506- BRD_SAFETYENABLE parameter renamed to BRD_SAFETY_DEFLT1507- Compass calibration auxiliary switch function (set RCx_OPTION=171)1508- Disable IMU3 auxiliary switch function (set RCx_OPTION=110)1509- MAVFTP supports file renaming1510- MAVLink in-progress reply to some requests for calibration from GCS1511151214) Bug fixes:1513- ADSB telemetry and callsign fixes1514- Battery pct reported to GCS limited to 0% to 100% range1515- Bi-directional DShot fix on H7 boards after system time wrap (more complete fix than in 4.3.6)1516- DisplayPort OSD screen reliability improvement on heavily loaded OSDs especially F4 boards1517- DisplayPort OSD artificial horizon better matches actual horizon1518- EFI Serial MS bug fix to avoid possible infinite loop1519- EKF3 Replay fix when COMPASS_LEARN=31520- ESC Telemetry external temp reporting fix1521- Fence upload works even if Auto mode is excluded from firmware1522- FMT messages logged even when Fence is exncluded from firmware (e.g. unselected when using custom build server)1523- Hardfault avoided if user changes INS_LOG_BAT_CNT while batch sampling running1524- ICM20649 temp sensor tolerate increased to avoid unnecessary FIFO reset1525- IMU detection bug fix to avoid duplicates1526- IMU temp cal fix when using auxiliary IMU1527- Message Interval fix for restoring default rate https://github.com/ArduPilot/ardupilot/pull/219471528- RADIO_STATUS messages slow-down feature never completely stops messages from being sent1529- SERVOx_TRIM value output momentarily if SERVOx_FUNCTION is changed from Disabled to RCPassThru, RCIN1, etc. Avoids momentary divide-by-zero1530- Scripting file system open fix1531- Scripting PWM source deletion crash fix1532- MAVFTP fix for low baudrates (4800 baud and lower)1533- ModalAI VOXL reset handling fix1534- MPU6500 IMU fast sampling rate to 4k (was 1K)1535- NMEA GPGGA output fixed for GPS quality, num sats and hdop1536- Position control reset avoided even with very uneven main loop rate due to high CPU load1537- Terrain offset increased from 15m to 30m (see TERRAIN_OFS_MAX) to reduce chance of "clamping"1538- Throttle notch FFT tuning param fix1539154015) Developer specific items1541- DroneCAN replaces UAVCAN1542- FlighAxis simulator rangefinder fixed1543- Scripts in applet and drivers directory checked using linter1544- Simulator supports main loop timing jitter (see SIM_TIME_JITTER)1545- Simulink model and init scripts1546- SITL on hardware support (useful to demo servos moving in response to simulated flight)1547- SITL parameter definitions added (some, not all)1548- Webots 2023a simulator support1549- XPlane support for wider range of aircraft1550155116) Plane specific changes1552- new aerobatics scripting system with flexible schedules1553- added plane-3d SITL model1554- added quadlane landing abort AUX switch1555- added TKOFF_GND_PITCH for taildragger takeoff1556- new ACRO_LOCKING=2 mode for quaternion locking with yaw rate controller1557- allow yaw rate autotune in modes other than AUTOTUNE1558- use a cone for QRTL climb close to home1559- added Y4 VTOL config for quadplanes1560- added throttle scaling for vectored yaw1561- added turn corrdination to yaw AUTOTUNE1562- added Q_OPTION for motor tilt when disarmed in fixed wing modes156315641565Release 4.3.5 26th March 20231566------------------------------15671568- fixed 32 bit microsecond wrap in BDShot code15691570This release has a single bug fix for a critical bug for anyone using1571bi-directional DShot on their vehicle. If using bi-directional DShot1572and the vehicle is running its motors when 32 bit microsecond time1573wraps at 71 minutes (or multiples of 71 minutes) then the bug that is1574fixed in this release has an approximately 1 in 3 chance of causing1575the motor to stop.15761577Note that the time is the time since boot, not the time since arming,1578so even vehicles flying for a short time could be vulnerable if they1579sit for a long time on the ground before takeoff.15801581Release 4.3.4 1st March 20231582-----------------------------15831584- support CubeOrangePlus BG edition1585- enable VTX power on MambaH743v41586- probe external compasses on Foxeer Reaper F7451587- fixed home update on bad GPS quality1588- fixed GPS unconfigured error for non-M10 uBlox GPS1589- don't allow RC protocol change on IOMCU once detected1590- fixed FBWA pitch limits when in VTOL qassist1591- fixed handling of zero compass diagonals1592- added an output buffer to MAVCAN1593- set emergency status in OpenDroneID on crash or chute deploy1594- avoid logging duplicate format messages1595- fixed bug in alt error arming check with BARO_FIELD_ELEV set1596- fixed handling of double IOMCU reset and safety disable1597- enable VTX power on MambaF405 20221598- disable PWMSource feature in lua scripts (will be back in 4.4.x)1599- fixed throttle wait on rudder arming in quadplanes1600- fixed earth frame accel compensation for AHRS_TRIM16011602Happy flying!16031604Release 4.3.3 Jan 19th 20231605---------------------------16061607- AIRLink LTE module enable pin added1608- CUAV Nora/Nora+ bdshot firmware (allows Bi-directional DShot)1609- CubeOrange, CubeYellow gets fast reset of ICM206021610- PixPilot-V6 support1611- Attitude and Navigation controllers use real-time dt (better handles variable or slow main loop)1612- Analog rangefinder GPIO pin arming check fixed1613- Arming check of AHRS/EKF vs GPS location disabled if GPS disabled1614- Position Controller limit handling improved to avoid overshooting and hard landings1615- PSC_ANGLE_MAX param reduction causing WPNAV_ACCEL to be set too low fixed1616- Servo gimbal yaw jump to opposite side fixed1617- Siyi A8 gimbal driver's record video feature fixed1618- SToRM32 serial gimbal driver actual angle reporting fixed (pitch and yaw angle signs were reversed)1619- Takeoff in Auto, Guided fixed when target altitude is current altitude1620- Takeoff in Auto handles baro drift before takeoff1621- Takeoff twitch due to velocity integrator init bug fixed1622- moved FTP MAVLink transfers to FTP thread and better control bandwidth1623- switch to QRTL if inside RTL radius when using Q_RTL_MODE=3 (approach)1624- check for 3 good frames for CRSF1625- allow for ELRS at 420kbaud1626- support MambaH743-v21627- support MambaF405-2022B1628- fixed nullptr checks on new1629- fixed a bug in terrain handling for ship landing lua script checks on new16301631Happy flying!16321633Release 4.3.2 Dec 23rd 20221634---------------------------16351636This is a minor release with bug fixes for the 4.3.x release series.16371638Changes from 4.3.1:16391640- improved uBlox M10 support1641- CubeOrange defaults to using 2nd IMU as primary1642- SIRF and SBP GPS disabled on BeastF7v2, MatekF405-STD, MAtekF405-Wing, omnibusf4pro1643- fixed loading of autotune gains during pilot testing1644- Fixed CAM_MIN_INTERVAL to cope with mission and pilot triggering1645- EKF3 fix when using EK3_RNG_USE_HGT/SPD params and rangefinder provides bad readings1646- Main loop slowdown after arming fixed (parameter logging was causing delays)1647- changed to 'fast task' scheme for critical loop updates1648- MAVLink commands received on private channels checked for valid target sysid1649- ModalAI camera support fixed (ODOMETRY message frame was consumed incorrectly)1650- Param reset after firmware load fixed on several boards1651- Siyi A8 gimbal support fixed1652- Windows builds move to compiling only 64-bit executables1653- ARKV6X support1654- MatekH743 supports 8 bi-directional dshot channels1655- Pixhawk1 boards support MS5607 baros1656- SpeedbyBee F405v3 support1657- DroneCAN Airspeed sensor support including hygrometer readings1658- Pre-arm warning if multiple UARTs with SERIALx_PROTOCOL = RCIN1659- Siyi gimbal support1660- Arm check warning loses duplicate "AHRS" prefix1661- AtomRCF405NAVI bootloader file name fixed1662- BRD_SAFETY_MASK fixed on boards with both FMU safety switch and IOMCU1663- Compass calibration continues even if a single compass's cal fails1664- Gremsy gimbal driver sends autopilot info at lower rate to save bandwidth1665- Invensense 42605 and 42609 IMUs use anti-aliasing filter and notch filter1666- OSD stats screen fix1667- RC input on serial port uses first UART with SERIALx_PROTOCOL = 23 (was using last)1668- RunCam caching fix with enablement and setup on 3-pos switch1669- RTK CAN GPS fix when GPSs conneted to separate CAN ports on autopilot1670- fixed yaw rate for fixed wing autotune16711672Release 4.3.1 24th Oct 20221673---------------------------16741675This is a minor release with some important fixes:16761677- fixed build with gcc 11.31678- fixed random number generator in lua core1679- scale VTOL angle P with airspeed in quadplane back-transiton1680- added support for implementing AUX functions in lua scripts1681- fixed BMI085 accel scaling1682- fixed KSXT NMEA parsing affecting position resolution1683- fixed race condition in TECS control leading to 'nod' in forward transiton1684- allow for expansion of notch filters to fix notch of fwd motors in quadplanes1685- added logging of TECS target alt1686- fixed EKF3 altitude discrepancy with GPS or baro alt change on startup1687- allow auto mode sequencing to land in a fence breach16881689Happy flying!16901691Release 4.3.0 9th Oct 20221692--------------------------16931694The is the first 4.3.x stable release for plane. It is a major release1695with a lot of changes since 4.2.3.16961697Changes since 4.3.0beta3:16981699- added 1M and 2M flash warning checks for for fmuv2, fmuv3 and Pixhawk1-1M firmwares1700- added support for multi-byte i2c reads in scripting17011702The change list from 4.2.3 stable is very long. Here are the main changes:17031704- fixed BRD_SAFETY_MASK for enabling outputs when safety on1705- fixed persistence of mapping of CAN airspeed sensors to instances1706- fixed precision of NMEA serial output function1707- added report of "Engine Running" when using ICE1708- fixed handling of defaults.parm files with lines over 100 chars1709- fixed handling of defaults.parm files with no newline on last line1710- fixed possible divide by zero when changing to GUIDED on quadplanes1711- fixes for VideoTX, fixing buffer overrun and tramp handling1712- fixed spurious error about sending RPM when RPM disabled1713- fixed an EKF3 lane switch issue that can cause incorrect height with dual GPS1714- fixed mission cmd to mission int initialisation error1715- fixed mission jump tracking init on startup1716- fixed OSD view roll/pitch error for tailsitters1717- added SkystarsH7HD-bdshot1718- fixed SkystarsH7HD VTX control1719- reduced memory usage on MatekF405-CAN board1720- disable SLCAN when armed to reduce CPU load1721- enable CAN battery mon on CUAV V6X by default1722- added arming check for Q_M_SPIN_MIN value too high1723- fixed reporting of RPM from harmonic notch1724- improved handling of airspeed errors and airspeed auto disable1725- fixed SERVO_AUTO_TRIM for multiple outputs of same type1726- fixed auto baud rate detection on SBF/GSOF/NOVA GPS1727- increased max board name length for mavlink statustext to 231728- fixed incorrect disable of notches for non-throttle notch1729- added notch filter slew limit to reduce notch errors1730- added ARMING_OPTIONS to control display of pre-arm errors1731- several OSD fixes for params, font and resolution1732- support PWM type transmission for CAN PWM output1733- support Currawong ECU as EFI backend1734- support lua scripts for EFI backends1735- implement SkyPower and HFE CAN EFI lua scripts1736- improved speed of log download with dataflash block backends1737- disabled all GPS drivers except uBlox and NMEA on Pixhawk1-1M to save flash1738- disabled all GPS drivers except uBlox on MatekF405-bdshot and omnibusf4pro-bdshot1739- fixed FFT indexing bug1740- added USART2 for AIRLink1741- allow reset to default airspeed using mission item DO_CHANGE_SPEED1742- added new boards AtomRCF405, KakuteH7Mini-Nand, SkystarsH7HD1743- added bi-directional dshot for several new boards1744- EK3_GPS_VACC_MAX threshold to control when GPS altitude is used as alt source1745- EKF ring buffer fix for slow sensor updates1746- EKF3 source set change captured in replay logs1747- numerous gimbal support improvements1748- improved RemoteId support1749- SecureBoot support with remote update of secure boot public keys1750- crash_dump.bin file saved to SD Card on startup (includes details re cause of software failures)1751- several new pre-arm checks (AHRS type, scripts, terrain)1752- numerous scripting improvements1753- fixed scripting restart leaking memory1754- Benewake H30 radar support1755- BMI270 IMU performance improvements1756- Logging pause with auxiliary switch1757- TeraRanger Neo rangefinder support1758- support for both AMSL and ellipsoid height in most GPS drivers1759- Custom controller support1760- parameter defaults sent with param FTP and onboard logs1761- Sim on Hardware allows simulator to run on autopilot1762- added Q_LAND_ALTCHG parameter1763- added climb before QRTL for safer QRTL from low altitudes1764- added support for logging pre and post filtered FFT data1765- support triple-notch harmonic notch filter1766- support up to 32 actuators (with SERVO_32_ENABLE parameter)1767- support EFI input over DroneCAN1768- by default only run notch filter on first IMU1769- added ESC_TLM_MAV_OFS parameter for mapping ESCs to MAVLink ESC telemetry1770- added Q_NAVALT_MIN for quadplane takeoff1771- added ICE redline governor1772- added in-flight FFT notch tuning option1773- added Sagetech ADSB support1774- added INS_HNTCH_FM_RAT parameter for handling under-hover throttle1775- improvements to filtering on ICM42xxx IMUs1776- added option parameters to NAV_VTOL_LAND mission item for fixed wing approach17771778Many thanks to the huge number of developers, testers and documenters1779who contributed to the 4.3.0 release!17801781Special thanks to all the ArduPilot Parters who have worked closely1782with us on the 4.3.x development and testing, with many partners1783contributing suggestions or supporting particular features.17841785Release 4.3.0beta3 7th Oct 20221786-------------------------------17871788This is the third beta of the 4.3.0 stable release. Changes since1789beta1 are:17901791- fixed BRD_SAFETY_MASK for enabling outputs when safety on1792- fixed persistence of mapping of CAN airspeed sensors to instances1793- fixed precision of NMEA serial output function1794- added report of "Engine Running" when using ICE1795- fixed handling of defaults.parm files with lines over 100 chars1796- fixed handling of defaults.parm files with no newline on last line1797- fixed possible divide by zero when changing to GUIDED on quadplanes17981799Happy flying!18001801Release 4.3.0beta2 3rd Oct 20221802-------------------------------18031804This is the second beta of the 4.3.0 stable release. Changes since1805beta1 are:18061807- fixes for VideoTX, fixing buffer overrun and tramp handling1808- fixed spurious error about sending RPM when RPM disabled1809- fixed an EKF3 lane switch issue that can cause incorrect height with dual GPS1810- fixed mission cmd to mission int initialisation error1811- fixed mission jump tracking init on startup1812- fixed OSD view roll/pitch error for tailsitters1813- added SkystarsH7HD-bdshot1814- fixed SkystarsH7HD VTX control1815- reduced memory usage on MatekF405-CAN board1816- disable SLCAN when armed to reduce CPU load1817- enable CAN battery mon on CUAV V6X by default1818- added arming check for Q_M_SPIN_MIN value too high1819- fixed reporting of RPM from harmonic notch1820- improved handling of airspeed errors and airspeed auto disable1821- fixed SERVO_AUTO_TRIM for multiple outputs of same type1822- fixed auto baud rate detection on SBF/GSOF/NOVA GPS1823- increased max board name length for mavlink statustext to 231824- fixed incorrect disable of notches for non-throttle notch1825- added notch filter slew limit to reduce notch errors1826- added ARMING_OPTIONS to control display of pre-arm errors1827- several OSD fixes for params, font and resolution1828- support PWM type transmission for CAN PWM output1829- support Currawong ECU as EFI backend1830- support lua scripts for EFI backends1831- implement SkyPower and HFE CAN EFI lua scripts1832- improved speed of log download with dataflash block backends1833- disabled all GPS drivers except uBlox and NMEA on Pixhawk1-1M to save flash1834- disabled all GPS drivers except uBlox on MatekF405-bdshot and omnibusf4pro-bdshot1835- fixed FFT indexing bug1836- added USART2 for AIRLink1837- allow reset to default airspeed using mission item DO_CHANGE_SPEED18381839Happy flying!184018411842Release 4.3.0beta1 13th Sep 20221843--------------------------------18441845This is the first beta of the 4.3.0 stable release. There are a lot of1846changes since the 4.2.3 stable release. Key changes are:18471848- added new boards AtomRCF405, KakuteH7Mini-Nand, SkystarsH7HD1849- added bi-directional dshot for several new boards1850- EK3_GPS_VACC_MAX threshold to control when GPS altitude is used as alt source1851- EKF ring buffer fix for slow sensor updates1852- EKF3 source set change captured in replay logs1853- numerous gimbal support improvements1854- improved RemoteId support1855- SecureBoot support with remote update of secure boot public keys1856- crash_dump.bin file saved to SD Card on startup (includes details re cause of software failures)1857- several new pre-arm checks (AHRS type, scripts, terrain)1858- numerous scripting improvements1859- fixed scripting restart leaking memory1860- Benewake H30 radar support1861- BMI270 IMU performance improvements1862- Logging pause with auxiliary switch1863- TeraRanger Neo rangefinder support1864- support for both AMSL and ellipsoid height in most GPS drivers1865- Custom controller support1866- parameter defaults sent with param FTP and onboard logs1867- Sim on Hardware allows simulator to run on autopilot1868- added Q_LAND_ALTCHG parameter1869- added climb before QRTL for safer QRTL from low altitudes1870- added support for logging pre and post filtered FFT data1871- support triple-notch harmonic notch filter1872- support up to 32 actuators (with SERVO_32_ENABLE parameter)1873- support EFI input over DroneCAN1874- by default only run notch filter on first IMU1875- added ESC_TLM_MAV_OFS parameter for mapping ESCs to MAVLink ESC telemetry1876- added Q_NAVALT_MIN for quadplane takeoff1877- added ICE redline governor1878- added in-flight FFT notch tuning option1879- added Sagetech ADSB support1880- added INS_HNTCH_FM_RAT parameter for handling under-hover throttle1881- improvements to filtering on ICM42xxx IMUs1882- added option parameters to NAV_VTOL_LAND mission item for fixed wing approach18831884Please report flight tests of the 4.3.0beta series on discuss.ardupilot.org18851886Happy flying!18871888Release 4.2.3 21st August 20221889------------------------------18901891This is a minor stable release with a few new features and bug1892fixes. The changes from 4.2.0 are:18931894- OpenDroneID improvements1895- added --enable-opendroneid configure option1896- added --enable-check-firmware configure option1897- enable OSD menus on KakuteH71898- added prearm checks for rangefinder pin conflicts1899- added diagnostics for scurve internal error1900- allow absolute paths for linux boards in param defaults1901- fixed AIRBRAKE rc option warning1902- fixed notch filtering ordering issue on loss of RPM source1903- fixed Lutan EFI update serial flood1904- fixed --upload to work on WSL21905- allow INA2xx battery to init after startup1906- fixed healthy check on battery monitors to check all enabled monitors1907- added Pixhawk6C and Pixhawk6X support1908- fixed alighment of QRTL start in fixed wing circle landing approach1909- added Foxeer Reaper F745 support1910- added MFE PixSurveyA1 support1911- fixed combination of waypoint passby with acceptance distance1912- cut throttle on ICE stop when armed1913- added ICE option for starting when disarmed1914- zero VFWD integrator on ICE override in quadplanes1915- don't failsafe when in fixed wing landing sequence with RTL_AUTOLAND1916- improved handling of overshoot in VTOL landing1917- improved choice of target airspeed in VTOL landing approach1918- improved ICM42xxx filter settings1919- allow for faster sample rates on ICM42xxx19201921Release 4.2.3beta3 19th August 20221922-----------------------------------19231924This is a minor stable release with a few new features and bug1925fixes. The changes from beta1 are:19261927- OpenDroneID improvements1928- added --enable-opendroneid configure option1929- added --enable-check-firmware configure option1930- reverted notch filter changes from beta3 due to issue on some aircraft1931- enable OSD menus on KakuteH71932- added prearm checks for rangefinder pin conflicts1933- added diagnostics for scurve internal error1934- allow absolute paths for linux boards in param defaults1935- fixed AIRBRAKE rc option warning193619371938Release 4.2.3beta2 10th August 20221939-----------------------------------19401941This is a minor stable release with a few new features and bug1942fixes. The changes from beta1 are:19431944- OpenDroneID support1945- fixed notch filtering ordering issue on loss of RPM source1946- fixed Lutan EFI update serial flood1947- fixed --upload to work on WSL219481949Release 4.2.3beta1 2nd August 20221950----------------------------------19511952This is a minor stable release with a few new features and bug1953fixes. The changes are:19541955- allow INA2xx battery to init after startup1956- fixed healthy check on battery monitors to check all enabled monitors1957- added Pixhawk6C and Pixhawk6X support1958- fixed alighment of QRTL start in fixed wing circle landing approach1959- added Foxeer Reaper F745 support1960- added MFE PixSurveyA1 support1961- fixed combination of waypoint passby with acceptance distance1962- cut throttle on ICE stop when armed1963- added ICE option for starting when disarmed1964- zero VFWD integrator on ICE override in quadplanes1965- don't failsafe when in fixed wing landing sequence with RTL_AUTOLAND1966- improved handling of overshoot in VTOL landing1967- improved choice of target airspeed in VTOL landing approach1968- improved ICM42xxx filter settings1969- allow for faster sample rates on ICM42xxx1970197119721973Release 4.2.2 24th June 20221974----------------------------19751976This is a minor stable release with a few new features and bug1977fixes. Just one change since beta1. The changes are:19781979- support two full harmonic notches using the INS_HNTC2_ parameters1980- adjust neopixel bitwidths for better reliability1981- fixed EKF3 replay bugs that caused poor replay fidelity1982- added BLHeli_S ESC type in SERVO_DSHOT_ESC1983- reduced min lean angle for alt-hold in quadplanes to 5 degrees1984- fixed param ftp run length encoding bug1985- reduced default quadplane rate accelerations and XY position gains1986- improved parameter checks of Q_M_PWM parameters for bad conversions1987- added Q_NAVALT_MIN parameter for min alt to start attitude control in takeoff1988- added CAN_Dn_UC_POOL parameter to control DroneCAN pool size, to allow memory saving on F4 boards1989- saved hardfault crash dumps to microSD if detected1990- fixed PWM rangefinder bug and support SCALING parameter1991- updated OSD flight modes menu for newer modes1992- preserve new rangefinder addresses on VL53L1X1993- protect against hardfault on bad CRSF frames1994- handle reset of CRSF receiver in flight1995- added MambaH743v4 and MambaF405 MK41996- fixed fault on FFT init with ARMING_REQUIRE=01997- synced quicktune lua script with latest version1998- learn MAVLink routes on private channels1999- fixed throttle compensation with FWD_BAT_VOLT_MAX at low voltages20002001Happy flying!20022003Release 4.2.2beta1 16th June 20222004---------------------------------20052006This is a minor stable release with a few new features and bug2007fixes. The changes are:20082009- support two full harmonic notches using the INS_HNTC2_ parameters2010- adjust neopixel bitwidths for better reliability2011- fixed EKF3 replay bugs that caused poor replay fidelity2012- added BLHeli_S ESC type in SERVO_DSHOT_ESC2013- reduced min lean angle for alt-hold in quadplanes to 5 degrees2014- fixed param ftp run length encoding bug2015- reduced default quadplane rate accelerations and XY position gains2016- improved parameter checks of Q_M_PWM parameters for bad conversions2017- added Q_NAVALT_MIN parameter for min alt to start attitude control in takeoff2018- added CAN_Dn_UC_POOL parameter to control DroneCAN pool size, to allow memory saving on F4 boards2019- saved hardfault crash dumps to microSD if detected2020- fixed PWM rangefinder bug and support SCALING parameter2021- updated OSD flight modes menu for newer modes2022- preserve new rangefinder addresses on VL53L1X2023- protect against hardfault on bad CRSF frames2024- handle reset of CRSF receiver in flight2025- added MambaH743v4 and MambaF405 MK42026- fixed fault on FFT init with ARMING_REQUIRE=02027- synced quicktune lua script with latest version2028- learn MAVLink routes on private channels20292030Happy flying!20312032Release 4.2.1 23rd May 20222033---------------------------20342035This is a minor release on top of the 4.2 firmware. It has a number of2036bug fixes and safety improvements. The changes are:20372038- fixed a bug in handling wrap in log download when 500 logs are on the microSD card2039- added FlyingMoonF407 and FlyingMoonF427 support2040- fixed RSSI input on the RCIN pin on CubeBlack and CubeOrange2041- fixed update of gyro FFT throttle tracking2042- removed unhealthy reporting on airspeed sensors with negative pressure as this commonly happens on VTOL takeoff2043- improved handling of large LOITER_TURNS mission items, expanding maximum to 2.5km2044- added fuel usage integration on Lutan EFI2045- refuse arming in AUTO when in a landing sequence due to a failsafe2046- account for sprung throttle (from RC_OPTIONS) in throttle suppression code2047- improved safety of in-flight compass learning2048- fixed automatic airspeed ratio calibration for 2nd airspeed sensor2049- increase safety of GUIDED -> AUTO takeoff sequence used by QGC2050- added CAN_Dx_UC_ESC_OF parameter for ESC offset for bandwidth efficiency2051- fixed handling of safety state on boards with no safety switch2052- fixed bug where a false positive could trigger landing disarm while land repositioning is active20532054The most important fixes are related to how QGC (which is often used2055on modern GCS style transmitters) does automatic takeoff with the2056"swipe right for takeoff" system. QGC does a sequence of a change to2057GUIDED mode, then arming, then change to AUTO mode. That sequence is2058dangerous if the current waypoint is not properly reset to a VTOL2059takeoff. To fix this a number of changes were made to ensure that2060takeoff is done with a valid VTOL takeoff. The changes include2061handling of failsafe events (such as GCS or RC failsafe) part way2062through this takeoff sequence. If QRTL or RTL is engaged during this2063sequence then the vehicle will switch to QLAND.20642065Happy flying!206620672068Release 4.2.1beta1 19th May 20222069--------------------------------20702071This is a minor release on top of the 4.2 firmware. It has a number of2072bug fixes and safety improvements. The changes are:20732074- fixed a bug in handling wrap in log download when 500 logs are on the microSD card2075- added FlyingMoonF407 and FlyingMoonF427 support2076- fixed RSSI input on the RCIN pin on CubeBlack and CubeOrange2077- fixed update of gyro FFT throttle tracking2078- removed unhealthy reporting on airspeed sensors with negative pressure as this commonly happens on VTOL takeoff2079- improved handling of large LOITER_TURNS mission items, expanding maximum to 2.5km2080- added fuel usage integration on Lutan EFI2081- refuse arming in AUTO when in a landing sequence due to a failsafe2082- account for sprung throttle (from RC_OPTIONS) in throttle suppression code2083- improved safety of in-flight compass learning2084- fixed automatic airspeed ratio calibration for 2nd airspeed sensor2085- increase safety of GUIDED -> AUTO takeoff sequence used by QGC2086- added CAN_Dx_UC_ESC_OF parameter for ESC offset for bandwidth efficiency20872088The most important fixes are related to how QGC (which is often used2089on modern GCS style transmitters) does automatic takeoff with the2090"swipe right for takeoff" system. QGC does a sequence of a change to2091GUIDED mode, then arming, then change to AUTO mode. That sequence is2092dangerous if the current waypoint is not properly reset to a VTOL2093takeoff. To fix this a number of changes were made to ensure that2094takeoff is done with a valid VTOL takeoff. The changes include2095handling of failsafe events (such as GCS or RC failsafe) part way2096through this takeoff sequence. If QRTL or RTL is engaged during this2097sequence then the vehicle will switch to QLAND.20982099Happy flying!21002101Release 4.2.0 4th May 20222102--------------------------21032104This is the first 4.2 stable release of plane. Since 4.2.0beta6 there2105have only been 3 changes:21062107- added VTOL-quicktune lua script2108- fixed custom compass orientation for DroneCAN compasses2109- fixed a bug in blended Z accel calculation when not using first IMU21102111Since the last stable 4.1.7 release there have been over 4k changes,2112so it is not practical to list them all here. Highlights for plane2113users include:21142115- smoother quadplane transitions2116- ship landing support2117- CAN over mavlink support2118- major tailsitter improvements2119- much better error reporting and diagnostics2120- numerous lua scripting improvements2121- improved weathervaning support and options2122- support for fixed wing aerobatics2123- many new flight controllers added2124- DroneCAN dual-GPS for yaw support21252126Happy flying!212721282129Release 4.2.0beta6 28th April 20222130----------------------------------21312132This is the 6th beta of the 4.2.0 major release21332134- fix FIFO overruns on the BMI088 IMU2135- fix plane avoidance behaviour when in AvoidADSB mode2136- disable fatal exceptions on DMA errors on STM322137- changed quadplane weathervaning to make pitch input optional for nose-in and tail-in2138- increased default scripting heap size on F7/H7 to 100k2139- added ICM42688 option on MatekH7432140- added ICM4xxxx option on QiotekZealotH7432141- rename INS_NOTCH parameters to INS_HNTC22142- added Q_OPTION for RTL on failsafe in Q modes, for ship operation2143- disabled setting of highest airspeed when disarmed2144- fixed init of file descriptor in logging2145- cope with gaps in log listing, and reduce impact of log listing on EKF and ESCs2146- avoided repeated message on "failed to detach from pin" for RPM2147- improved error messages on GPIO pin configuration conflict2148- use narrower bitwidths for dshot, giving more accurate timing2149- added MatekF765-Wing-bdshot target2150- fixed use of DO_SET_SERVO with SERVOn_FUNCTION=02151- several improvements to SPRacingH7 support21522153Happy flying!21542155Release 4.2.0beta5 5th April 20222156---------------------------------21572158This is the 5th beta of the 4.2.0 major release21592160- fixed a timer bug that could cause boards using flash storage to watchdog2161- added OTG2 USB on QioTekZealotH7432162- increased stack size on log and monitor threads2163- fixed rudder control when ARMING_RUDDER != 2 on quadplanes2164- fixed accel bias when an IMU is disabled in EKF32165- improved QSPI support for SPro H7 Extreme2166- fixed @SYS file logging2167- fixed buzzer on MatekH743, going back to 16 bit timer2168- fixed H7 flash storage bug that caused re-init on overflow2169- fixed incorrect lock class in UART driver21702171Happy flying!21722173Release 4.2.0beta4 28th March 20222174----------------------------------21752176This is the 4th beta of the 4.2.0 major release.21772178- added BATT_OPTIONS option to send resting voltage (corrected for internal resistance) to the ground station2179- fixed a bug when a blended GPS is lost, where the wrong GPS could be used for a short time2180- prevent rapid RTL/AUTO switching with DO_LAND_START and fence breach2181- added RTL_AUTOLAND=3 to prevent arming check about DO_LAND_START with no RTL_AUTOLAND2182- fixed yaw in AUTO mode on the ground on quadplanes when using rudder to disarm2183- fixed failover between IOMCU RC input and a secondary RC input on a uart2184- display source of RC input with protocol2185- fixed DShot reversal bugs with IOMCU based boards2186- fixed battery remaining percentage with sum battery backend2187- added KakuteH7-bdshot2188- added terrain reference adjustment and TERRAIN_OFS_MAX parameter2189- fixed param conversion bug (impacts airspeed enable)2190- changed MatekH743 to use a 32 bit timer21912192Happy flying!21932194Release 4.2.0beta3 18th March 20222195----------------------------------21962197This is the 3rd beta of the 4.2.0 major release. This beta should be2198close to the final 4.2.0 release.21992200- fixed pitch envelope constraint after AIRBRAKE2201- improvements to POSITION1 quadplane landing controller2202- added arming check for Q_ASSIST_SPEED2203- added warning if arming with ARMING_CHECK=02204- added arming check for DO_LAND_START with RTL_AUTOLAND=02205- improved throttle mix for quadplane autoland2206- added fence breach message on GCS2207- constrain indexing on declination tables22082209Happy flying!22102211Release 4.2.0beta2 10th March 20222212----------------------------------22132214This is the 2nd beta of the 4.2.0 major release. This beta should be2215close to the final 4.2.0 release.22162217- fixed EKF3 constrain bug2218- added quadplane ship landing support2219- added Q_LAND_ALTCHG to adjust landing detection sensitivity2220- fixed a bug in terrain home compensation2221- changed quaplane POSITION1 landing controller to use jerk and accel limiting2222- fixed default gain for weathervaning on quadplanes2223- fixed health check of airspeed sensor for dual sensors2224- fixed arming check on servos for GPIO outputs2225- disable stick mixing when RC input is unavailable2226- fixed stick mixing during GCS failsafe2227- disallow mavlink disarm while flying2228- adjust frequency selection for DShot2229- fixed logging bug for MCU voltage2230- added BeastH7v2 support2231- improvement to AC_WPNav for quadplane waypoint control2232- simplify RC failsafe messages sent to GCS22332234Happy flying!22352236Release 4.2.0beta1 2nd March 20222237---------------------------------22382239This is a major release with a lot of changes. We expect at least 42240weeks of beta testing and several beta updates before 4.2.0 final is2241released.22422243Changes include:22442245- EKF startup messages reduced2246- LORD Microstrain CX5/GX5 external AHRS support2247- Auto mode supports up to 100 DO_JUMP commands on high memory boards2248- Auto support for NAV_SCRIPT_TIME commands (Lua within Auto)2249- aerobatic scripting from any mode via RC switches2250- 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-K12251- Parachute option to leave servo in open position (see CHUTE_OPTIONS parameter)2252- Parachute released arming check added2253- Pre-arm check of IMU heater temp2254- Pre-arm check of rangefinder health2255- Pre-arm check of throttle position skipped if PILOT_THR_BHV is "Feedback from mid stick"2256- ADIS16470, ADIS16507 and BMI270 IMU support2257- AK09918 compass support2258- Battery monitor supports voltage offset (see BATTx_VLT_OFFSET)2259- Benewake TFMiniPlus I2C address defaults correctly2260- Buzzer can be connected to any PWM on any board2261- Compass calibration (in-flight) uses GSF for better accuracy2262- CRSFv3 support, CSRF telemetry link reports link quality in RSSI2263- Cybot D1 Lidar support2264- DroneCan (aka UAVCAN) battery monitors support scaling (see BATTx_CURR_MULT)2265- DroneCan (aka UAVCAN) GPS-for-yaw support2266- Electronic Fuel Injection support incl Lutan EFI2267- FETtecOneWire resyncs if EMI causes lost bytes2268- IMU heater params renamed to BRD_HEAT_xxx2269- Landing gear enable parameter added (see LGR_ENABLE)2270- Lightware SF40C ver 0.9 support removed (ver 1.0 and higher still supported)2271- Maxbotix serial sonar driver support RNGFNDx_SCALING parameter to support for varieties of sensor2272- MPPT solar charge controller support2273- MTK GPS driver removed2274- Optical flow in-flight calibration2275- Ping200x ADSB support2276- Proximity sensor min and max range (see PRX_MIN, PRX_MAX)2277- QSPI external flash support2278- uLanding (aka USD1) radar provides average of last few samples2279- Unicore NMEA GPS support for yaw and 3D velocity2280- Board ID sent in AUTOPILOT_VERSION mavlink message2281- DO_SET_CAM_TRIG_DIST supports instantly triggering camera2282- DJI FPV OSD multi screen and stats support2283- GPIO pins configured by setting SERVOx_FUNCTION to -1 (also see SERVO_GPIO_MASK. BRD_PWM_COUNT removed)2284- GPIO pin support on main outputs on boards with IOMCU2285- GyroFlow logging (see LOG_BITMASK's "VideoStabilization" option)2286- Firmware version logged in VER message2287- SD card format via MAVLink2288- Serial port option to disable changes to stream rate (see SERIALx_OPTIONS)2289- VIBE logging units to m/s/s2290- BLHeli passthrough reliability improvements2291- Compass learning (inflight) fixed to ignore unused compasses (e.g. those with COMPASS_USE = 0)2292- EKF optical flow terrain alt reset fixed (large changes in rangefinder alt might never be fused)2293- EKF resets due to bad IMU data occur at most once per second2294- GPIO pin fix on CubeOrange, F4BY, mRoControlZeroF7, R9Pilot2295- MAVlink2 serial ports always send MAVLink2 messages (previously waited until other side sent MAVLink2)2296- Omnibusf4pro bi-directional dshot fix2297- Real-Time-Clock (RTC) oldest possible date updated to Jan-202222982299Happy flying!230023012302Release 4.1.7 12th February 20222303--------------------------------23042305This is a minor release with some important bug fixes and a couple of2306new features:23072308- avoid all opening of log files in main thread2309- support Benewake CAN Lidars2310- improved VTOL navigation shaping code2311- Compass custom orientation is never overwritten during calibration2312- EKF logging gaps fixed (some messages were occasionally being skipped)2313- IMU logging fix for IREG message (records IMU register changes)2314- SERVOx_FUNCTION protection to avoid memory overwrite if set too high2315- FTP parameter download fix23162317Happy flying!23182319Release 4.1.6 3rd January 20222320------------------------------23212322This is a minor release with some important bug fixes:23232324- disable the STLink debug pins after boot by default to prevent ESD2325from triggering CPU changes or a reset2326- support ICM-20608-D, IIM-42652 and ICM-40605 sensors2327- fixed missing covarience reset row in EKF32328- fixed failure to detect inverted RC input on uarts when transmitter2329is on at boot2330- fixed QAUTOTUNE to obey maximum attitude rate limits2331- fixed a bug in smartaudio support that increased CPU usage2332- added lowpass filter to speed scaling to prevent sudden surface2333movement on VTOL arming2334- fixed hang when BATT_MONITOR is set to 142335- fixed gaps in EKF3 logging of variances and timing23362337Happy flying!23382339Release 4.1.5 13th December 20212340--------------------------------23412342This is a minor release with some important bug fixes and small number2343of new features.23442345- fixed switching airspeed sensors based on EKF3 affinity2346- added servo voltage pin on CUAV-X72347- make 2nd reduction of P gain in AUTOTUNE smaller2348- fixed fence count on upload from old fence protocol2349- fixed reset of ground steering lock for landing2350- reset VTOL takeoff if not armed2351- fixed 16 bit timer bug on MatekH7432352- added FETTec onewire ESC support2353- set slew rate to zero while in QUATOTUNE twitch2354- fixed rate of notch filter to follow configured rate23552356Happy flying!235723582359Release 4.1.4 25th November 20212360--------------------------------23612362This is a minor release with some important bug fixes and small number2363of new features.23642365- fixed RC parachute release to only trigger on RC input channel2366above 1800, fixing an issue with trigger on power on23672368- added QRTL flight mode as an RCn_OPTION23692370- display VTOL position1 state change when landing approach and2371airbrake logic is disabled using Q_OPTIONS23722373- limit Q_VFWD integrator to be below TRIM_THROTTLE to prevent very2374high forward throttle building up in some landing approach2375conditions23762377- fixed an issue with high position1 landing approach target speed2378causing the nose to dip when going between VTOL approach and2379position1 states23802381- allow for a wider range of Q_A_THR_MIX values to be configured, to2382better support landing quadplanes in high wind23832384Happy flying!238523862387Release 4.1.3 16th November 20212388--------------------------------23892390This is a minor release with some bug fixes and small number of new2391features.23922393- allow for scripting based quadplane motor mixers23942395- fixed double application of rangefinder landing offset on go-around23962397- avoid doing quadplane approach when close to landing point23982399- suppress D gains on fixed wing control surfaces when in ground mode2400to prevent ground oscillation on some aircraft24012402- added OBAL Linux board support24032404- added CAN_Dn_UC_OPTION parameter to control conflicts in DroneCAN2405DNA database24062407- fixed a bug in POSITION1 quadplane landing code that led to too2408sharp pullup in VTOL automatic landing24092410- default maximum attitude rate for quadplanes to 75 degrees/second24112412- fixed a bug in use of non-zero EK3_PRIMARY value24132414- fixed a bug in ADSB vertical velocity reporting24152416- fixed an overshoot in quadplane guided takeoff24172418- allow for interruption of quadplane guided takeoff with a new2419target location24202421- fixed creation of APM/LOGS directory on some boards24222423- added RCn_OPTION switch for enabling fixed wing AUTOTUNE in any2424stabilized flight mode (useful for LOITER and AUTO modes)24252426- support Durandal with alternative ICM-20602 IMU24272428- removed a spurious EKF yaw reset message24292430Happy flying!243124322433Release 4.1.2 17th October 20212434-------------------------------24352436This is minor update with a few important fixes and some new features:24372438- added EK3_PRIMARY parameter, to allow for selection of other than2439the first IMU as initial EK3 lane24402441- added ESC_TELEMETRY_1_to_4 to list of mavlink message selections24422443- fixed burst read ftp error causing bad ftp param download24442445- fixed H7 FIFO issue with RTSCTS flow control on UARTs24462447- apply takeoff throttle slew limit in TAKEOFF mode and forward2448transition in quadplanes24492450- reset target mission airspeed on disarm24512452- added RC_OPTION bit to enable multi-receiver systems24532454- don't apply fixed wing pitch limit to tailsitters when hovering24552456- fixed turn rate coordination when inverted in fixed wing flight24572458- fixed bug in AUTOTUNE mode that could leave gains from part way2459through the tune24602461Of these fixes the only one that is not backwards compatible is the2462new RC_OPTION bit which needs to be set if you have multiple RC2463receivers on your aircraft and want to fail over to a backup receiver2464while in flight. You will need to set the new RC_OPTION to enable that2465for the 4.1.2 release and later.24662467Happy flying!24682469Release 4.1.1 stable 8th October 20212470-------------------------------------24712472This is the a minor bugfix release in the 4.1.x stable series. Changes2473are:24742475- fixed IMU orientation on QiotekZealotF427 controller2476- fixed lua scripting bug in logging of strings2477- fixed an initialisation bug in the attitude controller for quadplanes2478- added desired values to PSC quadplane pos control logging2479- prevent entry into CRSF parameter mode while armed2480- added bootloader to build for MatekF765-SE24812482Thanks to all the users who have been reporting back on flights with24834.1.0, and happy flying!248424852486Release 4.1.0 stable 28th September 20212487----------------------------------------24882489This is the first stable release of the 4.1.x series for fixed2490wing. This is a major release, with a lot of changes over the 4.0.92491release.24922493The changes since the last beta (4.1.0beta8) are:24942495- fixed a wind speed initialiation bug that affects planes with no2496airspeed sensor and no compass2497- added support for icm42605 on MatekH74324982499There have in total been over 9000 patches applied since the last2500major release (the 4.0.9 stable release), so listing all of them is2501not practical, but a few of the highlights are:25022503- USB log download speeds improved on F7 and H7 based boards2504- Large improvements in EKF stability and support for very long distance flights2505- new boards QiotekZealotF427, MatekF765-SE, MambaF405v2, KakuteF4Mini, FlywooF745, FlywooF745Nano, BeastF7 and BeastH72506- massive improvements to lua scripting, with greatly expanded API2507- External AHRS support (VectorNav)2508- support for EKF3 affinity for better sensor redundancy2509- big improvements to GPS moving baseline yaw support2510- new fixed wing PID system2511- major fixed wing autotune update giving much better tuning2512- added MAN_EXPO_* parameters for input expos in MANUAL, TRAINING and ACRO modes2513- added ONESHOT_MASK for oneshot output on control surfaces2514- dupport for bi-directional dshot on many boards2515- added PiccoloCAN servo support2516- new quadplane landing approach system, with airbraking2517- greatly improved tiltrotor support with much improved transition stability2518- new unified ESC telemetry system for CAN, DShot and serial ESC telemetry2519- temperature calibration for IMUs, including factory calibration support2520- much improved notch filtering support, including double-notch and realtime FFT based notch filtering2521- much faster parameter download and mission upload/down using MAVFTP2522- switched to new EKF3 as default state estimator with many new features25232524The 4.1.0 includes contributions from over 240 developers and changes2525over 300 thousand lines of code across 2800 files. It has been a2526mammoth effort from the whole community to bring this new version of2527ArduPilot which pushes the best open flight controller to whole new2528levels. A big thank you to everyone who contributed, includding the2529developers, testers and documenters. You should all be very proud of2530this release!25312532We are already starting work on 4.2.x, and will of course continue to2533do point releases to the 4.1.x series to keep everyone up to date with2534the latest fixes.25352536Happy flying, and thanks for choosing ArduPilot!253725382539Release 4.1.0beta8 15th September 20212540--------------------------------------25412542This is a very small beta update, with a single patch to fix a serial2543flow control issue that came in beta7.25442545Changes since beta7 are:25462547- fixed auto-detection of serial flow control25482549Happy flying!25502551Release 4.1.0beta7 11th September 20212552--------------------------------------25532554This is a small beta update, with a few important fixes. I expect this2555to be the final beta and will release 4.1.0 in one week if no2556significant issues are found.25572558Changes since beta6 are:25592560- USB log download speeds improved on F765 and F777 based boards (USB buffers increased)2561- Serial port DMA contention heuristics improved (reduces chance of delays writing to serial devices)2562- Declination automatic lookup rounding fix (caused inaccurate declination in some parts of world)2563- DShot (bi-directional) support on Pixhawk4, CUAVv5, CUAVv5-Nano2564- IMU semaphore fix to avoid occasional corruption2565- QioTek Zealot F427 GPIO pin fix2566- Replay/DAL RMGH log message format fix2567- Rangefinder initial buffer size and baudrate fix (affected Aintein US-D1 radar)2568- increase CRSF frame timeout to cope with scheduling delays2569- fixed quadplane Z controller init calculation25702571Please test this final beta and report on the discuss.ardupilot.org25724.1.0beta topic.25732574Happy flying!257525762577Release 4.1.0beta6 29th August 20212578-----------------------------------25792580This is a small beta update, with a few important fixes.25812582Changes are:25832584- Flywoo F745 Goku Nano support2585- Scripting support for getting circle mode radius and setting rate2586- Scripting support for new Guided mode controls including acceleration control2587- ChibiOS scheduling slip workaround to avoid occasional 60ms delays found on MatekH7432588- EKF2 divide-by-zero protection when using optical flow (issue only found in simulator)2589- External AHRS (e.g. VectorNav driver) init fix2590- KakuteF4Mini SBUS fix2591- Pixhawk4 blue and red LEDs swapped2592- Position control fixes to limit initial desired accel (horizontal and vertical) which could lead to an excessive climb or descent2593- fixed airspeed constraint by AHRS_WIND_MAX2594- fixed use of hw serial inversion pins on F4 boards2595- updates for new revisions of QioTekF427Zealot25962597Happy flying!25982599Release 4.1.0beta5 16th August 20212600-----------------------------------26012602This is a small beta update, with a few important fixes.26032604Changes are:26052606- Flywoo F745 supports external I2C compasses2607- GPS-for-yaw arming check added2608- GPS_DRV_OPTIONS allows forcing UBlox GPS to 115200 baud2609- Lua scripts can be placed in ROMFS_custom directory2610- Q_P_VELXY_FILT renamed to _FLTE, Q_P_VELXY_D_FILT renamed to _FLTD2611- CAN threading fix to resolve potential lockup when lua scripts use CAN2612- EKF3 GSF can be invoked multiple times with source switching (no longer limited by EK3_GSF_RST_MAX)2613- EKF3 IMU offset fix (vehicle's reported position was slightly incorrect if INS_POS_XYZ params set)2614- OSD overwrite and nullptr check fix2615- RCOut banner displayed at very end of startup procedure to avoid invalid output2616- allow for VTOL flightmodes after AHRS fallback to DCM2617- fixed a bug in Z accel initialisation (particularly affects tailsitters)2618- added LOG_BITMASK bit for logging attitude and PIDs at full loop rate26192620Happy flying!26212622Release 4.1.0beta4 25th July 20212623---------------------------------26242625This is a large beta update, with significant changes over beta3.26262627Changes are:26282629- major fixed wing autotune update over previous 4.1 beta releases2630- added MAN_EXPO_* parameters for input expos in MANUAL, TRAINING and ACRO modes2631- added ONESHOT_MASK for oneshot output on control surfaces2632- GPS-for-yaw enhancements including using position and yaw from different GPSs2633- Long distance flight supported (thousands of km) including double precision EKF and moving origin2634- major improvements to EKF3 stability2635- BLHeli fix that could cause failure to boot2636- CRSF message spamming and firmware string length fixed2637- Display re-enabled on 1MB boards2638- DShot always sends 0 when disarmed (protects against motors spin while disarmed due to misconfiguration)2639- DShot fix that could cause main loop jitter2640- DShot buzzer tone disabled during motor test to remove bad interation2641- MatekF405-bdshot NeoPixel LEDs re-enabled on PWM52642- Serial port performance improvements using FIFO on H7 boards26432644Please report all test results and happy flying!26452646Release 4.1.0beta3 5th July 20212647--------------------------------26482649This is a minor update over the 4.0.1beta2 release. It has a few2650important fixes for beta testers:26512652- sync with copter 4.1.0beta526532654- added QRTL always option in Q_RTL_MODE26552656- added more modes to USE_REV_THRUST parameter26572658- added QioTekZealonH743 board type26592660- added EKF3 protections for variance collapse26612662- added PiccoloCAN servo support26632664- improved VTOL position control a long distance from home26652666- fixed handling of 180 degree longitude date-line crossing26672668- fixed logged after forced arm26692670- fixed DShot with quadplane motor test26712672- adjusted autotune handling of target filter26732674- adjusted default roll/pitch PID filters26752676Please report all test results, and happy flying!26772678Release 4.1.0beta2 24th June 20212679---------------------------------26802681This is a minor update over the 4.0.1beta1 release. It has a few2682important fixes for beta testers:26832684- Fixed a bug in attitude control during the airbrake phase of2685quadplane landing approach26862687- skip POSITION1 stage of landing approach for tailsitters26882689- fixed handling of corrupted filesystems on arming, where a long2690delay during log file creation could cause a watchdog reset26912692- fixed build of VRUBrain-v51 board26932694- re-enable soaring on MatekF405-Wing26952696- fixed calculation of battery consumption on a commanded reset26972698Please report all test results, and happy flying!26992700Release 4.1.0beta1 14th June 20212701---------------------------------27022703This is a major release, with a lot of changes across almost all2704subsystems. Key changes include:27052706- major updates to quadplane control algorithms, including new2707landing approach system, new input shaping system for all levels of2708VTOL control and new filtering options.27092710- new PID system for fixed wing control, with much more flexible2711filtering and true rate D term support.27122713- new fixed wing autotune system which on most aircraft produces a2714much better tune than the previous autotune.27152716There have also been a lot of changes at the low level system level as2717well.27182719- new DShot system, with much better timing and new features.27202721- improved support for GPS moving baseline yaw27222723- new unified ESC telemetry system for CAN, DShot and serial ESC2724telemetry, allowing for ESC RPM driven notch filters on more ESC2725types27262727- EKF3 is now the default estimator, with EKF2 also available on2728systems with 2MByte of flash.27292730- external AHRS support, allowing for a serial connected AHRS system2731(VectorNav-300 only at the moment)27322733- sensor affinity in EKF3, allowing for more robust handling of2734sensor failure, especially for airspeed sensors27352736- rate PID slew limiting to to detect and suppress oscillations27372738- temperature calibration for IMUs, including factory calibration2739support27402741- much improved notch filtering support, including double-notch and2742realtime FFT based notch filtering27432744- lots of lua scripting improvements, with greatly expanded API27452746- much faster parameter download and mission upload/down using MAVFTP27472748Many thanks to everyone who contributed to this release. It is our2749biggest release yet and has benefited from fantastic feedback from our2750user community and partners.27512752We hope you enjoy this release! Happy flying!27532754Release 4.0.9, 23rd February 20212755---------------------------------27562757This is a minor release with just bug fixes:27582759- added automatic backup/restore of parameters in case of FRAM2760corruption for F7/H7 boards with 32k FRAM parameter storage27612762- fixed a bug in EKF2/EKF3 that could cause memory corruption if2763external naviagtion sources (such as vision based position and2764velocity data) is supplied before the EKF has initialised27652766- fixed a problem with low accuracy data from UAVCAN GPS modules when2767GPS blending is enabled27682769- fixed an arming check failure with u-blox M9 based GPS modules27702771- added mRoControlZeroH7 support27722773The main reason for this release is the parameter backup/restore. This2774has been an ongoing issue for quite some time. The symptom is an2775unexpected full parameter reset on boards using FRAM (also known as2776RAMTRON) for storage, particularly those using F7 or H7 based2777MCUs. The issue has most commonly been seen on the Hex CubeOrange2778board, but has been seen on boards from other vendors as well.27792780The issue has been frustratingly difficult to reproduce. We did narrow2781down one cause last year which was a floating CS pin in the bootloader2782triggering corruption before ArduPilot starts. An updated bootloader2783reduced the occurrance of the issue a lot and we thought it was2784solved. Since then the problem has still happened a few times on2785boards that have had a bootloader update.27862787This release avoids the issue by keeping a complete second copy of the2788parameters in the 2nd half of 32k FRAM devices. On boot we check the2789integrity of the primary parameter storage area via a simple signature2790check and if it has been corruptted then we restore from the backup2791area. We also raise an internal error named "params_restored". You2792will then need to reboot to clear the error, but your parameters will2793have been automatically recovered, avoiding the need to reload2794parameters and re-calibrate.27952796If you get this internal error then it would be appreciated if you2797could send us the contents of your APM/STRG_BAK directory on the2798microSD card so we can analyse the corruption that happened and ensure2799that the fix covers all real cases.28002801Happy flying!28022803Release 4.0.8, 26th January 20212804--------------------------------28052806This is a minor release with just bug fixes:28072808- fixed a bug where an unhealthy airspeed sensor could be fused in EKF2/EKF328092810- fixed FPort RSSI scaling28112812- fixed timestamp on RAW_IMU data to be 64 bit28132814- fixed an issue with BLHeli pass-thru on some ESCs28152816Happy flying!28172818Release 4.0.7, 3rd November 20202819--------------------------------28202821This is a minor release over 4.0.6. The changes are:28222823- enable telem3 on Durandal28242825- fixed SBUS output when scanning for FPort on IOMCU28262827- Fixed F32Lightening board IMU fast sampling issue28282829- fixed issue with EKF2 and EKF3 with use of high accuracy GPS modules. This is important for anyone flying with a RTK GPS28302831- Fixed KakuteF7 DShot glitch issue28322833- Fixes issue with checking for valid RC input in ICE disable channel28342835- fixed an interrupt flood issue with any sensor that uses interrupt timing measurement, such as RPM sensors.28362837- Modified RM3100 driver to problem all 4 possible I2C addresses28382839- Fixed UDP RC input on Linux boards to accept up to 16 RC inputs on UDP28402841The most critical fix in the above list is the ISR flood issue.28422843ISR Flood Issue2844---------------28452846The ISR flood issue happens when a misbehaving external sensor (such2847as an RPM sensor for a petrol motor) starts providing pulses faster2848than the flight controller can process them. If this happens then the2849CPU can be overloaded in the interrupt handling for the sensor and2850stop flying the vehicle. The level of interrupt rate needed to cause2851this issue is around 500k interrupts per second, so to be safe we have2852added a limit of 100k interrupts per second. If a single interrupt2853source produces more than 10k interrupts in a single 0.1 second period2854then we disable that interrupt source, print a warning to the user and2855raise an internal error.28562857Happy flying!28582859Release 4.0.6, 7th September 20202860---------------------------------28612862The ArduPilot development team is proud to announce the release of2863plane 4.0.6 stable. This is a significant release with a lot of2864changes, so please read the change summary below carefully.28652866- changed LED scripting API to allow more than 32 LEDs on a pin2867- added support for ProfiLED LEDs2868- added u-blox GPS moving baseline u-blox auto-configuration2869- fixed handling of GPS antenna positions on EKF GPS switch2870- changed default USB IDs to new ArduPilot specific IDs2871- fixed bug in handling trim for RC control of camera mounts2872- added LGR_OPTIONS bits to control landing gear behaviour on takeoff/landing2873- improved mavlink streaming output control to better allocate time to each channel2874- fixed send of mavlink PARAM_VALUE on set of a readonly parameter2875- fixed mag variance reporting in EKF_STATUS_REPORT mavlink message2876- fixed time wrap bug in BMP085 barometer driver2877- fixed buffer overflow in ST24 RC input driver2878- fixed EKF usage of WMM tables when user has specified a specific declination2879- fixed bug in AP_Terrain on-disk format2880- added script for offline generation of terrain data2881- severel improvements to smbus battery drivers2882- fixed a race condition in parameter storage on ChibiOS2883- fixed use of zero GNSS timestamp in UAVCAN GPS driver2884- improved GCS messages during bootloader flash2885- fixed CS pin in bootloader that could corrupt FRAM on some boards2886- added GPS yaw to MAVLink GPS_RAW_INT message2887- added Hott telemetry support2888- added FRSky FPort support2889- fixed bug in CAN clock and queue handling on H7 based boards2890- added support for BRD_ALT_CONFIG for alternative hardware configs on several boards2891- added new boards CUAV-Nora, CUAV-X7, MatekH743, R9Pilot, mRoNexus2892- improved reporting of internal errors to GCS2893- fixed recursion bug in tonealarm player2894- fixed flaperon SERVO_AUTO_TRIM behaviour2895- added option to compensate forward throttle for battery voltage2896- added compensation in VTOL gains for pressure altitude2897- switched to new more flexible compass ordering system2898- fixed forcing of safety off on IOMCU reset2899- increased maximum compass scale factor to 1.42900- added RTL_CLIMB_MIN parameter for initial climb in RTL2901- fixed disable of throttle nudge during a RC failsafe2902- added support for a wider range of DLVR airspeed sensors2903- fixed RC input processing for out of range RC channels2904- added THR_FAILSAFE=2 option for flying BVLOS with only GCS failsafes enabled2905- fixed reordering of compasses on boot based on compass priorities2906- fixed use of minimum accuracy for GPS data in EKF2 and EKF3, fixing an issue with RTK GPS modules that report overly optimistic accuracy values2907- fixed handling of RC_OPTION bit for disabling receiver failsafe handling2908- fixed LOITER_TO_ALT with terrain altitude target2909- fixed an issue with swapping UAVCAN compasses and calibration2910- fixed use of VTOL quadplane missions (where the plane flies as a multi-rotor for auto waypoints)2911- fixed legacy parsing of some lightware i2c lidars when beyond max range2912- fixed RTL_AUTOLAND with MIS_RESTART=12913- enable more compasses on low flash boards2914- HAL erase storage fix for flash storage boards2915- prevent jump to circle mode in TAKEOFF if flying for less than 10s2916- fixed handling of out of range on LightwareI2C Lidar2917- fixed init of HoTT telemetry2918- added support for mRo Pixracer Pro, Holybro Pix32v52919- added arming check for terrain data healthy if needed2920- increased monitor thread size to 7682921- fixed IMU fast sampling on F35Lightning board29222923The key changes to existing behaviour to watch out for in this update2924are:29252926USB IDs2927-------29282929ArduPilot has now switched to it's own USB IDs for all boards. For2930most users this won't cause any change, except they may notice the2931drop down list of devices in MissionPlanner will have the ArduPilot2932flight controllers labelled more usefully as "ArduPilot" instead of2933just "STM32". If you hit issues on windows please try reinstalling the2934device drivers from this URL:2935https://firmware.ardupilot.org/Tools/MissionPlanner/driver.msi29362937Terrain2938-------29392940A bug fix in the format ArduPilot uses to store terrain data means2941that your flight controller will need to re-download the terrain data2942onto the sdcard via your GCS. If you fly without a GCS and you use2943terrain data then please re-download the terrain data you need by2944setting up a mission when you have internet access and allowing your2945flight controller to request terrain data from your GCS.29462947Pressure Altitude Compensation2948------------------------------29492950This release adds in the missing hook for the VTOL motor controller on2951a quadplane to compensate the VTOL gains using your pressure2952altitude. For most people this will not have a noticible effect, but2953some users that have tuned their aircraft for high locations may2954notice a tuning change.29552956Compass Ordering2957----------------29582959The new compass ordering system in this release gives a lot more2960flexibility and should preseve existing configurations and2961calibrations. If you hit issues then please have a look at the new2962compass ordering user interface in recent beta releases of2963MissionPlanner.29642965THR_FAILSAFE=22966--------------29672968For people flying before visual range (with appropriate2969authorisations) there is a new option which allows for safer2970operation. By setting THR_FAILSAFE=2 you can setup the R/C failsafe so2971that R/C input will stop being used when one of the receiver failsafe2972conditions is met, while not triggering any failsafe actions. This is2973a significant improvement over setting THR_FAILSAFE=0 as it prevents2974the receiver inputs being used for stick mixing and other inputs that2975would be inappropriate when in receiver failsafe.29762977Many thanks to everyone who contributed to and tested this release!29782979Happy flying!29802981Release 4.0.6beta5, 25th August 20202982------------------------------------29832984This should be the final beta for 4.0.6. Several important fixes are2985included:29862987- fixed disable of throttle nudge during a RC failsafe29882989- added support for a wider range of DLVR airspeed sensors29902991- fixed RC input processing for out of range RC channels29922993- added THR_FAILSAFE=2 option for flying BVLOS with only GCS2994failsafes enabled29952996- fixed reordering of compasses on boot based on compass priorities29972998- fixed use of minimum accuracy for GPS data in EKF2 and EKF3, fixing2999an issue with RTK GPS modules that report overly optimistic3000accuracy values30013002- fixed handling of RC_OPTION bit for disabling receiver failsafe3003handling30043005- fixed LOITER_TO_ALT with terrain altitude target30063007Happy flying!30083009Release 4.0.6beta4, 27th July 20203010----------------------------------30113012This is a minor change over beta330133014- fixed an issue with swapping UAVCAN compasses and calibration30153016- fixed use of VTOL quadplane missions (where the plane flies as a3017multi-rotor for auto waypoints)30183019- fixed legacy parsing of some lightware i2c lidars when beyond max3020range30213022Happy flying!302330243025Release 4.0.6beta3, 7th July 20203026----------------------------------30273028This is a minor change over beta230293030- fixed RTL_AUTOLAND with MIS_RESTART=13031- enable more compasses on low flash boards3032- HAL erase storage fix for flash storage boards30333034Happy flying!30353036Release 4.0.6beta2, 23rd June 20203037----------------------------------30383039This is a minor change over beta130403041- prevent jump to circle mode in TAKEOFF if flying for less than 10s3042- fixed handling of out of range on LightwareI2C Lidar3043- fixed init of HoTT telemetry3044- added support for mRo Pixracer Pro, Holybro Pix32v53045- added arming check for terrain data healthy if needed3046- fixed compass ordering bug3047- increased monitor thread size to 76830483049Happy flying!30503051Release 4.0.6beta1, 23rd May 20203052---------------------------------30533054This is a major release with a significant number of new features and3055bug fixes. You should read the list of changes and the information3056below carefully.30573058- changed LED scripting API to allow more than 32 LEDs on a pin3059- added support for ProfiLED LEDs3060- added u-blox GPS moving baseline u-blox auto-configuration3061- fixed handling of GPS antenna positions on EKF GPS switch3062- changed default USB IDs to new ArduPilot specific IDs3063- fixed bug in handling trim for RC control of camera mounts3064- added LGR_OPTIONS bits to control landing gear behaviour on takeoff/landing3065- improved mavlink streaming output control to better allocate time to each channel3066- fixed send of mavlink PARAM_VALUE on set of a readonly parameter3067- fixed mag variance reporting in EKF_STATUS_REPORT mavlink message3068- fixed time wrap bug in BMP085 barometer driver3069- fixed buffer overflow in ST24 RC input driver3070- fixed EKF usage of WMM tables when user has specified a specific declination3071- fixed bug in AP_Terrain on-disk format3072- added script for offline generation of terrain data3073- severel improvements to smbus battery drivers3074- fixed a race condition in parameter storage on ChibiOS3075- fixed use of zero GNSS timestamp in UAVCAN GPS driver3076- improved GCS messages during bootloader flash3077- fixed CS pin in bootloader that could corrupt FRAM on some boards3078- added GPS yaw to MAVLink GPS_RAW_INT message3079- added Hott telemetry support3080- added FRSky FPort support3081- fixed bug in CAN clock and queue handling on H7 based boards3082- added support for BRD_ALT_CONFIG for alternative hardware configs on several boards3083- added new boards CUAV-Nora, CUAV-X7, MatekH743, R9Pilot, mRoNexus3084- improved reporting of internal errors to GCS3085- fixed recursion bug in tonealarm player3086- fixed flaperon SERVO_AUTO_TRIM behaviour3087- added option to compensate forward throttle for battery voltage3088- added compensation in VTOL gains for pressure altitude3089- switched to new more flexible compass ordering system3090- fixed forcing of safety off on IOMCU reset3091- increased maximum compass scale factor to 1.43092- added RTL_CLIMB_MIN parameter for initial climb in RTL30933094The key changes to existing behaviour to watch out for in this update3095are:30963097USB IDs3098-------30993100ArduPilot has now switched to it's own USB IDs for all boards. For3101most users this won't cause any change, except they may notice the3102drop down list of devices in MissionPlanner will have the ArduPilot3103flight controllers labelled more usefully as "ArduPilot" instead of3104just "STM32". If you hit issues on windows please try reinstalling the3105device drivers from this URL:3106https://firmware.ardupilot.org/Tools/MissionPlanner/driver.msi31073108Terrain3109-------31103111A bug fix in the format ArduPilot uses to store terrain data means3112that your flight controller will need to re-download the terrain data3113onto the sdcard via your GCS. If you fly without a GCS and you use3114terrain data then please re-download the terrain data you need by3115setting up a mission when you have internet access and allowing your3116flight controller to request terrain data from your GCS.31173118Pressure Altitude Compensation3119------------------------------31203121This release adds in the missing hook for the VTOL motor controller on3122a quadplane to compensate the VTOL gains using your pressure3123altitude. For most people this will not have a noticible effect, but3124some users that have tuned their aircraft for high locations may3125notice a tuning change.31263127Compass Ordering3128----------------31293130The new compass ordering system in this release gives a lot more3131flexibility and should preseve existing configurations and3132calibrations. If you hit issues then please have a look at the new3133compass ordering user interface in recent beta releases of3134MissionPlanner.31353136Many thanks to everyone who contributed to and tested this release!31373138Happy flying!313931403141Release 4.0.5, 4th March 20203142-----------------------------31433144This release includes a one important bug fix and some minor3145enhancements. The changes are:31463147- fixed bug handling change of RC input source while MAVLink signing3148is active. This could cause a stack overflow and a crash31493150- added display of RC output types to aid in debugging DShot outputs31513152- modified clocking on H7 boards to produce more accurate clocks for3153DShot31543155- switched to new USB VIDs for dual-CDC boards31563157- fixed a bug in handling LOITER_TURNS for quadplanes when3158Q_GUIDED_MODE is enabled31593160- added a TECS reset at the end of a VTOL takeoff to handle aircraft3161with TECS climb rates below VTOL climb rates31623163Happy flying!31643165Release 4.0.4, 16th February 20203166---------------------------------31673168This release includes a significant number of changes from 4.0.3. Key3169changes are:31703171- re-sync the 4.0 release with Copter-4.0, bringing them in line so3172as to maximise cross-vehicle testing31733174- fixed a timing issue in IOMCU that could lead to loss of RC input3175frames and increased latency of output to ESCs on the IOMCU31763177- fixed a bug in restoring gains in QAUTOTUNE that could cause the3178aircraft to be unstable on leaving QAUTOTUNE mode31793180- fixed stack size of ftp thread31813182The Copter-4.0 re-sync brings in quite a few structural changes. The3183main user visible changes are:31843185- UAVCAN DNA server no longer needs a microSD card to operate31863187- added logging of UAVCAN servos and ESC feedback messages31883189- reduced QTUN logging rate to 25Hz31903191- reduced memory usage in EKF with multiple lanes31923193- Minor OSD improvements31943195- added a lot more scripting bindings31963197- fixed UAVCAN GPS status when not connected31983199- added EK3_MAG_EF_LIM limit for earth frame mag errors32003201- added MAVLink FTP support32023203- added support for WS2812 LEDs32043205Due to the significant number of changes with the re-sync I would3206particularly appreciate as much flight testing as we can get on this3207release.32083209Happy flying!32103211Release 4.0.3, 21st January 20203212--------------------------------32133214This is a minor release with a few bug fixes and enhancements. The3215changes since beta1 are:32163217- fixed 3 missing semaphore waits3218- fixed checking for bouncebuffer allocation on microSD card IO3219- fixed incorrect param count3220- prevent failsafe action from overriding a VTOL land3221- fixed compass calibration failures with auto-rotation detection3222- fixed errors on STM32H7 I2C (affects CubeOrange and Durandal)3223- fixed a race condition in FrSky passthrough telemetry3224- fixed DSM/Spektrum parsing for 22ms protocols3225- added fixed yaw compass calibration method3226- re-generated magnetic field tables3227- ensure SERIAL0_PROTOCOL is mavlink on boot32283229The most important fix is for FrSky pass-through telemetry. Pass3230through telemetry support had a race condition which could lead to the3231flight controller generating a fault and rebooting. Until you are3232running a firmware with the fix you should disable FrSky pass-through3233telemetry by changing SERIALn_PROTOCOL from 10 to 0 on the where you3234have SPort enabled.32353236Happy flying!32373238Release 4.0.2, 30th December 20193239---------------------------------32403241This is a minor release with a few bug fixes and enhancements. Changes3242are:32433244- fixed voltage scaling on CUAVv5Nano3245- fixed 10Hz NMEA output3246- fixed range check on RC channel selection3247- scale UART RX size with baudrate3248- default fast sampling enabled on first IMU for all capable boards3249- fixed bootloader flash alignment bug3250- fixed PWM 5 and 6 for MatekF765-Wing3251- support RM3100 compass on I2C3252- fixed error on AHRS level trim in preflight calibration3253- fixed handling of SB without BUSY on I2Cv1 devices3254- update bootloaders to be more robust to unexpected data3255- added new COMPASS_SCALE parameters and estimator to fix issue with3256compass in Here2 GPS3257- fixed issue with millis wrap on boards with 16 bit system timer3258(MatekF405, MatekF765, speedybeef4 and KakuteF4)3259- fixed i2c internal masks for several boards3260- fixed scaling of Blheli32 RPM conversion3261- changed to WFQ FrSky telemetry scheduler3262- enable LED pin on MatekF7653263- added params for Durandal battery monitor pins to param docs3264- updated bootloaders to reduce change of line noise stopping boot3265- fixed DMA error causing memory corruption in ChibiOS I2C driver3266- fixed param conversion from plane 3.9.x to plane 4.0.x for rangefinders3267- cope with UAVCAN GPS that doesn't provide AUX messages (Here2 GPS)3268- send temperatures for IMUs on mavlink3269- fixed I2C clock speed error on STM32H73270- fixed CR/LF output error for NMEA output32713272Happy flying!32733274Release 4.0.1, 22nd November 20193275---------------------------------32763277This is a minor release with a few bug fixes and enhancements. Changes3278are:32793280- Added Q_ASSIST_ALT parameter which offers a way for VTOL assistance3281at low altitudes32823283- fixed channels 5 and 6 on the MatekF765-Wing32843285- fixed a bug with sending data on a full UART in mavlink parameter3286download32873288- fixed use of UAVCAN primary GPS with UART secondary GPS32893290- fixed failover between rangefinders of same orientation32913292- added RC option for TAKEOFF mode32933294- fixed logging of current on secondary battery monitors32953296- fixed register checking on DPS280 for mRoControlZeroF732973298- added clock panel to OSD32993300- fixed B/E led brightness on Pixhawk433013302- support RTCM injection to UAVCAN GPS for RTK support33033304- fixed an RC failsafe bug that could cause the geofence to disable33053306- fixed a bug in the SDP33 airspeed driver33073308Happy flying!330933103311Release 4.0.1beta1, 17th November 20193312--------------------------------------33133314This is a minor release with a few bug fixes and enhancements for the33154.0 stable version.33163317Changes are:33183319- Added Q_ASSIST_ALT parameter which offers a way for VTOL assistance3320at low altitudes33213322- fixed channels 5 and 6 on the MatekF765-Wing33233324- fixed a bug with sending data on a full UART in mavlink parameter3325download33263327- added TECS_LAND_PMIN for constraining pitch minimum during landing33283329- fixed use of UAVCAN primary GPS with UART secondary GPS33303331- fixed failover between rangefinders of same orientation33323333- added RC option for TAKEOFF mode33343335- fixed logging of current on secondary battery monitors33363337- fixed register checking on DPS280 for mRoControlZeroF733383339- added clock panel to OSD33403341- fixed B/E led brightness on Pixhawk433423343- support RTCM injection to UAVCAN GPS for RTK support33443345Happy flying!33463347Release 4.0.0, 28th October 20193348--------------------------------33493350The final release of stable 4.0.0 has just one change from beta4,3351which is to fix a bug in the new TAKEOFF flight mode.33523353Many thanks to everyone who has been testing the 4.0 release, and3354special thanks to Henry for his fantastic work in bringing the wiki up3355to date for this release!33563357Happy flying!33583359Release 4.0.0beta4, 19th October 20193360------------------------------------33613362A small set of improvements over beta3:33633364- fixed time race in airspeed driver (thanks to liang)3365- fixed uninitialsed bytes in send_named_float()3366- added TAKEOFF flight mode33673368Happy flying!33693370Release 4.0.0beta3, 7th October 20193371------------------------------------33723373A small set of improvements over beta2:33743375- added Pixhawk1-1M build (for Pixhawk1 with 1M flash bug)3376- fixed a bug handling UART corruption for u-blox driver3377- fixed a CAN ISR latency bug for STM32H7 boards3378- fixed FMU channel mask to correctly obey SERVO_RATE3379- fixed use of DMA on Pixracer WiFi UART3380- reduced flash size and memory usage with EKF optimisation changes3381- fixed a BLHeli bug when no motors enabled3382- raise default LOG_FILE_BUFSIZE on boards with more memory3383- fixed units of custom AHRS orientations3384- fixed LOG_FILE_DSRMROT with delayed log stop on disarm3385- fixed block flash logging3386- fixed SLCAN bug on Pixhawk1 and fmuv23387- added check for airspeed and Z controller active for hover throttle learning3388- enable hover learning by default in quadplanes33893390Happy flying!33913392Release 4.0.0beta2, 24th September 20193393---------------------------------------33943395A small set of improvements over beta1:33963397- Added autoranging to current and voltage in OSD3398- fixed issue with motors spinning up in quadplane landing when below min lidar range3399- fixed empty pre-arm warning string in EKF3400- added code to cope with SCHED_LOOP_RATE being above max achievable rate3401- fixed delay on oneshot125 channels which was limiting loop rate3402- fixed use of uninitialised variable in mag fusion in EKF334033404Happy flying!34053406Release 4.0.0beta1, 16th September 20193407---------------------------------------34083409The 4.0.0 release of ArduPilot plane is a major release. It contains3410thousands of changes, some large and some small, developed over the3411last year. Key changes include:34123413- support STM32H7 MCUs (Durandal and CubeOrange currently)3414- QAUTOTUNE mode3415- in-flight compass calibration3416- support for dynamic node allocation server in UAVCAN3417- support for SLCAN pass-through3418- support for up to 10 battery backends3419- support for MAVLink message intervals3420- initial support for onboard Lua scripting3421- automatic remount of microSD cards3422- support for additional RC input on any UART3423- support for WS2812 LEDs3424- new simulators: Morse, Webots, SilentWings, Scrimmage3425- added AFS_MAX_RANGE for limiting vehicle range3426- added support for @READONLY in embedded parameter lists3427- added SERIALn_OPTIONS for inversion, half-duplex and swap3428- added support for reversible blheli32 ESCs3429- added GPS timing jitter correction3430- added Sum battery backend type3431- added fuel flow battery battery types3432- support landing gear control based on altitude3433- added loiter-to-alt approach for quadplane landing3434- added REVERSE_THROTTLE RCn_OPTION3435- added crow brakes for differential spoilers3436- support newer versions of JSBSim in SITL3437- added RObotis servo support3438- added UAVCAN servo support3439- added failure timer for quadplane forward transitions3440- added KDECAN and ToshibaCAN support3441- added RM3100 compass support3442- support new Invensense IMUs3443- many small improvements to tailsitter support3444- added QACRO mode3445- improved watchdog logging3446- improved EKF compass handling based on WMM data3447- added AP_Perip CAN peripheral firmware system3448- added IBUS R/C input support3449- support yaw from GPS3450- support DLVR I2C airspeed sensors3451- fixed FrSky telem packet loss3452- fixed SUMD for 16 channels via pulse input3453- support UAVCAN buzzers, safety switch, safety LED and airspeed3454- added NTF_BUZZ_VOLUME parameter34553456There are hundreds of other changes as well. I expect the beta period3457for this release to be quite long, and I would greatly appreciate as3458many test reports as possible. Please submit test results both for3459successful and unsuccessful tests!34603461Happy flying!346234633464Release 3.9.11, 15th September 20193465-----------------------------------34663467This release fixes two bugs:34683469- fixed an uninitialised byte in UAVCAN compass device IDs that3470caused users to need to re-calibrate UAVCAN compasses34713472- fixed an I2C interrupt storm that could potentially cause a3473crash. This crash has never been shown to happen in our stable3474releases, but is being fixed as a preventative measure34753476Release 3.9.10, 26th August 20193477-------------------------------------34783479This releases includes an important fix to IOMCU handling that fixes a3480problem where motors attached on the AUX channels can stop momentarily3481due to an error in the UART handling to the IOMCU.34823483Release 3.9.9, 4th August 20193484------------------------------34853486New plane stable release with two fixes over beta4:34873488- fixed setting file timestamps with u-blox F9 GPS (thanks to Martin Sollie)3489- fixed return value of LightWare serial rangefinder driver when out of range34903491Release 3.9.9beta4, 31st July 20193492----------------------------------34933494Minor update over beta3:34953496- fixed an issue with handling baro failure on CubeBlack3497- forced INS_USE3=1 on CubeBlack when first two IMUs are enabled34983499Release 3.9.9beta3, 28th July 20193500----------------------------------35013502Minor update over beta2:35033504- fixed issue with setting of EKF origin in GPS modes3505- added support for MS4525 on 4th I2C bus3506- added delay on LW20 I2C probe350735083509Release 3.9.9beta2, 11th July 20193510----------------------------------35113512Minor update over beta1:35133514- added mRoControlZeroF7 support3515- enabled IO pass-thru on FMU failure on ChibiOS builds35163517Release 3.9.9beta1, 8th July 20193518---------------------------------35193520This is a minor release with some important safety and flight3521improvement fixes.35223523Key changes are:35243525- learn EKF biases even for inactive IMUs, making IMU failover much more robust35263527- EKF uses earth magnetic field model to reduce in-flight compass errors35283529- EKF switches to first healthy IMU when disarmed35303531- IMU fix for dropped samples during high CPU usage35323533- added support for Ublox F9 GPS35343535- switched to ChibiOS I/O firmware for ChibiOS builds to support Spektrum bind35363537- CUAVv5 Nano LED fix35383539- fixed watchdog trigger on simple accelcal35403541- fixed drift of AMSL estimate when disarmed35423543- fixed rate integrator buildup when rate control disabled35443545Happy flying!35463547Release 3.9.8, 26th April 20193548------------------------------35493550This is a minor release with some important safety fixes. The fixes3551relate to two issues:35523553- implement hardware support to reset the CPU if a software or hardware3554failure causes the main loop to stop running35553556- fixed a bug in the handling of a failure of the primary IMU in a3557multi-IMU system35583559The first fix relates to a flyaway that happened on a RadioLink3560mini-pix flight controller. The mini-pix suffered a major hardware3561failure that led to the main loop stopping. As the mini-pix does not3562have an IO co-processor this resulted in fixed control surface outputs3563and fixed motor output, which led to a flyaway. The plane was found,3564but we want to ensure that if this ever happens again that the motor3565will stop and that the pilot will regain control of the aircraft.35663567The fix is to enable an option in the STM32 processor called3568"Independent Watchdog" (IWDG). The IWDG provides a mechanism to3569automatically reset the CPU on software or hardware failure resulting3570in the main loop stopping. When this happens the hardware also3571provides a mechanism for ArduPilot to know that it is booting after a3572watchdog reset, in which case it does the following:35733574- if the ChibiOS bootloader has been updated then it skips the normal35755 second delay in the bootloader35763577- it skips baromoter, gyro and airspeed calibration, allowing for3578very fast boot35793580- the home position and attitude estimate of the vehicle is restored3581to a point less than 0.3 seconds before the lockup35823583- the pilot regains full control, and if the pilot requests arming3584then arming checks are automatically bypassed35853586We have tested this on an aircraft with a deliberately induced full3587CPU lockup. The aircraft recovered and flew normally within 3 seconds3588of lockup, with the pilot having full control. This was with a board3589with no IOMCU. A board that does have an IOMCU (such as a Hex cube)3590would have had full manual control on FMU lockup without the changes3591in this new release. For those boards with IOMCU the advantage of the3592new release is that the pilot will regain the ability to use3593stabilised and auto modes (including RTL) after a full CPU lockup.35943595The additional protections of the IWDG support only apply to the3596ChibiOS builds. The IWDG is not supported in NuttX builds.35973598The second key fix in this release relates to IMU failure on multi-IMU3599systems. If the IMU that is associated with the currently active EKF3600lane failed then the fixed wing attitude controller would lose3601attitude control and the aircraft will crash unless the pilot takes3602manual control. This has been fixed to ensure that IMU failover3603operates correctly.36043605Other changes in this release:36063607- added support for the CUAVv5Nano board36083609- added retries to flash storage of parameters36103611- fixed pullups on some fmuv3 based boards that lack hardware pullups3612on sdcard data lines36133614- fixed fallback to microSD for parameter storage if a board with3615FRAM storage has a failed FRAM device36163617- added a specific check for hw failure regarding the recent3618CubeBlack safety bulletin36193620- fixed the power flags for brick2 on fmuv536213622Happy flying!362336243625Release 3.9.7, 1st April 20193626-----------------------------36273628This is a minor release to fix a single important bug in speed/height3629handling. The bug was in the TECS (total energy control system) and3630could cause a sustained pitch down due to a transient glitch in3631airspeed demand resulting in a large negative pitch integrator.36323633The log that found the bug was of a quadplane in CRUISE mode, and3634resulted in the aircraft forcing nose down for long enough to crash.36353636The fix includes both protections for the pitch integrator and a fix3637for the cause of the transient in airspeed demand affecting the TECS3638demanded airspeed.36393640Happy flying!364136423643Release 3.9.6, 4th March 20193644-----------------------------36453646This is a minor release with some important fixes for VTOL landings3647and EKF handling of compass switching.36483649- fixed throttle slew on dual-motor planes36503651- handle VTOL landings with incorrect height (or failed rangefinder)36523653- fixed EKF alt datum reset on barometer reset36543655- probe all I2C buses for rangefinders (fixes I2C lidar on boards3656with more than 2 I2C buses)36573658- fixed lightware serial detection for newer lidars such as LW2036593660- fixed motor relax code on VTOL landing to prevent motors powering3661up after touchdown36623663- fixed forward motor in quadplane landing transition to allow motors3664when landing at a height lower than takeoff height36653666- fixed throttle mix handling for VTOL planes on descent36673668- use WP altitude for height of ground in VTOL landing, allowing for3669good landings at heights well above or below takeoff height36703671- fixed EKF compass switching with 3 compasses36723673- fixed mini-pix UART order to match case markings36743675- added generated git hash to apj file36763677- fixed apj generation to not change based on time of build36783679- fixed thread creation to use any heap, fixing a bug on3680MatekF405-Wing with a compass36813682Happy flying!368336843685Release 3.9.5, 27th January 20193686--------------------------------36873688This is a minor update over the 3.9.4 release. This release includes3689the following changes:36903691- fixed orientation of 2nd IMU for OmnibusF7V236923693- fixed LEDs on Pixhawk4 and Pixhawk4-mini36943695- fixed safety switch on Pixhawk4-mini36963697- improved robustness of microSD support under ChibiOS36983699- support insert of a microSD after boot but before logging starts3700under ChibiOS37013702- added BRD_SD_SLOWDOWN parameter to allow microSD cards to be run at3703a lower clock to improve reliability37043705- fixed VTOL takeoff in quadplanes to ignore latitude/longitude in3706the mission item and always takeoff vertically37073708- added CubePurple (also known as PH2Slim) builds37093710- added DrotekP3Pro builds37113712- RC protocol decoding for SRXL, SUMD and ST24 extended to all boards3713including pixracer and ChibiOS-only boards37143715- fixed CAN on Pixhawk437163717- fixed EKF yaw reset in quadplanes37183719- fixed bug handling corruption of DSM RC protocols37203721- fixed internal amber LED on CubeBlack37223723Happy flying!372437253726Release 3.9.4, 10th December 20183727---------------------------------37283729This is a minor update over the 3.9.3 release. Changes are:37303731- fixed a critical bug in SBUS handling on the Pixhawk437323733- fixed bugs in benewake rangefinder driver37343735- added support for garmin LidarLite-V3HP37363737- improved error handling for TeraRanger Lidar37383739- fixed a bug in DSM handling for more than 7 channels on some boards37403741- fixed default voltage and current scaling for Pixhawk4 and PH4-mini37423743Happy flying!37443745Release 3.9.3, 10th November 20183746---------------------------------37473748The ArduPilot development team are delighted to announce the 3.9.33749stable release of the ArduPilot plane code. This release includes a3750number of small but important fixes over 3.9.2:37513752- fixed error handling for corrupt RC input that could lead to a3753crash in unusual circumstances37543755- fixed a race condition in IOMCU event startup that could lead to3756the safety not being disabled on boot with BRD_SAFETYENABLE=037573758- ensure surface speed scaling covers full range of configured3759airspeeds37603761- added builds for new boards F35Lightning, omnibusf4v6, mRoX21-77737623763- updated GPIO numbers on AUX pins on all boards to be consistent3764with docs37653766- updated KakuteF7 UARTs and buzzer37673768- added ESC sensor uart on OmnibusNanoV637693770- fix for Benewake rangefinder at long ranges37713772- prevent attempts to erase dataflash logs while armed37733774Many thanks to the people who tested this release!37753776Happy flying!377737783779Release 3.9.3beta1, 6th November 20183780-------------------------------------37813782This is the first beta release for the 3.9.3 firmware. This release3783has the following changes over 3.9.2:37843785- fixed error handling for corrupt RC input that could lead to a3786crash in unusual circumstances37873788- fixed a race condition in IOMCU event startup that could lead to3789the safety not being disabled on boot with BRD_SAFETYENABLE=037903791- ensure surface speed scaling covers full range of configured3792airspeeds37933794- added builds for new boards F35Lightning, omnibusf4v6, mRoX21-77737953796- updated GPIO numbers on AUX pins on all boards to be consistent3797with docs37983799- updated KakuteF7 UARTs and buzzer38003801- added ESC sensor uart on OmnibusNanoV638023803Happy flying!380438053806Release 3.9.2, 10th October 20183807--------------------------------38083809The ArduPilot development team are delighted to announce the 3.9.23810stable release of the ArduPilot plane code. This release includes a3811number of small but important fixes over 3.9.1.38123813The changes since the 3.9.2beta3 release are:38143815- fixed a DShot send bug that could lead to board lockup38163817- fixed RGB LED display on Pixracer under both NuttX and ChibiOS38183819- fixed safety switch option handling bug38203821Thanks for the bug reports and testing by all users for the 3.9.2beta3822series!38233824Happy flying!382538263827>>>>>>> a9d5581378... Plane: updated release notes for 3.9.8-beta13828Release 3.9.2beta3, 20th September 20183829---------------------------------------38303831The is the third beta release of the plane 3.9.2 stable release. It3832contains a small number of fixes:38333834- fixed clearing of loiter pilot acceleration targets for quadplanes38353836- fixed handling of duplicate rotations for COMPASS_AUTO_ROT38373838I expect this will be the last beta release before 3.9.238393840Happy flying!38413842Release 3.9.2beta2, 15th September 20183843---------------------------------------38443845The is the second beta release of the plane 3.9.2 stable release. It3846contains a number of important bug fixes.38473848- implement failsafe PWM in IOMCU, for AFS failsafe when FMU dies38493850- handle reversed channels correctly in AFS failsafe38513852- fixed twin motor plane handling in AFS failsafe38533854- fixed a bug in Q_ASSIST_SPEED support for tiltrotors that could3855lead to zero throttle when assistance triggers.38563857- lower default PTCH2SRV_D to 0.04 after reports of oscillation on3858small flying wings38593860- added speed scaler reduction in Q modes when at low airspeed38613862- fixed synthetic airspeed estimation to be along +ve X axis38633864- fixed relaxing of VTOL attitude controller on transition (thanks to3865Leonard Hall)38663867- default COMPASS_AUTO_ROT to 2 on all boards38683869- fixed UART speed rounding bug that caused failure at high board3870rates38713872- fixed a short glitch in position control on quadplane transition3873(many thanks to Leonard for lots of help with this)38743875- fixed RSSI voltage from IOMCU38763877Thanks to everyone who has contributed, and please report all test3878results with this beta.38793880Happy flying!38813882Release 3.9.2beta1, 12th September 20183883---------------------------------------38843885The is the first beta release of the plane 3.9.2 stable release. It3886contains a number of important bug fixes.38873888- fixed a quadplane bug that could cause large attitude instability3889during takeoff if the aircraft does not have enough power to climb3890to its target height. Thanks to Leonard for the fix.38913892- fixed a bug that prevented dead-reckoning working on GPS loss.38933894- fixed an ADC bug that prevented some boards from using all of their3895analog input. Thanks to vierfuffzig for reporting!38963897- fixed a bug in advanced failsafe support that left RC input to3898throttle active after termination. Thanks to Michael Thomas for3899finding this bug.39003901- fixed use of OLED displays on the first I2C bus on systems with two3902I2C buses39033904Thanks to everyone who has contributed, and please report all test3905results with this beta.39063907Happy flying!390839093910Release 3.9.1, 31st August 20183911-------------------------------39123913The ArduPilot dev team are delighted to announce a new stable plane3914release. This is a minor release, but does include some important3915fixes.39163917The only change over the 3.9.1beta3 release is an increase in the USB3918buffer size to give faster log download over USB.39193920Other important changes from the 3.9.1beta releases include:39213922- updated to default values for some tuning parameters39233924- fixed a critical safety issue found by Oliver Volkmann, and fixed3925by Michael du Breuil. The problem could lead to quadplane motors3926starting on reboot39273928- fixed a bug where RC failsafe could lead rudder input stuck at the3929last rudder input value in some modes. Thanks to Michael du Breuil3930for the fix39313932- improved DShot and BLHeli-passthrough support, fixing errors3933reported by BLHeli32 ESCs and making using BLHeliSuite32 much more3934reliable39353936- new tonealarm system, bringing the tones produced under ChibiOS and3937Linux HALs in line with tones produced under the HAL_PX4 HAL.39383939- added a new LED driver for the NCP5623 LED39403941- fixed delay caused by parameter writes in AP_Stats39423943- fixed default RSSI input pin on some boards39443945- fixed the incorrect display of "no io thread heartbeat" message39463947- fixed microSD support on some boards due to running out of DMA3948capable memory39493950Many thanks to everyone who has been testing the beta releases.39513952Happy flying!395339543955Release 3.9.1beta3, 23rd August 20183956------------------------------------39573958This is the third beta for the 3.9.1 release, which is a minor3959update over 3.9.0. This release includes the following changes:39603961- fixed a critical safety issue found by Oliver Volkmann, and fixed3962by Michael du Breuil. The problem could lead to quadplane motors3963starting on reboot39643965- fixed a bug where RC failsafe could lead rudder input stuck at the3966last rudder input value in some modes. Thanks to Michael du Breuil3967for the fix39683969- raised OSD thread stack size to 1024 (needed for new OSD items)39703971Thanks to everyone who is testing the 3.9.1beta series!39723973Release 3.9.1beta2, 17th August 20183974------------------------------------39753976This is a the second beta for the 3.9.1 release, which is a minor3977update over 3.9.0. This release includes the following changes:39783979- increased default buffer sizes in dataflash for some boards39803981- fixed a bug with small dataflash buffers39823983- updated OSD with new items: hdop, temperature, waypoint, xtrack,3984flight distance, flighttime, efficiency (thanks to Hwurzburg,3985vierfuffzig and sh83).39863987- reduced memory usage in serial buffers39883989- adjusted some default parameters to give a better first flight3990experience for more users.39913992The default parameter changes are:39933994- RLL2SRV_P from 0.6 to 1.03995- RLL2SRV_I from 0.1 to 0.33996- RLL2SRV_D from 0.02 to 0.083997- PTCH2SRV_P from 0.6 to 1.03998- PTCH2SRV_I from 0.1 to 0.33999- PTCH2SRV_D from 0.02 to 0.084000- TECS_PITCH_MAX from 0 to 154001- NAVL1_PERIOD from 20 to 1740024003The PID parameter changes won't affect anyone who has done some4004tuning, but will make the first flight experience for a new user be a4005lot better for nearly all aircraft. Paul and I decided on the values4006based on experience with users flight logs, plus the experience users4007have had with AUTOTUNE mode.40084009Please report testing results!40104011Happy flying40124013Release 3.9.1beta1, 15th August 20184014------------------------------------40154016This is a the first beta for the 3.9.1 release, which is a minor4017update over 3.9.0. This release includes the following changes:40184019- improved DShot and BLHeli-passthrough support, fixing errors4020reported by BLHeli32 ESCs and making using BLHeliSuite32 much more4021reliable40224023- new tonealarm system, bringing the tones produced under ChibiOS and4024Linux HALs in line with tones produced under the HAL_PX4 HAL.40254026- added a new LED driver for the NCP5623 LED40274028- fixed delay caused by parameter writes in AP_Stats40294030- fixed default RSSI input pin on some boards40314032- fixed the incorrect display of "no io thread heartbeat" message40334034- fixed microSD support on some boards due to running out of DMA4035capable memory40364037Given the changes are quite small, I hope to make this a fairly short4038beta cycle. Please test it and report both success and failure.40394040Happy flying!40414042Release 3.9.0, 6th August 20184043------------------------------40444045The ArduPilot development team is delighted to announce a new stable4046release of plane, version 3.9.0.40474048For those of you who have been testing the 3.9.0beta releases then you4049won't see any surprises here. That are no changes since40503.9.0beta6. Also, many thanks for testing the betas!40514052For those of you coming from the last stable 3.8.5 release there are a4053lot of changes. For a start, this is the first release to support both4054the ChibiOS RTOS on STM32 boards and the NuttX RTOS. Previously stable4055releases only used the NuttX RTOS. The ArduPilot project is moving to4056ChibiOS for future releases, and we expect to drop support for the4057NuttX builds for the next major stable release (which will probably be4058called 3.10.0).40594060When you install the 3.9.0 release on board such as a Pixhawk1, Cube4061or Pixracer you have a choice of which build to use. Choosing ChibiOS4062will give you better performance and some very nice new4063features. Choosing the NuttX (also known as "PX4" builds) will get you4064the same base that we have been using for years.40654066There are a few features that are in the NuttX build but not yet in4067the ChibiOS build, in particular the ChibiOS build does not yet4068support PWM based rangefinders. That will be fixed in a future4069release.40704071This release has a lot of new features. Some of the most important4072ones are:40734074- DShot support for controlling ESCs4075- BLHeli pass-thru support for ESC configuration4076- automatic compass orientation on calibrating compasses4077- improved VTOL flight code, with improved transition support and loiter4078- support for Devo telemetry output4079- new battery monitoring system, with more flexible failsafes4080- built-in OSD support for boards with a MAX7456 OSD device40814082In addition, this release supports a lot of new flight boards,4083including:40844085- AirbotF44086- F4BY4087- KakuteF44088- KakuteF74089- MatekF4054090- MatekF405-Wing4091- mindpx-v24092- mini-pix4093- Omnibusf4pro4094- Omnibusf7V24095- Pixhawk4 and Pixhawk4-mini4096- CUAVv54097- revo and revo-mini4098- sparky240994100We also now have custom ChibiOS based builds for some existing boards,4101including:41024103- CubeBlack4104- mRoX214105- Pixhawk14106- Pixracer41074108This means you now have a lot more choice in selecting a flight board4109to use with ArduPilot.41104111This release was made possible thanks to contributions from dozens of4112volunteer developers in the dev team. In total there are over 54113thousand changes since the 3.8.5 release. Special thanks to:41144115- Siddharth Purohit4116- Tom Pittenger4117- Randy Mackay4118- Michael du Breuil4119- Peter Barker4120- Mark Whitehorn4121- Paul Riseborough4122- Francisco Ferreira4123- Jonathan Challinger4124- Leonard Hall4125- Alexander Malishev4126- Nathan E4127- Marco Robustini4128- Luis Vale Gonçalves4129- night-ghost4130- Patrick José Pereira4131- Lucas De Marchi4132- Eugene Shamaev4133- Philip Rowse4134- Amilcar Lucas4135- Kelly Foster4136- Fnoop4137- Pierre Kancir4138- Stephen Dade4139- Jaime Machuca4140- vierfuffzig4141- Henry Wwurzburg4142- Malcolm Churn4143- Holger Steinhaus41444145We hope you enjoy flying this release as much as we enjoyed making4146it. Happy flying!41474148Release 3.9.0beta6, 30th July 20184149----------------------------------41504151This is the sixth in a series of beta releases for plane 3.9.0. I aims4152to be the final beta.41534154Changes in this release are:41554156- added Q_TAILSIT_THSCMX parameter for tailsitters (thanks to IamPete)4157- added KakuteF7 bootloader4158- fixed arming error with trim on unusued RC channels4159- fixed microSD support on KakureF7 and OmnibusF7V2 (thanks sh83)4160- fixed VL53L0X rangefinder driver4161- added Pixhawk1 ChibiOS build4162- fixed update rate for servos in tailsitters4163- set COMPASS_AUTO_ROT to 2 for most boards4164- improved OmnibusF7V2 support4165- support all external compasses on mini-pix4166- clear COMPASS_DEV_ID for unused compasses41674168Happy flying!41694170Release 3.9.0beta5, 19th July 20184171----------------------------------41724173This is the fifth in a series of beta releases for plane 3.9.0. It4174fixes two important bugs over 3.9.0beta441754176- fixed RC failsafe on IOMCU when a SBUS receiver is set to "hold" mode4177- allowed for RC override failsafe to support holding override value4178on timeout41794180Thanks to Jon and Michael for the failsafe fixes!41814182It also includes two smaller changes:41834184- updated F4BY board id, and added F4BY to autobuild list4185- fixed UARTD for px4-v1 build41864187Release 3.9.0beta4, 18th July 20184188----------------------------------41894190This is the fourth in a series of beta releases for plane 3.9.0. It is4191a major release, with a lot of changes.41924193- fixed compass detection on pixracer4194- greatly improved OSD support4195- fixed ARMING_REQUIRE=2 support (thanks Marco!)4196- added automatic compass orientation support4197- added probe for all external compasses on new ChibiOS boards4198- fixed arming with compass disabled4199- fixed flow control on F7 based boards4200- fixed prealloc of DMA bouncebuffers4201- added board specific builds for mRoX21 and Pixracer4202- fixed mRoX21 IMU detection42034204Many thanks to all who contributed to this release, and our beta testers!42054206Release 3.9.0beta3, 11th July 20184207----------------------------------42084209This is the third in a series of beta releases for plane 3.9.0. It is4210a minor update to beta242114212Changes are:42134214- fixed nul termination of system ID on ChibiOS4215- added PH4-mini support4216- fixed compass orientation on fmuv54217- matched BRD_PWM_COUNT between px4-v3 and fmuv34218- fixed MatekF405-Wing compass orientation4219- backup storage to microSD if possible422042214222Release 3.9.0beta2, 6th July 20184223---------------------------------42244225This is the second in a series of beta releases for plane 3.9.0. It is4226a major release, with a lot of changes.42274228- Builtin OSD support on boards with MAX7456 OSD device4229- fixed throttle display on twin-engine planes4230- improved timing in mavlink remote sensors4231- added many more board types to autobuild4232- fixed airspeed reporting for unhealthy sensors4233- fixed log timestamps on ChibiOS4234- added force arm option4235- added fmuv5 support4236- added CubeBlack build4237- added ESC telemetry virtual battery4238- added SERIAL6 on fmuv4 and fmuv54239- added MatekF405-Wing support4240- added AP_Bootloader4241- support bootloader update over MAVLink4242- enable sdcard on several F4 boards4243- fixed serial number logging on ChibiOS boards4244- fixed revo-mini compass orientation42454246Many thanks to all who contributed to this release, and our beta testers!42474248Release 3.9.0beta1, 21st May 20184249---------------------------------42504251This is the first in a series of beta releases for plane 3.9.0. It is4252a major release, with a lot of changes.42534254The main changes are for supporting two new HALs (hardware abstraction4255layers). One is the port to ChibiOS and the second is the F4Light HAL.42564257These ports bring a host of new flight board options, and a lot of new4258features. Some highlights include:42594260- support for many inexpensive STM32F4 based flight boards42614262- support for DShot output for BLHeli ESCs, including ESC telemetry4263feedback42644265- new battery monitoring system with more flexible failsafe options42664267- support for Devo telemetry output42684269- a new position hold library for multicopters which improves4270quadplane VTOL support42714272This release is fully compatible with previous releases, and users4273should not notice a significant difference in flight. The focus of the4274beta testing will be on ensuring that the new flight board support is4275stable.42764277Happy flying!42784279Release 3.8.5, 25th April 20184280------------------------------42814282This release includes small bug fixes and one safety fix. The changes4283are:42844285- fixed an issue where the external safety button can activate in4286flight on some boards, causing them to crash. A new parameter4287BRD_SAFETYOPTION is added which controls the behaviour of the4288safety button. The default is to de-activate the safety button when4289armed.42904291- fixed default orientation of ICM-20948 compass for Here GPS42924293- added support for dual airspeed sensors42944295- added support for the SDP33 airspeed sensor. This is still4296considered experimental. There are reports of it underestimating4297the aircrafts speed at higher altitudes.42984299- add support for the MS5525 airspeed sensor on multiple I2C4300addresses. Two new values of the ARSDP_TYPE are introduced (4 and43015) for specific I2C addresses. This allows you to deconflict the4302MS5525 from a MS5611 barometer on the same bus.43034304Release 3.8.4, 9th January 20184305-------------------------------43064307This is a minor release with just two small changes.43084309The first change is to fix a timing bug in the MS5525 airspeed sensor4310driver. That bug was causing unreliable airspeed sensing. Thanks to4311David Ingraham for providing logs that helped find the issue.43124313The second change is to fix transitions in AUTO mode in4314tailsitter. The transition for tailsitters was causing instability on4315transition from vertical takeoff to forward flight.431643174318Release 3.8.3, 13th November 20174319---------------------------------43204321This is a minor release with a number of important bug fixes and some4322small feature additions.43234324The most important general fixes are for an I2C device detection bug4325and fixing the implementation of MANUAL_RCMASK.43264327There are quite a number of small fixes in lots of areas, plus big4328improvements to the handling of tailsitter transitions.43294330Another significant change is to the handling of transitions from RTL4331to QRTL when Q_RTL_MODE=1. We now transition to QRTL at a distance4332which is the maximum of RTL_RADIUS and a distance calculated based on4333a new Q_TRANS_DECEL "transition deceleration" parameter. That allows4334you to tune the amount of deceleration you want in the transition4335according to how much drag your quadplane has. This also means it4336automatically accounts for wind speed and approach speed in4337calculating the transition point.43384339We have also added a new Q_OPTIONS parameter which is a bitmask of4340option flags to control quadplane behaviour. We have three options so4341far. The first is to allow for keeping the wings within4342LEVEL_ROLL_LIMIT degrees during transitions, for users that prefer4343transitions to be kept level. The 2nd and 3rd options are to treat4344NAV_TAKEOFF as NAV_VTOL_TAKEOFF and NAV_LAND as NAV_VTOL_LAND in4345quadplane missions, so that you can use GCS software that doesn't know4346about the VTOL takeoff and land commands.43474348- allow vertical takeoffs in GUIDED mode with Q_GUIDED_MODE=043494350- fixed a bug in implementation of MANUAL_RCMASK43514352- eliminate airspeed positive bias after offset zero43534354- prevent quadplane controller windup on the ground43554356- added Q_MAV_TYPE for setup of VTOL vehicle type for QGC43574358- improved performance of FlightAxis SITL43594360- support LOITER_TO_ALT in quadplanes43614362- fixed a bug in TECS related to descending quadplane transitions43634364- added Q_OPTIONS for controlling roll during transitions and4365allowing for fixed wing takeoff and landing43664367- fixed a race condition in IMU logging43684369- fixed a race in i2c device probing43704371- log critical messages while disarmed43724373- added IST8310 compass on FMUv3 I2C43744375- probe for QMC5883 by default43764377- avoid double detection of AK09916 compass43784379- smooth out tailsitter transitions in both directions43804381- fixed use of RTL_RADIUS for QRTL threshold and added Q_TRANS_DECEL43824383- fixed course unlocking with rudder in CRUISE mode43844385We hope you have as much fun flying this release as we had producing4386it. Happy flying!43874388Release 3.8.2, 11th September 20174389----------------------------------43904391This is a minor release, with a few small fixes and one important4392crash bug fix.43934394The crash bug is in the Septentrio (SBF) GPS driver. Anyone flying4395with an SBF GPS should update to this release. The driver had a bug4396that could cause a in-flight crash under some circumstances.43974398Other changes in this release are:43994400- support takeoff in GUIDED mode for quadplanes44014402- support changing target altitude while hovering in GUIDED mode for4403quadplanes44044405- improved descent rate control in QRTL and QLAND modes. This fixes4406an issue with higher than configured descent rates, and smoothes4407out the change in descent rate for the change to the final landing4408stage44094410- smooth out the transition to QLOITER or QLAND when transitioning4411from fixed wing mode. This prevents the sudden nose up when4412changing to QLOITER or QLAND mode while flying at high speed.44134414- added MANUAL_CONTROL support, allowing for joystick control from QGroundControl44154416Happy flying!44174418Release 3.8.1, 3rd September 20174419---------------------------------44204421This is a bugfix release for 3.8.0, with just a few small changes, and4422only one new feature.44234424The bug fixes are:44254426- removed TRIM_RC_AT_START option, as this was causing significant4427issues44284429- fixed bug in TRIM_AUTO support with differential spoilers44304431- fixed bug with RCn_TRIM == RCn_MIN in MANUAL mode44324433- fixed combination of TKOFF_THR_MINACC and TKOFF_THR_DELAY44344435- fixed a bug in sending STATUSTEXT messages on all MAVLink channels44364437The new feature is that you can set the protocol for the debug UART on4438FMUv2 or FMUv3 board (such as a Pixhawk or Cube) to allow allow UART54439to be used for arbitrary protocols. To use this fetaure just set4440SERIAL5_PROTOCOL to the desired serial protocol. This should be useful4441to users who have multiple serial devices (such as rangefinders) they4442want to connect and have run out of UARTs.44434444Happy flying!444544464447Release 3.8.0, 5th August 20174448------------------------------44494450The ArduPilot development team is very proud to announce the release4451of APM:Plane 3.8.0. This is a major release, with a lot of new4452features and improvements. The release has been a long time coming,4453and the dev team would like to thank everyone who has contributed,4454in terms of code and documentation as well as the many testers of beta4455versions of the code.44564457To help with migration from the 3.7.1 release to 3.8.0 there is a4458migration guide here:44594460http://ardupilot.org/plane/docs/plane-3-7-to-3-8-migration.html44614462All users should read the migration guide carefully. While the4463firmware will try to auto-migrate most settings, please do very4464careful ground tests before your first flight with 3.8.44654466In total there have been over 4 thousand changes in the ArduPilot git4467tree since the 3.7.1 release, with over four hundred of those specific4468to fixed wing aircraft. Listing all of them in these release notes is4469not practical, but the following list will give some of the larger4470changes:44714472- addition of EKF3 support (disabled by default)4473- new SERVO parameter system for servo output configuration4474- support for MS5525 airspeed sensor4475- support for a wide range of tiltrotor quadplanes4476- support for tailsitter aircraft (including vectored tailsitters)4477- support for twin-motor aircraft, with differential thrust4478- new system for elevon, vtail, flaperon and differential spoiler setup4479- support for deep stall landings4480- support for dual-gps blending4481- support for masking compass types for driver loading4482- completely new DMA based and high sample rate IMU drivers4483- support for px4pro board from Drotek4484- several new compass drivers, new IMU drivers and new GPS drivers4485- new MANUAL_RCMASK system for fine-grained MANUAL flight setup4486- support for log rotation on disarm4487- numerous quadplane improvements4488- fixed loiter behaviour with Q_GUIDED_MODE=14489- allow rudder arming in CRUISE and FBWB modes4490- fixed bug in transmitter tuning support4491- fixed bug in attitude integrator zero on mode change4492- added SYSID_ENFORCE parameter4493- fixed support for vtail rudder-only planes4494- greatly improved automatic landing accuracy4495- support for high update rates on all servos with SERVO_RATE parameter4496- greatly improved UAVCAN support, with parameters now in CAN_ parameter space4497- support for prop-hang on 3D aircraft4498- improved quadplane PID logging4499- smoother takeoffs for quadplanes4500- logging of side-slip and angle-of-attack estimates4501- added AETR, pre-mixer logging4502- automatic thermalling support45034504Release 3.8.0beta5, 1st May 20174505--------------------------------45064507The ArduPilot development team is proud to announce the release of4508version 3.8.0beta of APM:Plane. This is a major release. All users4509should carefully check their setup when upgrading.45104511Major changes include:45124513- new SRV_Channel system for setting up of output servos separately4514from input RC channels4515- new elevon and vtail support system4516- new EKF3 state estimator (not enabled by default yet)4517- support for tailsitter aircraft4518- greatly improved support for tilt-rotor quadplanes4519- greatly improved quadplane transition code4520- support for deepstall landing4521- large improvements in airspeed noise handling4522- much improved RTK GPS support4523- support automatic servo trimming4524- greatly improved automatic landing accuracy4525- significant improvements in altitude handling4526- significant improvement in sensor drivers, with higher sample rates4527and improved vibration resistance45284529On top of that there have been hundreds of smaller improvements and4530bug fixes.45314532From the users point of view the most significant change in setup is4533moving of RCn_FUNCTION parameters into new SERVOn_FUNCTION parameters,4534and the creation of separate output MIN/MAX/TRIM values for all servo4535outputs. This allows for much more flxible output setup that is4536independent of RC input setup.45374538Release 3.7.1, 21st October 20164539--------------------------------45404541The ArduPilot development team is proud to announce the release of4542version 3.7.1 of APM:Plane. This is a minor bug fix release. A major4543release of 3.8.0 is also being prepared now and will be in beta soon.45444545Changes in this release:45464547- fixed arming check error on FMUv4 (pixracer)4548- fixed pilot throttle based motor test for quadplane4549- fixed use of multicopter mix_max in quadplane4550- fixed AFS termination bugs for quadplanes4551- added automatic ICE engine cut in QLAND4552- fixed loiter mode with Q_GUIDED_MODE=14553- fixed navigation at lattitude of exactly zero4554- fixed quadplane transition without airspeed sensor4555- fixed rudder arming in CRUISE and FBWB modes4556- fixed throttle slew rate in MANUAL mode for quadplanes4557- fixed multiple bugs in transmitter tuning for quadplane rates4558- fixed mavlink system ID in early startup on USB4559- slow down update of home position4560- update Disco battery lookup table4561- improved compass calibration code for larger offsets45624563Many thanks to everyone who contributed to this release!45644565Release 3.7.0, 9th September 20164566---------------------------------45674568The ArduPilot development team is proud to announce the release of4569version 3.7.0 of APM:Plane. This is a major update so please read the4570notes carefully.45714572The biggest changes in this release are:45734574- more reliable recovery from inverted flight4575- automatic IC engine support4576- Q_ASSIST_ANGLE for stall recovery on quadplanes4577- Pixhawk2 IMU heater support4578- PH2SLIM support4579- AP_Module support4580- Parrot Disco support4581- major VRBrain support merge4582- much faster boot time on Pixhawk45834584I'll give a bit of detail on each of these changes before giving the4585more detailed list of changes.45864587More reliable recovery from inverted flight45884589Marc Merlin discovered that on some types of gliders that ArduPilot4590would not reliably recover from inverted flight. The problem turned4591out to be the use of the elevator at high bank angles preventing the4592ailerons from fully recovering attitude. The fix in this release4593prevent excessive elevator use when the aircraft is beyond4594LIM_ROLL_CD. This should help a lot for people using ArduPilot as a4595recovery system for manual FPV flight.45964597Automatic IC engine support45984599ArduPilot has supported internal combustion engines for a long time,4600but until now the pilot has had to control the ignition and starter4601manually using transmitter pass throughs. A new "ICE" module in4602ArduPilot now allows for fully automatic internal combustion engine4603support.46044605Coupled with an RPM sensor you can setup your aircraft to4606automatically control the ignition and starter motor, allowing for one4607touch start of the motor on the ground and automatic restart of the4608motor in flight if needed.46094610The IC engine support is also integrated into the quadplane code,4611allowing for automatic engine start at a specified altitude above the4612ground. This is useful for tractor engine quadplanes where the4613propeller could strike the ground on takeoff. The engine can also be4614automatically stopped in the final stage of a quadplane landing.46154616Q_ASSIST_ANGLE for stall recovery46174618Another new quadplane feature is automatic recovery from fixed wing4619stall. Previously the VTOL motors would only provide assistance in4620fixed wing modes when the aircraft airspeed dropped below4621Q_ASSIST_SPEED. Some stalls can occur with higher airspeed however,4622and this can result in the aircraft losing attitude control without4623triggering a Q_ASSIST_SPEED recovery. A new parameter Q_ASSIST_ANGLE4624allows for automatic assistance when attitude control is lost,4625triggering when the attitude goes outside the defined roll and pitch4626limits and is more than Q_ASSIST_ANGLE degrees from the desired4627attitude. Many thanks to Iskess for the suggestion and good discussion4628around this feature.46294630Pixhawk2 heated IMU support46314632This release adds support for the IMU heater in the upcoming Pixhawk2,4633allowing for more stable IMU temperatures. The Pixhawk2 is4634automatically detected and the heater enabled at boot, with the target4635IMU temperature controllable via BRD_IMU_TARGTEMP.46364637Using an IMU heater should improve IMU stability in environments with4638significant temperature changes.46394640PH2SLIM Support46414642This release adds support for the PH2SLIM variant of the Pixhawk2,4643which is a Pixhawk2 cube without the isolated sensor top board. This4644makes for a very compact autopilot for small aircraft. To enable4645PH2SLIM support set the BRD_TYPE parameter to 6 using a GCS connected4646on USB.46474648AP_Module Support46494650This is the first release of ArduPilot with loadable module support4651for Linux based boards. The AP_Module system allows for externally4652compiled modules to access sensor data from ArduPilot controlled4653sensors. The initial AP_Module support is aimed at vendors integrating4654high-rate digital image stabilisation using IMU data, but it is4655expected this will be expanded to other use cases in future releases.46564657Parrot Disco Support46584659This release adds support for the Parrot C.H.U.C.K autopilot in the4660new Disco airframe. The Disco is a very lightweight flying wing with4661a nicely integrated Linux based autopilot. The Disco flies very nicely4662with ArduPilot, bringing the full set of mission capabilities of4663ArduPilot to this airframe.46644665Major VRBrain Support Update46664667This release includes a major merge of support for the VRBrain family4668of autopilots. Many thanks to the great work by Luke Mike in putting4669together this merge!46704671Much Faster Boot Time46724673Boot times on Pixhawk are now much faster due to a restructuring of4674the driver startup code, with slow starting drivers not started unless4675they are enabled with the appropriate parameters. The restructuring4676also allows for support of a wide variety of board types, including4677the PH2SLIM above.46784679This release includes many other updates right across the flight4680stack, including several new features. Some of the changes include:46814682- improved quadplane auto-landing4683- limit roll and pitch by Q_ANGLE_MAX in Q modes4684- improved ADSB avoidance and MAVLink streaming4685- smoother throttle control on fixed-wing to VTOL transition4686- removed "demo servos" movement on boot4687- fixed a problem with spurious throttle output during boot (thanks4688to Marco for finding this)4689- support MAVLink SET_ATTITUDE_TARGET message4690- log all rally points on startup4691- fixed use of stick mixing for rudder with STICK_MIXING=04692- fixed incorrect tuning warnings when vtol not active4693- support MAVLink based external GPS device4694- support LED_CONTROL MAVLink message4695- prevent baro update while disarmed for large height change4696- support PLAY_TUNE MAVLink message4697- added AP_Button support for remote button input reporting4698- support Ping2020 ADSB transceiver4699- fixed disarm by rudder in quadplanes4700- support 16 channel SERVO_OUTPUT_RAW in MAVLink24701- added automatic internal combustion engine support4702- support DO_ENGINE_CONTROL MAVLink message4703- added ground throttle suppression for quadplanes4704- added MAVLink reporting of logging subsystem health4705- prevent motor startup on reboot in quadplanes4706- added quadplane support for Advanced Failsafe4707- added support for a 2nd throttle channel4708- fixed bug in crash detection during auto-land flare4709- lowered is_flying groundspeed threshold to 1.5m/s4710- added support for new FrSky telemetry protocol variant4711- added support for fence auto-enable on takeoff in quadplanes4712- added Q_ASSIST_ANGLE for using quadplane to catch stalls in fixed wing flight4713- added BRD_SAFETY_MASK to allow for channel movement for selected channels with safety on4714- numerous improvements to multicopter stability control for quadplanes4715- support X-Plane10 as SITL backend4716- lots of HAL_Linux improvements to bus and thread handling4717- fixed problem with elevator use at high roll angles that could4718prevent attitude recovery from inverted flight4719- improved yaw handling in EKF2 near ground4720- added IMU heater support on Pixhawk24721- allow for faster accel bias learning in EKF24722- fixed in-flight yaw reset bug in EKF24723- added AP_Module support for loadable modules4724- support Disco airframe from Parrot4725- use full throttle in initial takeoff in TECS4726- added NTF_LED_OVERRIDE support4727- added terrain based simulation in SITL4728- merged support for wide range of VRBrain boards4729- added support for PH2SLIM and PHMINI boards with BRD_TYPE4730- greatly reduced boot time on Pixhawk and similar boards4731- fixed magic check for signing key in MAVLink24732- fixed averaging of gyros for EKF2 gyro bias estimate473347344735Release 3.6.0, 6th June 20164736----------------------------47374738The ArduPilot development team is proud to announce the release of4739version 3.6.0 of APM:Plane. This is a major update so please read the4740notes carefully.47414742The biggest changes in this release are:47434744- major update to PX4Firmware code4745- major update to QuadPlane code4746- addition of MAVLink2 support47474748The updated PX4Firmware tree greatly improves support for the new4749Pixracer boards as well as improving scheduling performance and UAVCAN4750support.47514752The QuadPlane changes are very extensive in this release. A lot of new4753features have been added, including:47544755- improved automatic weathervaning4756- greatly improved support for mixed fixed wing and VTOL missions4757- automatic RTL with VTOL land4758- VTOL GUIDED mode support4759- greatly improved transition code4760- new tuning system for VTOL motors4761- extensive upgrade to logging system for much better flight analysis47624763The new QuadPlane features are documented at:47644765http://ardupilot.org/plane/docs/quadplane-support.html47664767There is also a prototype implementation supporting tiltrotors and4768tiltwings, but so far it has only been flown in simulations and it4769should be considered very experimental.47704771Detailed changes include:47724773- added motortest for all quad motors in sequence4774- merge upstream PX4Firmware changes4775- new AC_AttitudeControl library from copter for quadplane4776- modified default gains for quadplanes4777- new velocity controller for initial quadplane landing4778- smooth out final descent for VTOL landing4779- changed default loop rate for quadplanes to 300Hz4780- support up to 16 output channels (two via SBUS output only)4781- fixed bug with landing flare for high values of LAND_FLARE_SEC4782- improved crash detection logic4783- added in-flight transmitter tuning4784- fix handling of SET_HOME_POSITION4785- added Q_VFWD_GAIN for forward motor in VTOL modes4786- added Q_WVANE_GAIN for active weathervaning4787- log the number of lost log messages4788- Move position update to 50hz loop rather then the 10hz4789- Suppress throttle when parachute release initiated, not after release.4790- support Y6 frame class in quadplane4791- log L1 xtrack error integrator and remove extra yaw logging4792- limit roll before calculating load factor4793- simplify landing flare logic4794- smooth-out the end of takeoff pitch by reducing takeoff pitch min via TKOFF_PLIM_SEC4795- added support for DO_VTOL_TRANSITION as a mission item4796- fixed is_flying() for VTOL flight4797- added Q_ENABLE=2 for starting AUTO in VTOL4798- reload airspeed after VTOL landing4799- lower default VTOL ANGLE_MAX to 30 degrees4800- Change mode to RTL on end of mission rather then staying in auto4801- implemented QRTL for quadplane RTL4802- added Q_RTL_MODE parameter for QRTL after RTL approach4803- reduced the rate of EKF and attitude logging to 25Hz4804- added CHUTE_DELAY_MS parameter4805- allow remapping of any input channel to any output channel4806- numerous waf build improvements4807- support fast timer capture for camera trigger feedback4808- numerous improvements for Pixracer support4809- added more general tiltrotor support to SITL4810- only save learned compass offsets when disarmed4811- support MISSION_ITEM_INT for more accurate waypoint positions4812- change parachute deployment altitude to above ground not home4813- added AP_Tuning system for QuadPlane tuning4814- added initial support for tiltrotors and tiltwings4815- added LOG_REPLAY and LOG_DISARMED parameters4816- added Q_GUIDED_MODE parameter4817- major update to QuadPlane documentation4818- added MAVLink2 support4819- fixed origin vs home altitude discrepancy4820- improved Lidar based landing glide slope4821- fixed throttle failsafe with THR_PASS_STAB=14822- prevent EKF blocking during baro and airspeed cal4823- allow for ground testing of parachutes with CHUTE_MINALT=04824- fixed elevator stick mixing for above 50% input4825- added QuadPlane ESC calibration4826482748284829Release 3.6.0beta1, 30th April 20164830-----------------------------------48314832The ArduPilot development team is proud to announce the release of4833version 3.6.0beta1 of APM:Plane. This is the first beta version of a4834major release.48354836The biggest changes in this release is the major update of the4837PX4Firmware tree which greatly improves support for the Pixracer4838board, and a lot of QuadPlane improvements and new features.48394840Detailed changes include:48414842- added motortest for all quad motors in sequence4843- merge upstream PX4Firmware changes4844- new AC_AttitudeControl library from copter for quadplane4845- modified default gains for quadplanes4846- new velocity controller for initial quadplane landing4847- smooth out final descent for VTOL landing4848- changed default loop rate for quadplanes to 300Hz4849- support up to 16 output channels (two via SBUS output only)4850- fixed bug with landing flare for high values of LAND_FLARE_SEC4851- improved crash detection logic4852- added in-flight transmitter tuning4853- fix handling of SET_HOME_POSITION4854- added Q_VFWD_GAIN for forward motor in VTOL modes4855- added Q_WVANE_GAIN for active weathervaning4856- log the number of lost log messages4857- Move position update to 50hz loop rather then the 10hz4858- Suppress throttle when parachute release initiated, not after release.4859- support Y6 frame class in quadplane4860- log L1 xtrack error integrator and remove extra yaw logging4861- limit roll before calculating load factor4862- simplify landing flare logic4863- smooth-out the end of takeoff pitch by reducing takeoff pitch min via TKOFF_PLIM_SEC4864- added support for DO_VTOL_TRANSITION as a mission item4865- fixed is_flying() for VTOL flight4866- added Q_ENABLE=2 for starting AUTO in VTOL4867- reload airspeed after VTOL landing4868- lower default VTOL ANGLE_MAX to 30 degrees4869- Change mode to RTL on end of mission rather then staying in auto4870- implemented QRTL for quadplane RTL4871- added Q_RTL_MODE parameter for QRTL after RTL approach4872- reduced the rate of EKF and attitude logging to 25Hz4873- added CHUTE_DELAY_MS parameter4874- allow remapping of any input channel to any output channel4875- numerous waf build improvements4876- support fast timer capture for camera trigger feedback4877- numerous improvements for Pixracer support4878- added more general tiltrotor support to SITL487948804881Release 3.5.3, 30th April 20164882------------------------------48834884The ArduPilot development team is proud to announce the release of4885version 3.5.3 of APM:Plane. This is a minor release with only small4886bugfix changes.48874888The main motivation for the release is a problem with flying without a4889compass enabled. If you fly 3.5.2 with MAG_ENABLE=0 or no compass4890attached then there is a risk that the EKF2 attitude estimator may4891become unstable before takeoff. This can cause the aircraft to crash.48924893The other changes in this release are:48944895- fixed loiter radius for counter-clockwise loiter4896- fixed the loiter radius when doing a RTL at the end of a mission4897- provide reasons to the GCS when a uBlox GPS fails to properly configure4898- support a wider variety of NMEA GPS receivers4899- use EKF1 by default if no compass is enabled49004901Happy flying!49024903Release 3.5.2, 26th March 20164904------------------------------49054906The ArduPilot development team is proud to announce the release of4907version 3.5.2 of APM:Plane. This is a minor release with small4908changes.49094910The main reason for this release over 3.5.1 is a fix for a bug where4911the px4io co-processor on a Pixhawk can run out of memory while4912booting. This causes the board to be unresponsive on boot. It only4913happens if you have a more complex servo setup and is caused by too4914much memory used by the IO failsafe mixer.49154916The second motivation for this release is to fix an issue where during4917a geofence altitude failsafe that happens at low speed an aircraft may4918dive much further than it should to gain speed. This only happened if4919the thrust line of the aircraft combined with low pitch integrator4920gain led to the aircraft not compensating sufficiently with elevator4921at full throttle in a TECS underspeed state. To fix this two changes4922have been made:49234924- a minimum level of integrator in the pitch controller has been4925added. This level has a sufficiently small time constant to avoid4926the problem with the TECS controller in an underspeed state.49274928- the underspeed state in TECS has been modified so that underspeed4929can end before the full target altitude has been reached, as long4930as the airspeed has risen sufficiently past the minimum airspeed4931for a sufficient period of time (by 15% above minimum airspeed for49323 seconds).49334934The default P gains for both roll and pitch have also been raised from49350.4 to 0.6. This is to help for users that fly with the default4936parameters. A value of 0.6 is safe for all aircraft that I have4937analysed logs for.49384939The default gains and filter frequencies of the QuadPlane code have4940also been adjusted to better reflect the types of aircraft users have4941been building.49424943Other changes include:49444945- improved QuadPlane logging for better analysis and tuning (adding4946RATE and QTUN messages)4947- fixed a bug introduced in 3.5.1 in rangefinder landing4948- added TECS logging of speed_weight and flags4949- improvements to the lsm303d driver for Linux4950- improvements to the waf build system495149524953Release 3.5.1, 21st March 20164954------------------------------49554956The ArduPilot development team is proud to announce the release of4957version 3.5.1 of APM:Plane. This is a minor release with primarily4958small changes.49594960The changes in this release are:49614962- update uavcan to new protocol4963- always exit loiter in AUTO towards next waypoint4964- support more multicopter types in quadplane4965- added support for reverse thrust landings4966- added LAND_THR_SLEW parameter4967- added LAND_THEN_NEUTRL parameter4968- fixed reporting of armed state with safety switch4969- added optional arming check for minimum voltage4970- support motor test for quadplanes4971- added QLAND flight mode (quadplane land mode)4972- added TECS_LAND_SRC (land sink rate change)4973- use throttle slew in quadplane transition4974- added PID tuning for quadplane4975- improved text message queueing to ground stations4976- added LAND_THR_SLEW parameter4977- re-organisation of HAL_Linux bus API4978- improved NMEA parsing in GPS driver4979- changed TECS_LAND_SPDWGT default to -14980- improved autoconfig of uBlox GPS driver4981- support a wider range of Lightware serial Lidars4982- improved non-GPS performance of EKF24983- allow for indoor flight of quadplanes4984- improved compass fusion in EKF24985- improved support for Pixracer board4986- improved NavIO2 support4987- added BATT_WATT_MAX parameter49884989The reverse thrust landing is particularly exciting as that adds a4990whole new range of possibilities for landing in restricted areas. Many4991thanks to Tom for the great work on getting this done.49924993The uavcan change to the new protocol has been a long time coming, and4994I'd like to thank Holger for both his great work on this and his4995patience given how long it has taken to be in a release. This adds4996support for automatic canbus node assignment which makes setup much4997easier, and also supports the latest versions of the Zubax canbus GPS.49984999My apologies if your favourite feature didn't make it into this5000release! There are a lot more changes pending but we needed to call a5001halt for the release eventually. This release has had a lot of flight5002testing and I'm confident it will be a great release.50035004Happy flying!500550065007Release 3.5.0, 30th January 20165008--------------------------------50095010The ArduPilot development team is proud to announce the release of5011version 3.5.0 of APM:Plane. This is a major release with a lot of5012changes so please read the notes carefully!50135014The biggest changes in this release are:50155016- switch to new EKF2 kalman filter for attitude and position estimation5017- added support for parachutes5018- added support for QuadPlanes5019- support for 4 new flight boards, the QualComm Flight, the BHAT,5020the PXFmini and the Pixracer5021- support for arming on moving platforms5022- support for better camera trigger logging50235024New Kalman Filter50255026The 3.4 release series was the first where APM:Plane used a Kalman5027Filter by default for attitude and position estimation. It works very5028well, but Paul Riseborough has been working hard recently on a new5029EKF variant which fixes many issues seen with the old estimator. The5030key improvements are:50315032- support for separate filters on each IMU for multi-IMU boards5033(such as the Pixhawk), giving a high degree of redundency5034- much better handling of gyro drift estimation, especially on5035startup5036- much faster recovery from attitude estimation errors50375038After extensive testing of the new EKF code we decided to make it the5039default for this release. You can still use the old EKF if you want to5040by setting AHRS_EKF_TYPE to 1, although it is recommended that the new5041EKF be used for all aircraft.50425043Parachute Support50445045This is the first release with support for parachute landings on5046plane. The configuration and use of a parachute is the same as the5047existing copter parachute support. See5048http://copter.ardupilot.org/wiki/parachute/50495050Note that parachute support is considered experimental in planes.50515052QuadPlane Support50535054This release includes support for hybrid plane/multi-rotors called5055QuadPlanes. More details are available in this blog post:5056http://diydrones.com/profiles/blogs/quadplane-support-in-apm-plane-3-5-050575058Support for 4 new Flight Boards50595060The porting of ArduPilot to more flight boards continues, with support5061for 3 new flight boards in this release. They are:50625063- the BHAT board5064- the PXFmini5065- the QualComm Flight5066- the Pixracer50675068More information about the list of supported boards is available here:5069https://ardupilot.org/copter/docs/common-autopilots.html50705071Startup on a moving platform50725073One of the benefits of the new EKF2 estimator is that it allows for5074rapid estimation of gyro offset without doing a gyro calibration on5075startup. This makes it possible to startup and arm on a moving5076platform by setting the INS_GYR_CAL parameter to zero (to disable gyro5077calibration on boot). This should be a big help when flying off boats.50785079Improved Camera Trigger Logging50805081This release adds new CAM_FEEDBACK_PIN and CAM_FEEDBACK_POL5082parameters. These add support for separate CAM and TRIG log messages,5083where TRIG is logged when the camera is triggered and the CAM message5084is logged when an external pin indicates the camera has actually5085fired. This pin is typically based on the flash hotshoe of a camera5086and provides a way to log the exact time of camera triggering more5087accurately. Many thanks to Dario Andres and Jaime Machuca for their5088work on this feature.50895090That is just a taste of all of the improvements in this release. In5091total the release includes over 1500 patches. Some of the other more5092significant changes include:50935094- RPM logging5095- new waf build system5096- new async accel calibrator5097- SITL support for quadplanes5098- improved land approach logic5099- better rangefinder power control5100- ADSB adapter support5101- dataflash over mavlink support5102- settable main loop rate5103- hideable parameters5104- improved crash detection logic5105- added optional smooth speed weighting for landing5106- improved logging for dual-GPS setups5107- improvements to multiple RTK GPS drivers5108- numerous HAL_Linux improvements5109- improved logging of CAM messages5110- added support for IMU heaters in HAL_Linux5111- support for RCInput over UDP in HAL_Linux5112- improved EKF startup checks for GPS accuracy5113- added raw IMU logging for all platforms5114- added BRD_CAN_ENABLE parameter5115- support FlightGear visualisation in SITL5116- configurable RGB LED brightness5117- added RTL_RADIUS parameter5118- improvements to the OVERRIDE_CHAN handling, fixing a race condition5119- added OVERRIDE_SAFETY parameter51205121Many thanks to everyone who contributed to this release! The5122development team is growing at a fast pace, with 57 people5123contributing changes over this release cycle.51245125I'd like to make special mention of Tom Pittenger and Michael du5126Breuil who have been doing extensive testing of the plane development5127code, and also contributing a great deal of their own5128improvements. Thanks!512951305131Release 3.4.0, 24th September 20155132----------------------------------51335134The ArduPilot development team is proud to announce the release of5135version 3.4.0 of APM:Plane. This is a major release with a lot of5136changes so please read the notes carefully!51375138First release with EKF by default51395140This is the also the first release that enables the EKF (Extended5141Kalman Filter) for attitude and position estimation by default. This5142has been in development for a long time, and significantly improves5143flight performance. You can still disable the EKF if you want to using5144the AHRS_EKF_USE parameter, but it is strongly recommended that you5145use the EKF. Note that if an issue is discovered with the EKF in5146flight it will automatically be disabled and the older DCM system will5147be used instead. That should be very rare.51485149In order to use the EKF we need to be a bit more careful about the5150setup of the aircraft. That is why in the last release we enabled5151arming and pre-arm checks by default. Please don't disable the arming5152checks, they are there for very good reasons.51535154Last release with APM1/APM2 support51555156This will be the last major release that supports the old APM1/APM25157AVR based boards. We have finally run out of flash space and5158memory. In the last few releases we spent quite a bit of time trying5159to squeeze more and more into the small flash space of the APM1/APM2,5160but it had to end someday if ArduPilot is to continue to develop. I am5161open to the idea of someone else volunteering to keep doing5162development of APM1/APM2 so if you have the skills and inclination do5163please get in touch. Otherwise I will only do small point release5164changes for major bugs.51655166Even to get this release onto the APM1/APM2 we had to make sacrifices5167in terms of functionality. The APM1/APM2 release is missing quite a5168few features that are on the Pixhawk and other boards. For example:51695170- no rangefinder support for landing5171- no terrain following5172- no EKF support5173- no camera control5174- no CLI support5175- no advanced failsafe support5176- no HIL support (sorry!)5177- support for far fewer GPS types51785179that is just the most obvious major features that are missing on5180APM1/APM2. There are also numerous other smaller things where we need5181to take shortcuts on the APM1/APM2. Some of these features were5182available on older APM1/APM2 releases but needed to be removed to5183allow us to squeeze the new release onto the board. So if you are5184happy with a previous release on your APM2 and want a feature that is5185in that older release and not in this one then perhaps you shouldn't5186upgrade.51875188PID Tuning51895190While most people are happy with autotune to tune the PIDs for their5191planes, it is nice also to be able to do fine tuning by hand. This5192release includes new dataflash and mavlink messages to help with that5193tuning. You can now see the individual contributions of the P, I and D5194components of each PID in the logs, allowing you to get a much better5195picture of the performance.51965197A simple application of this new tuning is you can easily see if your5198trim is off. If the Pitch I term is constantly contributing a5199signifcant positive factor then you know that ArduPilot is having to5200constantly apply up elevator, which means your plane is nose5201heavy. The same goes for roll, and can also be used to help tune your5202ground steering.52035204Vibration Logging52055206This release includes a lot more options for diagnosing vibration5207issues. You will notice new VIBRATION messages in MAVLink and VIBE5208messages in the dataflash logs. Those give you a good idea of your5209(unfiltered) vibration levels. For really detailed analysis you can5210setup your LOG_BITMASK to include raw logging, which gives you every5211accel and gyro sample on your Pixhawk. You can then do a FFT on the5212result and plot the distribution of vibration level with5213frequency. That is great for finding the cause of vibration5214issues. Note that you need a very fast microSD card for that to work!52155216Rudder Disarm52175218This is the first release that allows you to disarm using the rudder5219if you want to. It isn't enabled by default (due to the slight risk of5220accidentially disarming while doing aerobatics). You can enable it5221with the ARMING_RUDDER parameter by setting it to 2. It will only5222allow you to disarm if the autopilot thinks you are not flying at the5223time (thanks to the "is_flying" heuristics from Tom Pittenger).52245225More Sensors52265227This release includes support for a bunch more sensors. It now supports52283 different interfaces for the LightWare range of Lidars (serial, I2C5229and analog), and also supports the very nice Septentrio RTK5230dual-frequency GPS (the first dual-frequency GPS we have support5231for). It also supports the new "blue label" Lidar from Pulsed Light5232(both on I2C and PWM).52335234For the uBlox GPS, we now have a lot more configurability of the5235driver, with the ability to set the GNSS mode for different5236constellations. Also in the uBlox driver we support logging of the raw5237carrier phase and pseudo range data, which allows for post-flight RTK5238analysis with raw-capable receivers for really accurate photo5239missions.52405241Better Linux support52425243This release includes a lot of improvements to the Linux based5244autopilot boards, including the NavIO+, the PXF and ERLE boards and5245the BBBMini and the new RasPilot board. If you like the idea of flying5246with Linux then please try it out!52475248On-board compass calibrator52495250We also have a new on-board compass calibrator, which also adds calibration5251for soft iron effects, allowing for much more accurate compass5252calibration. Support for starting the compass calibration in the5253various ground stations is still under development, but it looks like5254this will be a big improvement to compass calibration.52555256Lots of other changes!52575258The above list is just a taste of the changes that have gone into this5259release. Thousands of small changes have gone into this release with5260dozens of people contributing. Many thanks to everyone who helped!52615262Other key changes include:52635264- fixed return point on geofence breach5265- enable messages for MAVLink gimbal support5266- use 64 bit timestamps in dataflash logs5267- added realtime PID tuning messages and PID logging5268- fixed a failure case for the px4 failsafe mixer5269- added DSM binding support on Pixhawk5270- added ALTITUDE_WAIT mission command5271- added vibration level logging5272- ignore low voltage failsafe while disarmed5273- added delta velocity and delta angle logging5274- fix LOITER_TO_ALT to verify headings towards waypoints within the loiter radius5275- allow rudder disarm based on ARMING_RUDDER parameter5276- fix default behaviour of flaps5277- prevent mode switch changes changing WP tracking5278- make TRAINING mode obey stall prevention roll limits5279- disable TRIM_RC_AT_START by default5280- fixed parameter documentation spelling errors5281- send MISSION_ITEM_REACHED messages on waypoint completion5282- fixed airspeed handling in SITL simulators5283- enable EKF by default on plane5284- Improve gyro bias learning rate for plane and rover5285- Allow switching primary GPS instance with 1 sat difference5286- added NSH over MAVLink support5287- added support for mpu9250 on pixhawk and pixhawk25288- Add support for logging ublox RXM-RAWX messages5289- lots of updates to improve support for Linux based boards5290- added ORGN message in dataflash5291- added support for new "blue label" Lidar5292- switched to real hdop in uBlox driver5293- improved auto-config of uBlox5294- raise accel discrepancy arming threshold to 0.755295- improved support for tcp and udp connections on Linux5296- switched to delta-velocity and delta-angles in DCM5297- improved detection of which accel to use in EKF5298- improved auto-detections of flow control on pixhawk UARTs5299- Failsafe actions are not executed if already on final approach or land.5300- Option to trigger GCS failsafe only in AUTO mode.5301- added climb/descend parameter to CONTINUE_AND_CHANGE_ALT5302- added HDOP to uavcan GPS driver5303- improved sending of autopilot version5304- prevent motor startup with bad throttle trim on reboot5305- log zero rangefinder distance when unhealthy5306- added PRU firmware files for BeagleBoneBlack port5307- fix for recent STORM32 gimbal support5308- changed sending of STATUSTEXT severity to use correct values5309- added new RSSI library with PWM input support5310- fixed MAVLink heading report for UAVCAN GPS5311- support LightWare I2C rangefinder on Linux5312- improved staging of parameters and formats on startup to dataflash5313- added new on-board compass calibrator5314- improved RCOutput code for NavIO port5315- added support for Septentrio GPS receiver5316- support DO_MOUNT_CONTROl via command-long interface5317- added CAM_RELAY_ON parameter5318- moved SKIP_GYRO_CAL functionality to INS_GYR_CAL5319- added detection of bad lidar settings for landing53205321Note that the documentation hasn't yet caught up with all the changes5322in this release. We are still working on that, but meanwhile if you5323see a feature that interests you and it isn't documented yet then5324please ask.5325532653275328Release 3.3.0, 20th May 20155329----------------------------53305331The ardupilot development team is proud to announce the release of5332version 3.3.0 of APM:Plane. This is a major release with a lot of5333changes. Please read the release notes carefully!53345335The last stable release was 3 months ago, and since that time we have5336applied over 1200 changes to the code. It has been a period of very5337rapid development for ArduPilot. Explaining all of the changes that5338have been made would take far too long, so I've chosen some key5339changes to explain in detail, and listed the most important secondary5340changes in a short form. Please ask for details if there is a change5341you see listed that you want some more information on.53425343Arming Changes5344--------------53455346This is the first release of APM:Plane where ARMING_CHECK and5347ARMING_REQUIRE both default to enabled. That means when you upgrade if5348you didn't previously have arming enabled you will need to learn about5349arming your plane.53505351Please see this page for more information on arming:53525353http://plane.ardupilot.com/wiki/arming-your-plane/53545355I know many users will be tempted to disable the arming checks, but5356please don't do that without careful thought. The arming checks are an5357important part of ensuring the aircraft is ready to fly, and a common5358cause of flight problems is to takeoff before ArduPilot is ready.53595360Re-do Accelerometer Calibration5361-------------------------------53625363Due to a change in the maximum accelerometer range on the Pixhawk all5364users must re-do their accelerometer calibration for this release. If5365you don't then your plane will fail to arm with a message saying that5366you have not calibrated the accelerometers.53675368Only 3D accel calibration5369-------------------------53705371The old "1D" accelerometer calibration method has now been removed, so5372you must use the 3D accelerometer calibration method. The old method5373was removed because a significant number of users had poor flights due5374to scaling and offset errors on their accelerometers when they used5375the 1D method. My apologies for people with very large aircraft who5376find the 3D method difficult.53775378Note that you can do the accelerometer calibration with the autopilot5379outside the aircraft which can make things easier for large aircraft.53805381Auto-disarm5382-----------53835384After an auto-landing the autopilot will now by default disarm after5385LAND_DISARMDELAY seconds (with a default of 20 seconds). This feature5386is to prevent the motor from spinning up unexpectedly on the ground5387after a landing.53885389HIL_MODE parameter5390------------------53915392It is now possible to configure your autopilot for hardware in the5393loop simulation without loading a special firmware. Just set the5394parameter HIL_MODE to 1 and this will enable HIL for any5395autopilot. This is designed to make it easier for users to try HIL5396without having to find a HIL firmware.53975398SITL on Windows5399---------------54005401The SITL software in the loop simulation system has been completely5402rewritten for this release. A major change is to make it possible to5403run SITL on native windows without needing a Linux virtual5404machine. There should be a release of MissionPlanner for Windows soon5405which will make it easy to launch a SITL instance.54065407The SITL changes also include new backends, including the CRRCSim5408flight simulator. This gives us a much wider range of aircraft we can5409use for SITL. See http://dev.ardupilot.com/wiki/simulation-2/ for more5410information.54115412Throttle control on takeoff5413---------------------------54145415A number of users had problems with pitch control on auto-takeoff, and5416with the aircraft exceeding its target speed during takeoff. The5417auto-takeoff code has now been changed to use the normal TECS throttle5418control which should solve this problem.54195420Rudder only support5421-------------------54225423There is a new RUDDER_ONLY parameter for aircraft without ailerons,5424where roll is controlled by the rudder. Please see the documentation5425for more information on flying with a rudder only aircraft:54265427http://plane.ardupilot.com/wiki/arduplane-parameters/#rudder_only_aircraft_arduplanerudder_only54285429APM1/APM2 Support5430-----------------54315432We have managed to keep support for the APM1 and APM2 in this release,5433but in order to fit it in the limited flash space we had to disable5434some more features when building for those boards. For this release5435the AP_Mount code for controlling camera mounts is disabled on5436APM1/APM2.54375438At some point soon it will become impractical to keep supporting the5439APM1/APM2 for planes. Please consider moving to a 32 bit autopilot5440soon if you are still using an APM1 or APM2.54415442New INS code5443------------54445445There have been a lot of changes to the gyro and accelerometer5446handling for this release. The accelerometer range on the Pixhawk has5447been changed to 16g from 8g to prevent clipping on high vibration5448aircraft, and the sampling rate on the lsm303d has been increased to54491600Hz.54505451An important bug has also been fixed which caused aliasing in the5452sampling process from the accelerometers. That bug could cause5453attitude errors in high vibration environments.54545455Numerous Landing Changes5456------------------------54575458Once again there have been a lot of improvements to the automatic5459landing support. Perhaps most important is the introduction of a5460smooth transition from landing approach to the flare, which reduces5461the tendency to pitch up too much on flare.54625463There is also a new parameter TECS_LAND_PMAX which controls the5464maximum pitch during landing. This defaults to 10 degrees, but for5465many aircraft a smaller value may be appropriate. Reduce it to 55466degrees if you find you still get too much pitch up during the flare.54675468Other secondary changes in this release include:54695470- a new SerialManager library which gives much more flexible management of serial port assignment5471- changed the default FS_LONG_TIMEOUT to 5 seconds5472- raised default IMAX for roll/pitch to 30005473- lowered default L1 navigation period to 205474- new BRD_SBUS_OUT parameter to enable SBUS output on Pixhawk5475- large improvements to the internals of PX4Firmware/PX4NuttX for better performance5476- auto-formatting of microSD cards if they can't be mounted on boot (PX4/Pixhawk only)5477- a new PWM based driver for the PulsedLight Lidar to avoid issues with the I2C interface5478- fixed throttle forcing to zero when disarmed5479- only reset mission on disarm if not in AUTO mode5480- much better handling of steep landings5481- added smooth transition in landing flare5482- added HIL_MODE parameter for HIL without a special firmware5483- lowered default FS_LONG_TIMEOUT to 5 seconds5484- mark old ELEVON_MIXING mode as deprecated5485- fixed 50Hz MAVLink support5486- support DO_SET_HOME MAVLink command5487- fixed larger values of TKOFF_THR_DELAY5488- allow PulsedLight Lidar to be disabled at a given height5489- fixed bungee launch (long throttle delay)5490- fixed a bug handling entering AUTO mode before we have GPS lock5491- added CLI_ENABLED parameter5492- removed 1D accel calibration5493- added EKF_STATUS_REPORT MAVLink message5494- added INITIAL_MODE parameter5495- added TRIM_RC_AT_START parameter5496- added auto-disarm after landing (LAND_DISARMDELAY)5497- added LOCAL_POSITION_NED MAVLink message5498- avoid triggering a fence breach in final stage of landing5499- rebuild glide slope if we are above it and climbing5500- use TECS to control throttle on takeoff5501- added RUDDER_ONLY parameter to better support planes with no ailerons5502- updated Piksi RTK GPS driver5503- improved support for GPS data injection (for Piksi RTK GPS)5504- added NAV_LOITER_TO_ALT mission item5505- fixed landing approach without an airspeed sensor5506- support RTL_AUTOLAND=2 for landing without coming to home first5507- disabled camera mount support on APM1/APM25508- added support for SToRM32 and Alexmos camera gimbals5509- added support for Jaimes mavlink enabled gimbal5510- improved EKF default tuning for planes5511- updated support for NavIO and NavIO+ boards5512- updated support for VRBrain boards5513- fixes for realtime threads on Linux5514- added simulated sensor lag for baro and mag in SITL5515- made it possible to build SITL for native Windows5516- switched to faster accel sampling on Pixhawk5517- added coning corrections on Pixhawk5518- set ARMING_CHECK to 1 by default5519- disable NMEA and SiRF GPS on APM1/APM25520- support MPU9255 IMU on Linux5521- updates to BBBMINI port for Linux5522- added TECS_LAND_PMAX parameter5523- switched to synthetic clock in SITL5524- support CRRCSim FDM backend in SITL5525- new general purpose replay parsing code5526- switched to 16g accel range in Pixhawk5527- added FENCE_AUTOENABLE=2 for disabling just fence floor5528- added POS dataflash log message5529- changed GUIDED behaviour to match copter5530- added support for a 4th MAVLink channel5531- support setting AHRS_TRIM in preflight calibration5532- fixed a PX4 mixer out of range error55335534Best wishes to all APM:Plane users from the dev team, and happy5535flying!553655375538Release 3.2.2, February 10th 20155539---------------------------------55405541The ardupilot development team has released version 3.2.2 of5542APM:Plane. This is a bugfix release for some important bugs found by5543users of the 3.2.1 release.55445545The changes in this release are:55465547- fixed a bug that could cause short term loss of RC control with5548some receiver systems and configurations55495550- allowed for shorter sync pulse widths for PPM-SUM receivers on5551APM1 and APM255525553- fixed HIL mode altitude55545555The most important bug fix is the one for short term loss of RC5556control. This is a very long standing bug which didn't have a5557noticeable impact for most people, but could cause loss of RC control5558for around 1 or 2 seconds for some people in certain circumstances.55595560The bug was in the the AP_HAL RCInput API. Each HAL backend has a flag5561that says whether there is a new RC input frame available. That flag5562was cleared by the read() method (typically hal.rcin->read()). Callers5563would check for new input by checking the boolean5564hal.rcin->new_input() function.55655566The problem was that read() was called from multiple places. Normally5567this is fine as reads from other than the main radio input loop happen5568before the other reads, but if the timing of the new radio frame5569exactly matched the loop frequency then a read from another place5570could clear the new_input flag and we would not see the new RC input5571frame. If that happened enough times we would go into a short term RC5572failsafe and ignore RC inputs, even in manual mode.55735574The fix was very simple - it is the new_input() function itself that5575should clear the flag, not read().55765577Many thanks to MarkM for helping us track down this bug by providing5578us with sufficient detail on how to reproduce it. In Marks case his5579OpenLRSng configuration happened to produce exactly the worst case5580timing needed to reproduce the issue. Once I copied his OpenLRS5581settings to my TX/RX I was able to reproduce the problem and it was5582easy to find and fix.55835584A number of users have reported occasional glitches in manual control5585where servos pause for short periods in past releases. It is likely5586that some of those issues were caused by this bug. The dev team would5587like to apologise for taking so long to track down this bug!55885589The other main change was also related to RC input. Some receivers use5590a PPM-SUM sync pulse width shorter than what the APM1/APM2 code was5591setup to handle. The OpenLRSng default sync pulse width is 30005592microseconds, but the APM1/APM2 code was written for a mininum sync5593pulse width of 4000 microseconds. For this release I have changed the5594APM1/APM2 driver to accept a sync pulse width down to 27005595microseconds.559655975598Release 3.2.1, February 5th 20155599--------------------------------56005601The ardupilot development team is proud to announce the release of5602version 3.2.1 of APM:Plane. This is primarily a bugfix release, but5603does have some new features.56045605The major changes in this release are:56065607- fixed a mission handling bug that could cause a crash if jump5608commands form an infinite loop (thanks to Dellarb for reporting5609this bug)5610- improved support for in-kernel SPI handling on Linux (thanks to John Williams)5611- support UAVCAN based ESCs and GPS modules on Pixhawk (thanks to5612Pavel, Holger and and PX4 dev team)5613- Multiple updates for the NavIO+ cape on RaspberryPi (thanks to5614Emlid)5615- multiple automatic landing fixes, including improvements in flare5616detection, glide slope calculation and lag handling5617- fixed a bug that could cause a change altitude MAVLink command5618from causing a sudden descent5619- re-enable CLI on non-APM1/APM2 boards5620- Lots of EKF changes, including reducing impact of ground magnetic5621interference, reducing the impact of a GPS outage and integrating5622optical flow support5623- added initial support for the PX4 optical flow sensor. Just5624logging for this release.5625- added support for MAVLink packet routing5626- added detection and recovery from faulty gyro and accel sensors5627- improved arming checks code to detect a lot more error conditions,5628and change the ARMING_CHECK default value to check all error5629conditions.5630- added support for BBBMini Linux port5631- increased number of AVR input channels from 8 to 115632- auto-set system clock based on GPS in Linux ports5633- added SBUS FrSky telemetry support (thanks to Mathias)56345635Release 3.2.0, November 25th 20145636---------------------------------56375638The ardupilot development team is proud to announce the release of5639version 3.2.0 of APM:Plane. This is a major release with a lot of5640new features.56415642The changes span a lot of different areas of the code, but arguably5643the most important changes are:56445645- automatic stall prevention code5646- PX4IO based RC override code on FMU failure5647- I2C crash bugfix5648- new autoland code from Michael Day5649- compass independent auto takeoff56505651I'll go into each of these changes in a bit more detail.56525653Automatic Stall Prevention5654--------------------------56555656The automatic stall prevention code is code that uses the aerodynamic5657load factor (calculated from demanded bank angle) to adjust both the5658maximum roll angle and the minimum airspeed. You can enable/disable5659this code with the STALL_PREVENTION parameter which defaults to5660enabled.56615662When in stabilised manual throttle modes this option has the effect of5663limiting how much bank angle you can demand when close to the5664configured minimum airspeed (from AIRSPEED_MIN). That means when in5665FBWA mode if you try to turn hard while close to AIRSPEED_MIN it will5666limit the bank angle to an amount that will keep the speed above5667AIRSPEED_MIN times the aerodynamic load factor. It will always allow5668you at bank at least 25 degrees however, to ensure you keep some5669maneuverability if the airspeed estimate is incorrect.56705671When in auto-throttle modes (such as AUTO, RTL, CRUISE etc) it will5672additionally raise the minimum airspeed in proportion to the5673aerodynamic load factor. That means if a mission demands a sharp turn5674at low speed then initially the turn will be less sharp, and the TECS5675controller will add power to bring the airspeed up to a level that can5676handle the demanded turn. After the turn is complete the minimum5677airspeed will drop back to the normal level.56785679This change won't completely eliminate stalls of course, but it should5680make them less likely if you properly configure AIRSPEED_MIN for your5681aircraft.56825683PX4IO based RC override code5684----------------------------56855686This releases adds support for PX4IO based RC override. This is a5687safety feature where the stm32 IO co-processor on the PX4 and Pixhawk5688will give the pilot manual control if the main ArduPilot5689micro-controller fails (or the autopilot code crashes). This is5690particularly useful when testing new code that may not be stable.56915692As part of this new RC override support we also have a new5693OVERRIDE_CHAN parameter, which allows you to specify a RC input5694channel which can be used to test the RC override support. See the5695documentation on OVERRIDE_CHAN for details.56965697I2C bugfix5698----------56995700This release fixes another I2C bug in NuttX which could cause the5701Pixhawk to lock up under high I2C load with noise on I2C cables. This5702bug has caused at least two aircraft to crash, so it is an important5703fix. I hope this will be the last I2C crash bug we find in NuttX! An5704audit of the code was done to try to confirm that no more bugs of this5705type are present.57065707New Autoland code5708-----------------57095710This release incorporates some new autoland capabilities contributed5711by Michael Day. The key new feature is the ability to trigger an5712automatic landing when a RTL completes, which for the first time5713allows a user to setup their aircraft to land using only transmitter5714control.57155716The way it works is there is a new parameter RTL_AUTOLAND. If that is5717set to 1 and the aircraft reaches its target location in an RTL it5718will look for DO_LAND_START mission item in the mission. If that is5719found then the aircraft will switch to AUTO starting at that section5720of the mission. The user sets up their land mission commands starting5721with a DO_LAND_START mission item.57225723There is more to do in this autoland support. We have been discussing5724more advanced go-around capabilities and also better path planning for5725landing. The code in this release is an important first step though,5726and will be a good basis for future work.57275728Compass independent takeoff code5729--------------------------------57305731The auto-takeoff code has been changed to make it more independent of5732compass settings, allowing for reliable takeoff down a runway with5733poor compass offsets. The new takeoff code uses the gyroscope as the5734primary heading control for the first part of the takeoff, until the5735aircraft gains enough speed for a GPS heading to be reliable.57365737Many thanks to all the contributors, especially:57385739- Paul and Jon for EKF and TECS updates5740- Bret and Grant for stall prevention testing5741- Michael for all his autoland work5742- all the work on NavIO, PXF and Zynq by John, Victor, George and Siddarth5743- The PX4 team for all the PX4 updates57445745More complete list of changes:57465747- allow GCS to enable/disable PX4 safety switch5748- make auto-takeoff independent of compass errors5749- report gyro unhealthy if calibration failed5750- added support for MAV_CMD_DO_LAND_START5751- added RTL_AUTOLAND parameter5752- disable CLI by default in build5753- new InertialSensor implementation5754- added landing go around support5755- enable PX4 failsafe RC override5756- added OVERRIDE_CHAN parameter5757- changed default AUTOTUNE level to 65758- changed default I value for roll/pitch controllers5759- added CAMERA_FEEDBACK mavlink messages5760- use airspeed temperature for baro calibration if possible5761- added STALL_PREVENTION parameter5762- fixed handling of TKOFF_THR_MAX parameter5763- added ARSPD_SKIP_CAL parameter5764- fixed flaperon trim handling (WARNING: may need to retrim flaperons)5765- EKF robustness improvements, especially for MAG handling5766- lots of HAL_Linux updates5767- support wider range of I2C Lidars5768- fixed fallback to DCM in AHRS5769- fixed I2C crash bug in NuttX5770- TECS prevent throttle undershoot after a climb5771- AP_Mount: added lead filter to improve servo gimbals5772- Zynq and NavIO updates5773- fixed preflight calibration to prevent losing 3D accel cal5774- perform a gyro calibration when doing 3D accel cal5775- added DO_CONTINUE_AND_CHANGE_ALT mission command5776- added support for DO_FENCE_ENABLE mission command5777- allow gyro calibration to take up to 30 seconds5778- improved health checks in the EKF for DCM fallback57795780Note: If you use flaperons you may need to re-trim them before you5781fly due to the change in flaperon trim handling.57825783I hope that everyone enjoys flying this new APM:Plane release as much5784as we enjoyed producing it! It is a major milestone in the development5785of the fixed wing code for APM, and I think puts us in a great5786position for future development.57875788Happy flying!5789579057915792Release 3.1.1, September 12th 20145793----------------------------------57945795The ardupilot development team is proud to announce the release of5796version 3.1.1 of APM:Plane. This is primarily a bugfix release with a5797small number of new features.57985799The main bug fixed in this release is a bug that could affect saving5800parameters and mission items in the FRAM/eeprom storage of5801PX4v1/Pixhawk/VRBrain. The bug has been in the code since January 20135802and did not cause problems very often (which is why it hasn't been5803noticed till now), but when it does happen it causes changes to5804parameters or mission items not to be saved on a reboot.58055806Other changes in this release:58075808- support for using a Lidar for landing for terrain altitude (see5809the RNGFND_LANDING parameter)58105811- improvements in the landing approach code, especially the glide5812slope calculation58135814- added LAND_FLAP_PERCENT and TKOFF_FLAP_PCNT parameters, to control5815the amount of flaps to use on takeoff and landing58165817- the default WP_RADIUS has been raised from 30 to 90. Note that the5818L1 controller may choose to turn after the WP_RADIUS is5819reached. The WP_RADIUS only controls the earliest point at which5820the turn can happen, so a larger WP_RADIUS usually leads to better5821flight paths, especially for faster aircraft.58225823- send gyro and accel status separately to the GCS (thanks to Randy)58245825- support setting the acceptance radius in mission waypoints (in5826parameter 2), which allows for better control of waypoints where5827actions such as servo release will happen58285829- fixed GPS time offset in HIL58305831- added RELAY_DEFAULT parameter, allowing control of relay state on5832boot58335834- fixed sdcard logging on PX4v158355836- added GPS_SBAS_MODE and GPS_MIN_ELEV parameters for better control5837of the use of SBAS and the GPS elevation mask for advanced users58385839Happy flying!584058415842Release 3.1.0, August 26th 20145843-------------------------------58445845The ardupilot development team is proud to announce the release of5846version 3.1.0 of APM:Plane. This is a major release with a lot of new5847features and bug fixes.58485849The biggest change in this release is the addition of automatic5850terrain following. Terrain following allows the autopilot to guide the5851aircraft over varying terrain at a constant height above the ground5852using an on-board terrain database.58535854Changes in this release:58555856- added terrain following support. See5857http://plane.ardupilot.com/wiki/common-terrain-following/58585859- added support for higher baudrates on telemetry ports, to make it5860easier to use high rate telemetry to companion boards. Rates of up5861to 1.5MBit are now supported to companion boards.58625863- added new takeoff code, including new parameters:5864TKOFF_TDRAG_ELEV, TKOFF_TDRAG_SPD1, TKOFF_ROTATE_SPD,5865TKOFF_THR_SLEW and TKOFF_THR_MAX.5866This gives fine grained control of auto takeoff for tail dragger aircraft.58675868- overhauled glide slope code to fix glide slope handling in many5869situations. This makes transitions between different altitudes5870much smoother.58715872- prevent early waypoint completion for straight ahead5873waypoints. This makes for more accurate servo release at specific5874locations, for applications such as dropping water bottles.58755876- added MAV_CMD_DO_INVERTED_FLIGHT command in missions, to change5877from normal to inverted flight in AUTO (thanks to Philip Rowse for5878testing of this feature).58795880- new Rangefinder code with support for a wider range of rangefinder5881types including a range of Lidars (thanks to Allyson Kreft)58825883- added support for FrSky telemetry via SERIAL2_PROTOCOL parameter5884(thanks to Matthias Badaire)58855886- added new STAB_PITCH_DOWN parameter to improve low throttle5887behaviour in FBWA mode, making a stall less likely in FBWA mode5888(thanks to Jack Pittar for the idea).58895890- added GLIDE_SLOPE_MIN parameter for better handling of small5891altitude deviations in AUTO. This makes for more accurate altitude5892tracking in AUTO.58935894- added support for Linux based autopilots, initially with the PXF5895BeagleBoneBlack cape and the Erle robotics board. Support for more5896boards is expected in future releases. Thanks to Victor, Sid and5897Anuj for their great work on the Linux port. See5898http://diydrones.com/profiles/blogs/first-flight-of-ardupilot-on-linux5899for details.59005901- prevent cross-tracking on some waypoint types, such as when5902initially entering AUTO or when the user commands a change of5903target waypoint.59045905- fixed servo demo on startup (thanks to Klrill-ka)59065907- added AFS (Advanced Failsafe) support on 32 bit boards by5908default. See5909http://plane.ardupilot.com/wiki/advanced-failsafe-configuration/59105911- added support for monitoring voltage of a 2nd battery via BATTERY25912MAVLink message59135914- added airspeed sensor support in HIL59155916- fixed HIL on APM2. HIL should now work again on all boards.59175918- added StorageManager library, which expands available FRAM storage5919on Pixhawk to 16 kByte. This allows for 724 waypoints, 50 rally5920points and 84 fence points on Pixhawk.59215922- improved steering on landing, so the plane is actively steered5923right through the landing.59245925- improved reporting of magnetometer and barometer errors to the GCS59265927- added FBWA_TDRAG_CHAN parameter, for easier FBWA takeoffs of tail5928draggers, and better testing of steering tuning for auto takeoff.59295930- fixed failsafe pass through with no RC input (thanks to Klrill-ka)59315932- fixed a bug in automatic flow control detection for serial ports5933in Pixhawk59345935- fixed use of FMU servo pins as digital inputs on Pixhawk59365937- imported latest updates for VRBrain boards (thanks to Emile5938Castelnuovo and Luca Micheletti)59395940- updates to the Piksi GPS support (thanks to Niels Joubert)59415942- improved gyro estimate in DCM (thanks to Jon Challinger)59435944- improved position projection in DCM in wind (thanks to Przemek5945Lekston)59465947- several updates to AP_NavEKF for more robust handling of errors5948(thanks to Paul Riseborough)59495950- improved simulation of rangefinders in SITL59515952- lots of small code cleanups thanks to Daniel Frenzel59535954- initial support for NavIO board from Mikhail Avkhimenia59555956- fixed logging of RCOU for up to 12 channels (thanks to Emile5957Castelnuovo)59585959- code cleanups from Silvia Nunezrivero59605961- improved parameter download speed on radio links with no flow5962control59635964Many thanks to everyone who contributed to this release, especially5965our beta testers Marco, Paul, Philip and Iam.59665967Happy flying!596859695970Release 3.0.3, May 19th 20145971----------------------------59725973The ardupilot development team is proud to announce the release of5974version 3.0.3 of APM:Plane. This release contains some important bug5975fixes for all supported boards.59765977The key bug fixes in this release are:59785979- fixed handling of filter divergance in the EKF filter5980- fixed a glide slope calculation bug when entering AUTO mode59815982The EKF fixes are the main focus of this release. During testing of5983APM:Plane with the AHRS_EKF_USE enabled it was found that under some5984circumstances the EKF could diverge, resulting in loss of attitude5985estimate. Unless the pilot quickly took control in MANUAL this could5986result in the aircraft crashing.59875988The fix for this problem was in several parts. The main fix was to5989prevent the divergance, but as a precuation against future bugs of5990this type additional numerical checks were added to allow the EKF to5991automatically reset in flight when the internal state shows5992large gyro bias changes, which are the first sign of something going5993wrong in the filter. If this happens again the EKF will automatically5994disable itself for 10 seconds, allowing APM:Plane to fall back to the5995old DCM code. The EKF will then reset itself using initial state based5996on the DCM state. The aircraft will report the failure using the AHRS5997health bit in the SYS_STATUS MAVLink message.59985999The default EKF tuning parameters were also updated based on a number6000of user supplied flight logs to increase the robustness of the filter.60016002The second bug fixed in this release relates to the glide slope6003calculation when the aircraft enters AUTO mode for the first time when6004at an altitude above the altitude of the first waypoint in the6005mission. The starting point for the glide slope was incorrectly6006calculated using the home altitude, which resulted in the aircraft6007descending below the first waypoint altitude before climbing again. In6008some circumstances this could lead to a crash due to local terrain.60096010Many thanks to everyone who tested this release. Special thanks to6011Dellarb for reporting the glide slope bug and to Paul Riseborough for6012all his work on the EKF code over the last few weeks.60136014Happy flying!601560166017Release 3.0.2, May 4th 20146018---------------------------60196020The ardupilot development team is proud to announce the release of6021version 3.0.2 of APM:Plane. This release combines some important bug6022fixes with some new features.60236024I2C bug fix6025-----------60266027The most important change for this release is a bug fix for an I2C bug6028in the NuttX I2C driver code that could (under some rare6029circumstances) cause a Pixhawk to crash. This bug fix is the primary6030reason for doing a new release now.60316032This bug was able to be reproduced by creating a 1.3m GPS cable6033carrying both the I2C signals for a magnetometer and the UART signals6034for the GPS. Interference between these two signals could cause the6035I2C controller to give spurious data to the I2C driver. The I2C driver6036did not have sufficient protection against these errors and could6037crash the board.60386039While we have not been able to reproduce this error with the normal6040cables that come with a Pixhawk we cannot rule out the bug triggering6041with shorter cables, so we are doing a fast release to fix the bug.60426043Autotune6044--------60456046This release also includes an important new feature - automatic6047roll/pitch tuning. While this feature is still considered experimental6048we have had very positive feedback from beta testers and have decided6049to include it in the release.60506051Full documentation for how to use automatic tuning is available here:60526053http://plane.ardupilot.com/wiki/automatic-tuning-with-autotune/60546055we hope that the automatic tuning will help users who have had6056difficulty with the standard APM:Plane manual tuning procedure. We6057plan on extending autotune to other aspects of fixed wing tuning in6058future releases.60596060Other changes6061-------------60626063- fixed a glide slope calculation error when very close to waypoints6064- fixed a bug when swithing to another auto-throttle mode during auto6065takeoff (thanks to Marco for finding this bug!)6066- added MIS_AUTORESET parameter (thanks to Andrew Chapman)6067- support compassmot calibration by supplying current measurments to the6068compass driver (thanks to Jon Challinger)6069- fixed a GPS driver bug that could cause GPS lag in case of lost GPS6070samples (thanks to Jon Challinger)6071- fixed a LOITER_TURNS bug in missions for counter-clockwise loiter6072(thanks to Iskess for finding this bug)6073- added support for OBC termination requirements to PX4IO6074- added support for pressure altitude termination to OBC module6075- fixed EKF wind estimation with no airspeed sensor (thanks to Paul6076Riseborough)6077- improved tuning of EKF for fixed wing aircraft (thanks to Paul6078Riseborough)6079- Converted rally point code to library AP_Rally (thanks to Andrew6080Chapman)6081- added SITL checking for numerical errors60826083Thanks to testers!60846085Many thanks to everyone who tested the beta versions of this release!6086Special thanks to Marco, Paul, Jon, Iam, JNJO, sonicdahousecat and6087Keeyen for providing testing of both existing features and the new6088autotune code.608960906091Release 3.0.1, April 9th 20146092-----------------------------60936094I've just released APM:Plane 3.0.1, a bug fix release for the 3.0.0 release.6095This release fixes two bugs:60966097throttle failsafe for aircraft using PWM level for failsafe detection6098wind reporting with EKF enabled and no airspeed sensor60996100The throttle failsafe fix is a critical bugfix, which is why I am6101doing a new release so soon. The bug was found by Sam Tabor, and he6102posted the bug report before the 3.0.0 release, but I didn't notice it6103in the release preparations. The bug only affects systems using PWM6104value as the sole method of detecting loss of RC control. I hadn't6105noticed it myself as my planes all use receivers which stop sending6106value PWM frames when the RC link is lost. In that case failsafe6107worked correctly. Receivers that keep sending PWM frames but with low6108throttle levels are common though, so this is a very important fix.6109Many thanks to Sam for reporting the bug, and my apologies for not6110noticing it in time for the 3.0.0 release.611161126113Release 3.0.0, April 8th 20146114-----------------------------61156116The ardupilot development team is proud to announce the release of6117version 3.0.0 of APM:Plane. This is a major release with a lot of new6118features.61196120For each release I try to highlight the two or 3 key new features that6121have gone in since the last release. That is a more difficult task6122this time around because there are just so many new things. Still, I6123think the most important ones are the new Extended Kalman Filter (EKF)6124for attitude/position estimation, the extensive dual sensors support6125and the new AP_Mission library.61266127We have also managed to still keep support for the APM1 and APM2,6128although quite a few of the new features are not available on those6129boards. We don't yet know for how long we'll be able to keep going on6130supporting these old boards, so if you are thinking of getting a new6131board then you should get a Pixhawk, and if you want the best6132performance from the APM:Plane code then you should swap to a6133Pixhawk now. It really is a big improvement.61346135New Extended Kalman Filter6136--------------------------61376138The biggest change for the 3.0.0 release (and in fact the major reason6139why we are calling it 3.0.0) is the new Extended Kalman Filter from6140Paul Riseborough. Using an EKF for attitude and position estimation6141was never an option on the APM2 as it didn't have the CPU power or6142memory to handle it. The Pixhawk does have plenty of floating point6143performance, and Paul has done a fantastic job of taking full6144advantage of the faster board.61456146As this is the first stable release with the EKF code we have decided6147to not enable it by default. It does however run all the time in6148parallel with the existing DCM code, and both attitude/position6149solutions are logged both to the on-board SD card and over6150MAVLink. You can enable the EKF code using the parameter6151AHRS_EKF_USE=1, which can be set and unset while flying, allowing you6152to experiment with using the EKF either by examining your logs with6153the EKF disabled to see how it would have done or by enabling it while6154flying.61556156The main thing you will notice with the EKF enabled is more accurate6157attitude estimation and better handling of sensor glitches. A Kalman6158filter has an internal estimate of the reliability of each of its6159sensor inputs, and is able to weight them accordingly. This means that6160if your accelerometers start giving data that is inconsistent with6161your other sensors then it can cope in a much more graceful way than6162our old DCM code.61636164The result is more accurate flying, particularly in turns. It also6165makes it possible to use higher tuning gains, as the increased6166accuracy of the attitude estimation means that you can push the6167airframe harder without it becoming unstable. You may find you can use6168a smaller value for NAVL1_PERIOD, giving tighter turns, and higher6169gains on your roll and pitch attitude controllers.61706171Paul has written up a more technical description of the new EKF code6172here:61736174http://plane.ardupilot.com/wiki/common-apm-navigation-extended-kalman-filter-overview/617561766177Dual Sensors6178------------61796180The second really big change for this release is support for6181dual-sensors. We now take full advantage of the dual accelerometers6182and dual gyros in the Pixhawk, and can use dual-GPS for GPS6183failover. We already had dual compass support, so the only main6184sensors we don't support two of now are the barometer and the airspeed6185sensor. I fully expect we will support dual baro and dual airspeed in6186a future release.61876188You might wonder why dual sensors is useful, so let me give you an6189example. I fly a lot of nitro and petrol planes, and one of my planes6190(a BigStik 60) had a strange problem where it would be flying6191perfectly in AUTO mode, then when the throttle reached a very specific6192level the pitch solution would go crazy (sometimes off by 906193degrees). I managed to recover in MANUAL each time, but it certainly6194was exciting!61956196A careful analysis of the logs showed that the culprit was6197accelerometer aliasing. At a very specific throttle level the Z6198accelerometer got a DC offset of 11 m/s/s. So when the plane was6199flying along nice and level the Z accelerometer would change from -106200m/s/s to +1 m/s/s. That resulted in massive errors in the attitude6201solution.62026203This sort of error happens because of the way the accelerometer is6204sampled. In the APM code the MPU6000 (used on both the APM2 and6205Pixhawk) samples the acceleration at 1kHz. So if you have a strong6206vibrational mode that is right on 1kHz then you are sampling the "top6207of the sine wave", and get a DC offset.62086209The normal way to fix this issue is to improve the physical6210anti-vibration mounting in the aircraft, but I don't like to fix6211problems like this by making changes to my aircraft, as if I fix my6212aircraft it does nothing for the thousands of other people running the6213same code. As the lead APM developer I instead like to fix things in6214software, so that everyone benefits.62156216The solution was to take advantage of the fact that the Pixhawk has6217two accelerometers, one is a MPU6000, and the 2nd is a LSM303D. The6218LSM303D is sampled at 800Hz, whereas the MPU6000 is sampled at62191kHz. It would be extremely unusual to have a vibration mode with6220aliasing at both frequencies at once, which means that all we needed6221to do was work out which accelerometer is accurate at any point in6222time. For the DCM code that involved matching each accelerometer at6223each time step to the combination of the GPS velocity vector and6224current attitude, and for the EKF it was a matter of producing a6225weighting for the two accelerometers based on the covariance matrix.62266227The result is that the plane flew perfectly with the new dual6228accelerometer code, automatically switching between accelerometers as6229aliasing occurred.62306231Since adding that code I have been on the lookout for signs of6232aliasing in other logs that people send me, and it looks like it is6233more common than we expected. It is rarely so dramatic as seen on my6234BigStik, but often results in some pitch error in turns. I am hopeful6235that with a Pixhawk and the 3.0 release of APM:Plane that these types6236of problems will now be greatly reduced.62376238For the dual gyro support we went with a much simpler solution and6239just average the two gyros when both are healthy. That reduces noise,6240and works well, but doesn't produce the dramatic improvements that the6241dual accelerometer code resulted in.62426243Dual GPS was also quite a large development effort. We now support6244connecting a 2nd GPS to the serial4/5 port on the Pixhawk. This allows6245you to protect against GPS glitches, and has also allowed us to get a6246lot of logs showing that even with two identical GPS modules it is6247quite common for one of the GPS modules to get a significant error6248during a flight. The new code currently switches between the two GPS6249modules based on the lock status and number of satellites, but we are6250working on a more sophisticated switching mechanism.62516252Supporting dual GPS has also made it easier to test new GPS6253modules. This has enabled us to do more direct comparisons between the6254Lea6 and the Neo7 for example, and found the Neo7 performs very6255well. It also helps with developing completely new GPS drivers, such6256as the Piksi driver (see notes below).62576258New AP_Mission library6259----------------------62606261Many months ago Brandon Jones re-worked our mission handling code to6262be a library, making it much cleaner and fixing a number of long term6263annoyances with the behaviour. For this release Randy built upon the6264work that Brandon did and created the new AP_Mission library.62656266The main feature of this library from the point of view of the6267developers is that it has a much cleaner interface, but it also has6268some new user-visible features. The one that many users will be glad6269to hear is that it no longer needs a "dummy waypoint" after a6270jump. That was always an annoyance when creating complex missions.62716272The real advantage of AP_Mission will come in future releases though,6273as it has the ability to look ahead in the mission to see what is6274coming, allowing for more sophisticated navigation. The copter code6275already takes advantage of this with the new spline waypoint feature,6276and we expect to take similar advantage of this in APM:Plane in future6277releases.62786279New Piksi GPS driver6280--------------------62816282One of the most exciting things to happen in the world of GPS modules6283in the last couple of years is the announcement by SwiftNav that they6284would be producing a RTK capable GPS module called the Piksi at a6285price that (while certainly expensive!) is within reach of more6286dedicated hobbyists. It offers the possibility of decimeter and6287possibly even centimetre level relative positioning, which has a lot6288of potential for small aircraft, particularly for landing control and6289more precise aerial mapping.62906291This release of APM:Plane has the first driver for the Piksi. The new6292driver is written by Niels Joubert, and he has done a great job. It is6293only a start though, as this is a single point positioning driver. It6294will allow you to use your new Piksi if you were part of the6295kickstarter, but it doesn't yet let you use it in RTK mode. Niels and6296the SwiftNav team are working on a full RTK driver which we hope will6297be in the next release.62986299Support for more RC channels6300----------------------------63016302This release is the first to allow use of more than 8 RC input6303channels. We now support up to 18 input channels on SBus on Pixhawk,6304with up to 14 of them able to be assigned to functions using the6305RCn_FUNCTION settings. For my own flying I now use a FrSky Taranis6306with X8R and X6R receivers and they work very nicely. Many thanks to6307the PX4 team, and especially to Holger and Lorenz for their great work6308on improving the SBus code.63096310Flaperon Support6311----------------63126313This release is the first to have integrated flaperon support, and6314also includes much improved flaps support in general. You can now set6315a FLAP_IN_CHANNEL parameter to give an RC channel for manual flap6316control, and setup a FLAPERON_OUTPUT to allow you to setup your6317ailerons for both manual and automatic flaperon control.63186319We don't yet have a full wiki page on setting up flaperons, but you6320can read about the parameters here:63216322http://plane.ardupilot.com/wiki/arduplane-parameters/#Flap_input_channel_ArduPlaneFLAP_IN_CHANNEL63236324Geofence improvements6325---------------------63266327Michael Day has made an number of significant improvements to the6328geo-fencing support for this release. It is now possible to6329enable/disable the geofence via MAVLink, allowing ground stations to6330control the fence.63316332There are also three new fence control parameters. One is6333FENCE_RET_RALLY which when enabled tells APM to fly back to the6334closest rally point on a fence breach, instead of flying to the center6335of the fence area. That can be very useful for more precise control of6336fence breach handling.63376338The second new parameter is FENCE_AUTOENABLE, which allows you to6339automatically enable a geofence on takeoff, and disable when doing an6340automatic landing. That is very useful for fully automated missions.63416342The third new geofence parameter is FENCE_RETALT, which allows you to6343specify a return altitude on fence breach. This can be used to6344override the default (half way between min and max fence altitude).63456346Automatic Landing improvements6347------------------------------63486349Michael has also been busy on the automatic landing code, with6350improvements to the TECS speed/height control when landing and new6351TECS_LAND_ARSPD and TECS_LAND_THR parameters to control airspeed and6352throttle when landing. This is much simpler to setup than6353DO_CHANGE_SPEED commands in a mission.63546355Michael is also working on automatic path planning for landing, based6356on the rally points code. We hope that will get into a release soon.63576358Detailed Pixhawk Power Logging6359------------------------------63606361One of the most common causes of issues with autopilots is power6362handling, with poor power supplies leading to brownouts or sensor6363malfunction. For this release we have enabled detailed logging of the6364information available from the on-board power management system of the6365Pixhawk, allowing us to log the status of 3 different power sources6366(brick input, servo rail and USB) and log the voltage level of the6367servo rail separately from the 5v peripheral rail on the FMU.63686369This new logging should make it much easier for us to diagnose power6370issues that users may run into.63716372New SERIAL_CONTROL protocol6373---------------------------63746375This release adds a new SERIAL_CONTROL MAVLink message which makes it6376possible to remotely control a serial port on a Pixhawk from a ground6377station. This makes it possible to do things like upgrade the firmware6378on a 3DR radio without removing it from an aircraft, and will also6379make it possible to attach to and control a GPS without removing it6380from the plane.63816382There is still work to be done in the ground station code to take full6383advantage of this new feature and we hope to provide documentation6384soon on how to use u-Blox uCenter to talk to and configure a GPS in an6385aircraft and to offer an easy 3DR radio upgrade button via the Pixhawk6386USB port.63876388Lots of other changes!6389----------------------63906391There have been a lot of other improvements in the code, but to stop6392this turning into a book instead of a set of release notes I'll stop6393the detailed description there. Instead here is a list of the more6394important changes not mentioned above:63956396- added LOG_WHEN_DISARMED flag in LOG_BITMASK6397- raised default LIM_PITCH_MAX to 20 degrees6398- support a separate steering channel from the rudder channel6399- faster mission upload on USB6400- new mavlink API for reduced memory usage6401- fixes for the APM_OBC Outback Challenge module6402- fixed accelerometer launch detection with no airspeed sensor6403- greatly improved UART flow control on Pixhawk6404- added BRD_SAFETYENABLE option to auto-enable the safety6405switch on PX4 and Pixhawk on boot6406- fixed pitot tube ordering bug and added ARSPD_TUBE_ORDER parameter6407- fixed log corruption bug on PX4 and Pixhawk6408- fixed repeated log download bug on PX4 and Pixhawk6409- new Replay tool for detailed log replay and analysis6410- flymaple updates from Mike McCauley6411- fixed zero logs display in MAVLink log download6412- fixed norm_input for cruise mode attitude control6413- added RADIO_STATUS logging in aircraft logs6414- added UBX monitor messages for detailed hardware logging of u-Blox status6415- added MS4525 I2C airspeed sensor voltage compensation641664176418I hope that everyone enjoys flying this new APM:Plane release as much6419as we enjoyed producing it! It is a major milestone in the development6420of the fixed wing code for APM, and I think puts us in a great6421position for future development.642264236424Happy flying!642564266427