I've just released ArduPlane 2.71 for your flying pleasure.

As was described in the 2.71-beta thread, these are the major changes from 2.70:

  • prevent control mode changes due to receiver input change when in throttle failsafe
  • auto-scale analog input based on board voltage. This also removes the INPUT_VOLTAGE parameter, as it is no longer needed
  • added TKOFF_THR_MINSPD and TKOFF_THR_MINACC parameters. These allow you to set a minimum ground speed or X acceleration before the motor is started in auto mode. This is to better support hand launching in AUTO mode, and bungee or catapult launching.
  • added TKOFF_HEAD_HOLD option. This determines if auto takeoff will try to hold heading while climbing out. For a hand launch it is often better just to hold the wings level, instead of trying to hold heading.
  • changed FBWB altitude control from elevator to lock in the altitude when the elevator stick is neutral. This fixes a problem with altitude changing in FBWB mode due to slight tuning errors. You can set the climb rate for FBWB with the FBWB_CLIMB_RATE parameter. It default to 2 m/s
  • auto-detect when the compass is way off due to interference and switch to GPS navigation until the compass is healthy again. This is designed to prevent flyaways due to very bad magnetic interference.
  • prevent servo output overflow on large PID gains. This is especially important for elevon aircraft
  • changed default STICK_MIXING behaviour to use FBWA style stick mixing in AUTO mode. This prevents the pilot from causing radical turns if they don't know that the plane is in an AUTO mode. You can get the old behaviour by changing the STICK_MIXING parameter to 2.
  • Added a software VTail mixer, enabled using the VTAIL_OUTPUT option.
  • Fixed loading of missions with DIGICAM control commands, so DIGICAM control works again
  • Don't trigger a GCS failsafe if the GCS has never connected
  • Fixed fence MAVLink target IDs (fixes a problem with AndroPilot)
  • Added HIL_SERVOS parameter to allow real servos to move in HIL mode
  • Fixed an off-by-one in PX4 channel output (last PWM output channel wasn't sent)
  • Fixed scaling of joystick speed when controlling a camera gimbal with a joystick
  • Fixed creation of APM directory on SDCard on PX4
  • fixed auto-config of uBlox baudrate for uBlox modules set to 9600 baud
  • Fixed PX4 startup in FMU only mode
  • Added APM/boot.log on SDCard on PX4

Many thanks to everyone who contributed to this release!

One thing that isn't in this release but will be in the next release is the new L1 navigation controller from Brandon and Paul. They are doing fantastic work and testing is good so far, but I wanted to get the new features above out first before adding the new navigation code. I hope we will release a 2.72 release with the new L1 controller in the next couple of weeks.

Happy flying!

Cheers, Tridge

Views: 11715

Reply to This

Replies to This Discussion

Hi Aami,

LAND should work fine in both modes, and I've used it quite a lot. Maybe you could post a tlog and your mission file showing it failing?

One thing you need to be careful of is to use the right "set speed" mission commands on the landing approach. For non-airspeed control you need to change the throttle, not the target airspeed.

Cheers, Tridge

Hi Andrew,

Thanks for your advice! I'll fly one more time this weekend and see how it goes. I was using successfully a LAND command by it self in default airspeed altitude control mode but when I changed it to non airspeed mode it didn't descend toward landing point! Unfortunately the wiki page for auto landing is not updated, can you please give me a hint how to use "set speed" mission command for successful landing?



Hi Andrew,

I was looking through AHRS_ORIENTATION Option. Currently I am using Arduplane 2.71 on PX4. I want to mount it at -90 degree roll angle. For that I have set AHRS_ORIENTATION to 19 (Roll 270). After rebooting it doesnt not work. Seems that there is coupling between roll and pitch. I have tried AHRS_ORIENTATION to 16 (Roll 90) and it works fine.  I have been following https://code.google.com/p/ardupilot-mega/wiki/APM_Parameters#Board_... to set orientation options. 

Hello Andrew

When are you expecting to release Arduplane 2.72? Really want to check out the L1 Nav-Controller on our 30kg Jet UAV.

Best regards


Hi andrew...
congratulation for your works and the dev team of arduplane...!!!

It's possible to help me to add or mod the code for a custom pushbuttom swicht in any free pin on the apm 2.5 for toggle a auto mode...the idea for example is push for 2 second and activate the auto mode and push other 2 second toggle to last mode or manual in this case...i.believe this function help the solo operator for launch and leave your hands freely to launch an not use a rctransmiter for activate an launch..

Hi Manuel,

The only holdup is I want to do a bit more on the docs. Meanwhile, please try the beta!

Cheers, Tridge

Not with 2 seconds activation but nevertheless how to sense a button:

#define ARM_SWITCH A1
#define ARM_SWITCH_DELAY 1000
unsigned long arm_watch_timer;

arm_watch_timer = millis();

static void read_arm_switch()
    unsigned long now = millis();
    if ((now - arm_watch_timer) > ARM_SWITCH_DELAY)
        if (digitalRead(ARM_SWITCH) == LOW)
            if (armed)
                // ...
                control_mode = MANUAL;
                armed = FALSE;    
            } else
                // ...
                control_mode = AUTO;
                armed = TRUE;
        arm_watch_timer = millis();

Hi Cosmin..thank you for your response...you recomend to me for add this code in the fast loop or in other functions?
Thanks again..

Hi Luis,

Before you add this, think about whether TKOFF_THR_MINACC will do what you need.

If you do want it to be a button, then have a look at how the AUTO_TRIGGER_PIN option works in APMRover2. That allows you to start a AUTO mission using a switch. You could add a similar option for ArduPlane. If you do, then consider submitting a github pull request with your implementation.

Make sure you do it as an optional setting via a parameter. Look for the auto_trigger_pin variable in the Rover code to see how you plumb that in.

Cheers, Tridge

hi andrew, is there anything available on voltage and current sensor on PX4IO. i have PX4 running with arduplane loaded on it. 3DR is working fine. pitot sensor is working fine. i am not sure which connector to use for current and voltage sensor on PX4IO board.

Yes call read_arm_switch() in the fast loop.

hi Cosmin..i am not c programmer and very dificult to me...i put read_arm_switch(); in fast loop...


add this in apm_config.h

#define ARM_SWITCH A1
#define ARM_SWITCH_DELAY 1000
unsigned long arm_watch_timer;

arm_watch_timer = millis();


and the rest of code in the final of the system.pde


static void read_arm_switch()
    unsigned long now........


But i compile and message error appear.. please help me to be wrong...

system.pde: In function 'void read_arm_switch()':
system:662: error: 'A1' was not declared in this scope
system:664: error: 'armed' was not declared in this scope

thank you very much..

Reply to Discussion


© 2019   Created by Chris Anderson.   Powered by

Badges  |  Report an Issue  |  Terms of Service