Skip to content

Releases: ArduCustom/ardupilot

Custom light V10.1

16 May 15:21
Compare
Choose a tag to compare

Light variant of the Custom V10.1 release. Please check the Custom V10.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 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.1

16 May 15:21
Compare
Choose a tag to compare

Changes since V10.0

  • enable servos auto trim in course hold mode
  • uncap RF mode for the new versions of ELRS
  • fix buzzer on MatekH743
  • fix takeoff idle throttle slew rate on twins with diff thrust

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.0

08 May 16:02
Compare
Choose a tag to compare

Light variant of the Custom V10.0 release. Please check the Custom V10.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 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.0

08 May 16:02
bd767a5
Compare
Choose a tag to compare

These release notes detail the changes made between V9.0 and V10.0 excluding the changes coming from updating the base branch from upstream. V10.0 is based on upstream version 4.3.0 dev from March 24th

Plane

Attitude controller

The attitude controller is now using a full PID. When updating to V10.0 it will convert your old RLL2SRV_TCONST and PTCH2SRV_TCONST values. All the attitude controller parameters are now using the prefix RLL_AGL_ for roll and PTCH_AGL for pitch. Check the complete parameters list for the available parameters. Using a full PID for attitude control allows for a tighter control without overshoot, oscillations nor long term errors. The PID parameters are logged using the PIPA message for pitch and PIRA message for roll.

Throttle curves

Two separate throttle curves, one for manual control (THR_EXPO_MANUAL) and one for automatic control (THR_EXPO_AUTO), have been added to help improve airspeed management with throttle. A value close to 100 will make the airspeed proportional to throttle position. THR_EXPO_MANUAL is applied even in manual mode by default but this behavior can be disabled with RC_OPTIONS bit 23.

Four stages FBWA throttle to pitch compensation

It is now possible to use advanced curves to compensate pitch for variation in throttle below TRIM_THROTTLE to make altitude management easier in FBWA mode.

Four_stages_FBWA_throttle_to_pitch_compensation

KFF_THRAT2PTCH needs to be set correctly for the TECS to work right if not using an airspeed sensor or synthetic airspeed. To tune KFF_THRAT2PTCH: fly at any throttle between TRIM_THROTTLE + (100 - TRIM_THROTTLE) / 2 and 100% then measure the pitch (with OSD is the easiest) required to maintain a constant altitude. Then set KFF_THRAT2PTCH = measured_pitch / sqrt((TRIM_THROTTLE - throttle) / (TRIM_THROTTLE - 100)) with measured pitch in degrees, negative value meaning pitch down and throttle in %.

Differential throws

It is now possible to have differential throws configured easily for:

  • Elevator (ELEV_DIFF)
  • Ailerons (AILE_DIFF)

Note that to use the differential throws configured for ailerons with AILE_DIFF you need to use the new left and right aileron servo functions for the aileron outputs.

Servos auto trim

The servos auto trim feature has been improved:

  • It will now move the servos min/max at the same time as the trim keeping the throws symmetrical if they started symmetrical. The absolute minimum and maximum values the auto trim function should not go past are set with the parameters SERVOx_ABS_MIN and SERVOx_ABS_MAX. If these are set to 0 then the auto trim will not touch the SERVOx_MIN and SERVOx_MAX values, only SERVOx_TRIM will be adjusted.
  • Messages will now be displayed when the trim for a specific control surface or set of control surfaces reached saturation (either trim has moved more than 25% from original value or a min/max has reached a set absolute min/max).
  • A message will now be displayed when the auto trim operation is completed.
  • The SERVO_AUTO_TRIM parameter can now take 3 values: 0 for disabled, 1 to trim the control surfaces once until finished then auto trim is disabled, 2 to permanently enable auto servo trimming.
  • Servos auto trim can now be enabled via a RC channel by setting RCx_OPTION to 162. This is the recommended usage for autotrim: set SERVO_AUTO_TRIM=0, assign a channel to auto trim, flip the switch to enable auto trim while at cruise throttle in FBWA or COURSE_HOLD mode and wait for the trim to finish. Once the trim is finished trimming is disabled until the switch is flipped back into off position then on again.

Parameters unit changes

  • The RTL altitude (RTL_ALT_MIN previously ALT_HOLD_RTL) was specified in centimeters, now is meters. Should be automatically converted when upgrading (/100)
  • The pitch trim (TRIM_PITCH previously TRIM_PITCH_CD) was specified in centidegrees, now is degrees. You need to set the new parameter to the value of the old parameter divided by 100.

Automatic mode switching when arming/disarming

  • ARMING_MODE_SW which allows to automatically switch to takeoff mode (1) or auto mode (2) after arming now has a delay of execution of 2 seconds.
  • A new RC option is available to switch automatically to manual mode 2s after disarming (RC_OPTIONS bit 21).

Auto flight mode

When switching to auto flight mode the mission will now automatically start again from the beggining if it starts with a takeoff WP and the plane is not flying. This is so that if you don't have MIS_RESTART set to 1 to restart the mission every time and you land in the middle of a mission you don't try to launch without a takeoff WP being the current mission item.

Specific maximum vertical rates can now be enforced for the auto flight mode with AUTO_SINK_MAX and AUTO_CLIMB_MAX.

The target airspeed can now be manually controlled with the throttle stick when FLIGHT_OPTIONS bit 19 is set and airspeed usage is enabled.

Circle flight mode

The target airspeed can now be manually controlled with the throttle stick when airspeed usage is enabled.

New flight mode: course hold

This new flight mode is the same as cruise mode but with manual throttle and pitch control. You can also see it as being FBWA but holding heading if you let go of the sticks. The ID of this new mode is 26. Set FLTMODEx to 26 to use. The OSD mode string for this flight mode is "CRSH".

Like cruise mode when the heading is locked (roll stick centered) it can be smoothly changed with the yaw stick if FLIGHT_OPTIONS bit 20 is set. See the "Cruise mode" section for more information.

Loiter flight mode

It is now possible in loiter mode to control the altitude with the pitch stick, the radius with the roll stick and the direction of rotation with the yaw stick. When the plane is rotating in the CW direction pushing the roll stick left will make the radius bigger. When the plane is rotating in the CCW direction pushing the roll stick right will make the radius bigger. Max stick deflection corresponds to a radius change of 20m/s. Pushing the yaw stick left more than 50% will change the direction of rotation to the CCW direction, pushing it right more than 50% will change the direction of rotation to the CW direction.

It is also now possible to control the demanded airspeed with the throttle stick if airspeed is enabled with ARSPD_USE=1 or TECS_SYNAIRSPEED=1, or nudge the throttle (case when airspeed is not enabled) with the throttle stick. The same way it is working with cruise in this version and has been working in previous versions.

RTL flight mode

  • RTL now has a new RTL_ALT_HOME altitude parameter. The plane will go to this altitude after reaching home at minimum RTL_ALT_MIN
  • FLIGHT_OPTIONS bit 22 when enabled makes RTL only climb first before turning when in RC failsafe (if FLIGHT_OPTIONS bit 4 climb before turn is also set) otherwise if the mode is triggered manually the plane will turn immediately)
  • FLIGHT_OPTIONS bit 21 when enabled allows to control the altitude manually with the pitch stick when not triggered by RC failsafe. If RTL is triggered manually the plane will immediately turn towards home keeping the current altitude. The altitude can also be adjusted while loitering above home.
  • Like with the loiter flight mode if the plane is not in RC failsafe then it is possible to alter the above home loitering radius and the direction of rotation with the roll and yaw sticks respectively
  • Airspeed control is possible with the throttle stick when not in RC failsafe
  • It is now possible to specify maximum climb and sink rates specific to RTL mode with the parameters RTL_SINK_MAX and RTL_CLIMB_MAX. They are used during RC failsafe or when manual altitude control is not enabled. Otherwise the manual maximum climb/sink rate is used.
  • The maximum roll angle during climb phase can now be specified independently from the takeoff/landing maximum roll angle with the parameter RTL_LVL_RLL_LMT

Cruise flight mode

The locked heading can now be smoothly changed with the yaw stick if FLIGHT_OPTIONS bit 20 is set. The max rate is set by the CRUISE_YAW_RATE parameter. Additionally the locked heading can be displayed on analog+canvas OSD (OSDx_CRS_HEAD_EN) and also the current heading adjustment (OSDx_CRS_HADJ_EN).

Gliding in auto throttle modes

Gliding in auto throttle modes can be enabled with RC_OPTIONS bit 23. When enabled moving the throttle to 0 will cut the throttle (throttle output element on canvas+analog OSD will start blinking) and the plane will start gliding while maintaining the properties of the selected flight mode other than the altitude control.

During gliding if an airspeed sensor or synthetic airspeed is enabled then the plane will use the pitch to maintain the airspeed specified by the ARSPD_GLIDING parameter. Otherwise without airspeed sensor it will simply pitch down by FBWA_PITCH_DOWN degrees.

When the throttle is raised again automatic altitude control is resumed.

RC failsafe emergency landing

A new feature has been added allowing the plane to proceed with an emergency landing in case the RC failsafe long procedure has been configured to RTL and the plane has been loitering above home while in RC failsafe for some time. This feature is enabled with the FS_ELAND_DELAY parameter specifying the loitering above home delay before starting the emergency landing.

When the emergency landing procedure starts the plane will change its loitering radius to FS_ELAND_LOTRAD and sink to the altitude specified with FS_ELAND_GLDALT. Then if FS_ELAND_UPWIND is set to one it will align with the wind to land upwind and start gliding with level roll attitude until touching the ground. If FS_ELAND_UPWIND is 0 then it will start glidi...

Read more

Custom light V9.0

09 Feb 13:48
Compare
Choose a tag to compare

Light variant of the Custom V9.0 release. Please check the Custom V9.0 release page for release notes.

You can use the light version as long as you're:

  • Not using more than 1 GPS and 1 magnetometer
  • Not using CAN
  • Not using a RC protocol other than SBUS/CRSF/IBUS
  • Not using a GPS module other than UBLOX GPS
  • Not using a pressure sensor for airspeed other than analog or MS4525
  • Not using a rangefinder other than Benewake LIDARs

Other than this the light variant is exactly the same as the normal custom releases

Custom V9.0

09 Feb 13:47
faa4d81
Compare
Choose a tag to compare

Changes

Rebase on upstream/master plus these custom changes compared to V8.0:

  • OSD: add CRSF RSSI dBm, SNR and active antenna items and add RF mode to the LQ item (@wvarty + @shellixyz, #78)
  • Plane: improve documentation for the MIXING_OFFSET parameter (@shellixyz, #81)
  • OSD: the lateral acceleration item now has proper left/right arrows instead of reusing the roll direction arrows (@shellixyz, #80)
  • OSD: add script to be able to regen MCM font files from the PNG grids so it is much easier to edit the fonts (@shellixyz, #79)
  • OSD: fix numeric attitude so that it takes into account the AHRS view of the vehicle (@shellixyz, #73 & #76)
  • MatekF765-Wing & MatekF405-Wing: remove serial ports from bootloader so that peripherals powered through USB can't interfere (@shellixyz, #74 & #75)
  • OSD: add CRSF TX power element (@shellixyz, #56)
  • Plane: smooth throttle transition between manual and auto throttle during takeoff (@shellixyz, #71)
  • OSD: add angle of attack element (@shellixyz, #70)
  • Tag variant of arducustom and version in the binaries (@shellixyz, #69)
  • Plane: add the option to switch automatically to TKOF or AUTO mode after arming with the ARMING_MODE_SW param (@shellixyz, #67)
  • Plane: add a parameter (STAB_PTCHDN_THR) to specify the throttle bellow which the FC needs to pitch down instead of using TRIM_THROTTLE (@shellixyz, #61)
  • OSD: add throttle position element for copter (@shellixyz, #58)
  • Plane: make auto flaps linearly deployed between set minimum and maximum target airspeeds. See params FLAP_EXTED_PCT, FLAP_RETED_SPD and FLAP_EXTED_SPD in the plane documentation for V9.0 (@shellixyz, #55)
  • AP_Mount: allow to define max number of camera mount instances in target definition (@shellixyz, #53)
  • Fix serial order so that SERIALx = UARTx in the targets: omnibusf4pro, KakuteF7, MatekF405, MatekF405-STD, MatekF405-Wing, MatekF765 (@shellixyz, #48 & #49 & #50 & #51 & #52)
  • Added targets: SkystarsF405DJI, QF4MWGM and QMWV4 (@shellixyz, #40 & #41 & #44)
  • OSD: add vehicle acceleration elements: longitudinal, lateral and vertical (@shellixyz, #46)
  • OSD: add option for one decimal attitude: bit 21 of OSD_OPTIONS (@shellixyz, #45)
  • Plane: add deadband for cruise airspeed control when using mid stick as cruise speed (@avsaase, #42)
  • TECS: apply throttle slew rate in all cases (@shellixyz, #39)

The complete changelog for the latest release can be found here

The documentation for this release can be found here

Updating

Note that the serial order changed for these targets so you need to reassign the proper values to the serial parameters: omnibusf4pro, KakuteF7, MatekF405, MatekF405-STD, MatekF405-Wing, MatekF765

Custom light V8.0

15 Dec 19:15
Compare
Choose a tag to compare

Light variant of the Custom V8.0 release. Please check the Custom V8.0 release page for release notes.

You can use the light version 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 V8.0

15 Dec 18:53
7e69a17
Compare
Choose a tag to compare

Changes

Rebase on upstream/master (fixes the compass issue in V7.0) plus these custom changes compared to V7.0:

  • Do not limit throttle in manual throttle modes (@shellixyz, #32)
  • Voltage compensate throttle in manual throttle modes (@shellixyz, #33)
  • Fix motors running at full reverse throttle when arming and THR_MIN>=0 when reverse thrust is configured (@shellixyz, #34)
  • Add throttle deadzone (@shellixyz, #35)
  • Fix the TECS (@shellixyz, #36)
  • Only use positive throttle range for TECS throttle response calculations (@avsaase + @shellixyz, #37)
  • Add OSD element to display the demanded airspeed in auto throttle modes (@shellixyz, #38)

The complete changelog for the latest release can be found here

The documentation for this release can be found here

Note that F4 builds are not available with the full variant of Custom anymore because the builds don't fit in 1MB flash. Please use the light release for F4

Known issues:

  • The roll manual expo parameter is used also for pitch and rudder instead of the respective expo parameters
  • There is a bug present upstream and in this release which makes reconnection of receivers using the CRSFv3 protocol impossible. If your receivers browns out or is temporarily disconnected you will not be able to start controlling the plane again after reconnection. Crossfire firmware up to 4.11 are known to work fine since they are only using CRSFv2.

Custom light V7.0

04 Dec 17:03
Compare
Choose a tag to compare

Light variant of the Custom V7.0 release

Custom V7.0

04 Dec 16:45
e809d7c
Compare
Choose a tag to compare

Rebase on upstream/master plus these custom changes compared to 6.1:

  • Rename underspeed OSD warning param from OSD_W_ASPD to OSD_W_ASPD_LOW (@shellixyz)
  • Add overspeed OSD warning OSD_W_ASPD_HIGH (@shellixyz)
  • DSHOT: Add deadzone to stop the motor from turning when armed (@skorokithakis)
  • ELRS support (@yaapu)
  • Increased throttle resolution in manual modes (@shellixyz)
  • Add option (bit 22 of OSD_OPTIONS) to increase OSD throttle resolution to 0.1% (@shellixyz)
  • Add OSD input throttle element for use with planes (#31, @shellixyz)
  • Plane: make arming switch/channel safe to use (#30, @shellixyz )

Note that F4 builds are not available with the full variant of Custom anymore because the builds don't fit in 1MB flash. Please use the light release for F4