Releases: ArduCustom/ardupilot
Custom light V11.2
Light variant of the Custom V11.2 release. Please check the Custom V11.2 release page for release notes.
You can use the light version, there is no difference with non-light besides being lighter, as long as you're:
- Not using more than 1 GPS and 1 magnetometer
- Not using CAN
- Not using anything else than SBUS/CRSF/IBUS/FPORT for RC
- Not using something else than UBLOX GPS
- Not using anything else than analog or MS4525 pressure sensors for airspeed
- Not using anything else than Benewake LIDARs
- Don't need EKF3 (only EKF2 is enabled)
Custom V11.2
Changes since Custom V11.1
All vehicles
MavFTP
Changes have been made to prevent MavFTP failing to init in most cases for MCUs with low amount of RAM
Targets
The SpeedyBeeF405WING
target has been added (thanks @mf0o) and is available in the light release
OSD
- Wide sidebars have been ported from upstream (thanks @mf0o)
- Betaflight's MSP DisplayPort symbols table used for DJI O3 has been updated/fixed (thanks @mf0o)
- The home and waypoints arrow direction has been fixed for DJI O3 (Betaflight MSP DisplayPort) (thanks @mf0o)
Plane
FLTMODE_EXT
parameter documentation
The documentation for the FLTMODE_EXT
parameter which controls switching between 6 and 12 flight modes has been improved. It now includes the PWM ranges for the 12 flight modes mode.
Servos autotrim
The SAT_FINISHTHRESH
parameter has been added to define when the trim of a control surface is considered good which defaults to 20. The value means that if the trim of a control surface has changed less than this amount during the last 10s time window then the control surface is considered trimmed. When all the control surfaces are considered trimmed then the servos autotrim operation is considered finished and will stop in case you have started it with the flight mode (see below), a channel aux function or had set SERVO_AUTO_TRIM
to 1 (once).
Also a new servos autotrim flight mode (id 27) has been added which prevents wasting a channel to use servos autotrim. You can now instead just use the mode switch channel. To use just set FLTMODEx to 27.
Autotune
The autotune flight mode has been improved to now not need any changes to the PTCH/RLL_AGL_*
parameters before tuning and it now uses the set PTCH/RLL_AGL_P
parameters as a starting point. Note that if you enter the autotune flight mode the PTCH/RLL_AGL_D
parameters are being reset to 0. The PTCH/RLL_AGL_I/FLTT
are also set to 0 but only temporarily and are being reverted to the previous value when exiting the autotune flight mode.
Steering assist
Steering assist now supports driving in reverse with reverse throttle. Before this version it would steer the wrong way making the plane direction uncontrollable while reversing. If the speed of the plane is less than 0.5m/s the assumed travel direction is based on whether reverse throttle is engaged or not. Above this speed the heading based on the ground speed vector is used to determine whether the plane is moving forward or backward.
Tuning sets changes
After upgrading to 11.2 if you are using RC tuning make sure to check the value of TUNE_PARAM as some of the tuning sets' IDs have been changed. Here is an exhaustive list of changes:
- Set_THR2PTCH: 111 now doesn't include the parameters for the positive pitch compensation. These are now found in the Set_THR2PTCH_full set (ID 112)
- Set_THR2PTCH_full: 112 displaces Set_Coordination, which was 112 before, and all the sets with IDs greater than that to old_ID+1
- The sets which were for the ROLL or PITCH axis specifically have been re-ordered so that the PITCH sets are before the ROLL sets. It was the opposite before
- A new set
Set_FWPitchRollPIDs
(ID 124) has been added which contains all the plane rate and angle PID parameters for both PITCH and ROLL
RC tuning selector channel
The timing for the RC tuning selector channel functions have been modified so that it is possible to tune planes faster:
- For re-centering the tuning channel the selector channel need to be high between 50 and 500ms instead of a minimum of 200ms before these changes
- Switching to the next parameter in the current tuning set requires the selector channel to be held high for 500ms instead of 3 seconds previously
- Saving the tune now only requires the selector channel to be held high for 3 seconds instead of 5.
Also it is now possible to define 3 sets of parameters you can switch between with the tuning selector channel:
- If the tune selector channel value is between 900 and 1199µs then the set in the
TUNE_PARAM
parameter is loaded - If the tune selector channel value is between 1200 and 1399µs then the set in the
TUNE_PARAM2
parameter is loaded - If the tune selector channel value is between 1400 and 1599µs then the set in the
TUNE_PARAM3
parameter is loaded - The tune selector channel low level value consequently needs to be within these ranges. The selector channel high value is considered high when it is above 1700µs as before. If you do not wish to use more than one set you can do so by just like before by assigning a switch to the tuning selector channel with an offset of 0% and a weight of 100%.
The allow_channel_reversing bit in RC_OPTIONS has been removed
It has been removed since it simplifies the code, makes the binaries smaller and it seems like there is no point of having it. So RC AUX functions (used with RCx_OPTION
> 0) can now be reversed by just setting RCx_REVERSED
to 1 so that the function is active when the channel value is below 1700µs instead of over 1700µs. Note that the behavior is now different for "relays", see next section.
"Relays"
The range of PWM inputs for turning on relays can now be configured and need to be set with RCx_MIN
/ RCx_MAX
. If you have a relay configured on RC7 for example and have set RC7_MIN = 1200
and RC7_MAX = 2000
then the relay will the turned on when RC7's value is between 1200 and 2000 and otherwise will be turned off.
The relay outputs are now initialized on boot-up following the RCx_REVERSED
parameter. If RCx_REVERSED
is set to 0 the corresponding relay output will be set low on boot-up while if it is set to 1 then the relay output will be set to 1. It is particularly useful for example with Matek flight controllers which video power switchable pads are turned off when the corresponding GPIO/relay is switched to a high state. It means that by setting RCx_REVERSED
to 1 for the relay output controlling the video power switch pad your VTX will be off after boot-up even if you don't have your radio turned on.
A nice side effect of this feature is that you can now use a single channel to control both the power supply to your VTX and the OSD layout if your VTX can be controlled with a "relay" output for example.
Throttle slew rates
Throttle slew rate parameters are now a float type which means the resolution is greatly improved and they can be set to much bigger values than before.
Upgrading from V11.1
- If you are using RC tuning check the
TUNE_PARAM*
parameters and the values you are sending onto the tune selector channel (see the "RC tuning selector channel" section above) - If you are using "relay" outputs make sure your
RCx_MIN/MAX
parameters for the RC channel used as relays are set to represent the range you want the relay output to be high for (or low for if you have setRCx_REVERSED
to 1) - You don't need the allow_channel_reverse (bit 7) to be set in RC_OPTIONS for the
RCx_REVERSED
parameters to be effective to RC AUX channel functions so check that these are set appropriately if you didn't have the allow_channel_reverse bit set.
If you cannot find binaries for your board here first check the light variant of this release as boards with F4x5 MCUs having only 1MB flash cannot fit the full custom release. If you still cannot find binaries for you board you can ask me for binaries for your board to be added on the Ardupilot users Telegram group.
The complete parameters documentation for this release can be found here.
Custom light V11.1
Light variant of the Custom V11.1 release. Please check the Custom V11.1 release page for release notes.
You can use the light version, there is no difference with non-light besides being lighter, as long as you're:
- Not using more than 1 GPS and 1 magnetometer
- Not using CAN
- Not using anything else than SBUS/CRSF/IBUS/FPORT for RC
- Not using something else than UBLOX GPS
- Not using anything else than analog or MS4525 pressure sensors for airspeed
- Not using anything else than Benewake LIDARs
- Don't need EKF3 (only EKF2 is enabled)
Custom V11.1
Changes since Custom V11.0
- switched to EKF2 only for boards with flash <=1MB
- switched to EKF2 by default for board with flash >1MB
- Plane: fixed flying detection heuristic
Upgrading
AHRS_EKF_TYPE needs to be changed to 2 and EK2_ENABLE needs to be set to 1
If you cannot find binaries for your board here first check the light variant of this release as some boards with F405 MCUs having only 1MB flash cannot fit the full custom release. If you still cannot find binaries for you board you can ask me for binaries for your board to be added on the Ardupilot users Telegram group.
The complete parameters documentation for this release can be found here. It is the same parameters documentation as V11.0 since there was no parameter change in this version.
Custom light V11.0
Light variant of the Custom V11.0 release. Please check the Custom V11.0 release page for release notes.
You can use the light version, there is no difference with non-light besides being lighter, as long as you're:
- Not using more than 1 GPS and 1 magnetometer
- Not using CAN
- Not using anything else than SBUS/CRSF/IBUS/FPORT for RC
- Not using something else than UBLOX GPS
- Not using anything else than analog or MS4525 pressure sensors for airspeed
- Not using anything else than Benewake LIDARs
- Don't need EKF2 (only EKF3 is enabled)
Custom V11.0
These release notes detail the changes made between V10.3 and V11.0 excluding the changes coming from updating the base branch from upstream. V11.0 is based on upstream version ArduPlane/ArduCopter V4.4.0dev from October 17th 2022
All vehicles
- Enable disarmed logging by default for file backends
- OSD: add persistent traveled ground distance
Plane
- Add parameter Q_M_FRTB_RATIO to specify the hover front/rear thrust balance ratio for Tri-class VTOL planes
- Add AHI aspect ratio correction for DisplayPort OSD
- Fix takeoff mode throttle slew rate
- Some TECS improvements
- THR_AUTO_SRATE and Q_TRIM_PITCH are now RC tunable and tuning sets have been added for FW Roll+Pitch, Roll and Pitch PIDS
- During the loiter phase of the takeoff mode the altitude, radius and rotation direction can be manually controlled like loiter mode in V10
- Disarming while in Q mode now stops the motors if the throttle is at 0 (safety). In V10 the motors would only stop in forward flight modes if the arming switch was put in disarmed position, it was not possible to stop the motors in flight in Q modes.
- ELRS/CRSF improvements (ArduPilot/ardupilot#22266)
- Increase DisplayPort UART TX buffer to prevent OSD corruption (ArduPilot/ardupilot#22355)
- Disarming in flight now temporarily replaces the long failsafe action to FBWA to be able to land away from home in case the battery is empty or other issue. The plane will not RTL while disarmed. It is the same as RCx_OPTION 157.
- Persistent stats: add total consumed energy including losses and max flight time with one battery
- Will now not display negative output thr values when reverse thrust is disallowed for the active mode
- Fix persistent flight time accounting bug
Copter
- It will now not disarm while in flight unless the throttle is set to 0 prior to the disarm request
Targets
- All released binaries have the serial order in natural order (SERIALx = UARTx)
- MatekF405-Wing: the LED pad can now be used for PWM, not only RELAY
- MatekF765-Wing: keep video power output turned off at boot and by default and add default relay pins
- New target: NeutronRC_H7_BT
Updating
Some function IDs have changed between V10 and V11 like SERVOx_FUNCTION for left/right ailerons and RCx_OPTION for servo auto trimming. Check your configuration and servo movements before flying.
If you cannot find binaries for your board here first check the light variant of this release as some boards with F405 MCUs having only 1MB flash cannot fit the full custom release. If you still cannot find binaries for you board you can ask me for binaries for your board to be added on the Ardupilot users Telegram group.
The complete parameters documentation for this release can be found here
Custom light V10.3
Light variant of the Custom V10.3 release. Please check the Custom V10.3 release page for release notes.
You can use the light version, there is no difference with non-light besides being lighter, as long as you're:
- Not using more than 1 GPS and 1 magnetometer
- Not using CAN
- Not using anything else than SBUS/CRSF/IBUS/FPORT for RC
- Not using something else than UBLOX GPS
- Not using anything else than analog or MS4525 pressure sensors for airspeed
- Not using anything else than Benewake LIDARs
Custom V10.3
Changes since V10.2
- Fix flight time accounting bug (#208)
This is a minor/bugfix release, if you are upgrading from V9.0 the upgrade instructions are the same as V10.0, please follow the upgrade instructions found in the V10.0 release notes
You can find the "light" variant here
The complete parameters documentation for this release can be found here
Custom light V10.2
Light variant of the Custom V10.2 release. Please check the Custom V10.2 release page for release notes.
You can use the light version, there is no difference with non-light besides being lighter, as long as you're:
- Not using more than 1 GPS and 1 magnetometer
- Not using CAN
- Not using anything else than SBUS/CRSF/IBUS for RC
- Not using something else than UBLOX GPS
- Not using anything else than analog or MS4525 pressure sensors for airspeed
- Not using anything else than Benewake LIDARs
Custom V10.2
Changes since V10.1
- TECS bug fix from upstream aa16c71
This is a minor/bugfix release, if you are upgrading from V9.0 the upgrade instructions are the same as V10.0, please follow the upgrade instructions found in the V10.0 release notes
You can find the "light" variant here