I've just released ArduPlane 2.67

This release fixes a number of important bugs, as well as adding a few new features.

This release changes how the level parameters are stored in EEPROM, so it is very important that you re-level your plane after upgrading if you have MANUAL_LEVEL set to 1.

The key changes in this release are:

  • fixed a bug in the uBlox GPS driver that could cause it to setup the GPS with the wrong dynamic model, using the "portable" model instead of the "Airborne-4G" model. In some cases it could also leave the GPS in its default dynamic model. This results in poor navigation, and sometimes in poor attitude control due to inaccurate acceleration correction.
  • fixed a bug in the APM parameter code that resulted in the deadzone parameters of auxiliary channels not being able to be set. For example, setting RC5_DZ would actually set RC5_MIN.
  • add support for using vertical velocity from a uBlox GPS as part of the DCM acceleration correction.
  • added new accelerometer calibration code from Randy. This adds an optional calibration step that can be performed using the "accel" command in the setup menu in the CLI. See description below.
  • allow the CLI to run over the telemetry radio link. This is particularly useful for the new accel calibration code.
  • added a new secondary aileron type. I'm hoping this will resolve the ongoing issues some users have had with the secondary aileron support
  • changed WIND.speed direction to match the convention that the speed is based on where the wind is coming from
  • fixed handling of parameter names of 15 or 16 characters (they could appear garbled in the ground station)
  • added RSSI_PIN option to set the pin that measures the receiver RSSI
  • added support for showing compass health in SYS_STATUS MAVLink message
  • fixed throttle disable in VFR_HUD MAVLink message to always be between 0 and 100
    added new parameter APM_OFFSET (thanks to Alexey Kozin)

The new accelerometer calibration code that Randy did is particularly interesting, as it gives us a way to get the accel calibration much more accurate along all 3 axes, which should improve the attitude solution somewhat. It is not properly documented yet, but if you are feeling adventurous then try running the CLI and running the "accel" command in the setup menu. This replaces the normal levelling process.

Happy flying!

Cheers, Tridge

Views: 4664

Reply to This

Replies to This Discussion

Hi David,

That's an interesting question. I use FrSky receivers myself, but I haven't tried to get RSSI out of them as PWM. I suspect it may need a new u32 firmware to do that, but I'm not sure.

I think you may need to ask Olivier Adler. He does a lot of the PPM work for APM.

Cheers, Tridge

Till it is done, you can solve it like  Crashpilot1000 did:   Link

Dave, I haven't used it yet, but I believe the APM is set up to take RSSI in as an analog input.  Again, haven't done it myself, but I have heard that you can turn the PWM RSSI signal into analog by using some simple circuit.  I think two resistors and a cap.  Something like that.

Hello I have revised the code ARDUPLANE 2.6.7 and found strange that the option airspeed.use () = false is identical g.alt_control_algorithm =ALT_CONTROL_NON_AIRSPEED
to be able to use trottle control from the  airspeed sensor, but  classical  altitude control should be returned

static void calc_throttle()
    if (!alt_control_airspeed()) {

to old

static void calc_throttle()
    if (!airspeed.use()) {

+ the same change in radio.pde

in this case
parameter g.alt_control_algorithm =ALT_CONTROL_NON_AIRSPEED
will disable airspeed only here:

static void calc_nav_pitch()
    // Calculate the Pitch of the plane
    // --------------------------------
    if (alt_control_airspeed()) {

will only be used to control the throttle channel

I did notice when setting up and testing the latest version that unless I connected the air speed sensor the pitch was not being controlled when the plane was in stabilize mode.


I was sure that in previous versions where I was not using an airspeed sensor the pitch control worked.



v2.66 and v2.67 HIL not functional, v2.65 works fine

Hi Alexey,

Hello I have revised the code ARDUPLANE 2.6.7 and found strange that the option airspeed.use () = false is identical g.alt_control_algorithm =ALT_CONTROL_NON_AIRSPEED

not quite. When ALT_CTRL_ALG is 1, airspeed is still used for surface speed scaling and for wind estimation. It isn't used for airspeed control, as it uses altitude priority instead.

Cheers, Tridge

Hi Gabor,

I've now released 2.68 and I've checked that flash logging is working. Please let me know if it doesn't work for you!

Cheers, Tridge

Hi Andrew,

Thank you very much! :)

I will, as soon as my LRS arrives. (should be here till the weekend.)

Thx again,


We have been experiencing a telemetry connection issue recently as per this conversation  http://diydrones.com/forum/topics/connection-error-in-apm-mission-p...

This only seems to happen with arduplane and not arducopter, is this anything to do with the update?

Reply to Discussion


DIY Drones Monthly


Season Two of the Trust Time Trial (T3) Contest 
A list of all T3 contests is here. The current round, the Vertical Horizontal one, is here

© 2016   Created by Chris Anderson.   Powered by

Badges  |  Report an Issue  |  Terms of Service