Ardupilot 2.5 Final

Hi Everyone,
I just finished polishing The Manual will be finished this week.

I'm sure there will be a few setups that have issues, so be sure to check out the test suite which isolates each sub-system for testing. If you have any issues use this blog to post them. What's most important is that you include a log file of your issue enclosed with your comment, as well as a copy of your header file and notes about your radio and receiver.

By default the control switches are not set to Autopilot. This was intentional. I don't want people to start flying it right away without fully ground testing their setup. My suggestion is to get Stabilization working first, then move up to Fly-By-Wire. Once you can fly the plane in FBW mode, then try Autopilot.

I've also updated the GPS debug mode which is now simply GPS_PROTOCOL 5 (instructions are in the header file). Everything about the plane will behave normally, except Autopilot mode will cause the plane to think it's flying your waypoints. Ardupilot will output telemetry and indicate when it thinks it has reached each WP. You can control the speed of the simulation with the throttle control.

Good luck!
E-mail me when people leave their comments –

You need to be a member of diydrones to add comments!

Join diydrones


  • Great work, I'll give it a go !!
  • Developer
    Thanks Dave,
    I didn't realize I had included that test or I would have fixed it up for release. It was to hone in on an electrical problem someone was having. I'll fix it up with your changes and update the tests as it's still pretty useful.
  • Hi Jason,

    Thanks for all you working on v2.5 and the excellent animations you've done illustrating some of the algorithms used.

    In going through the different programs in the test suite that's part of the released version of 2.5, I found there's a compile-time bug in the throttle_test program. In the servos.pde file there's a use of the control_mode variable that hasn't been declared. In the RC3 version of the the throttle test, you had commented out the "if" statement that uses that variable in the update_throttle function (in the servos file) and but this hasn't been done in the release version.

    The solution is to make the following change to the servos.pde file in the Ardupilot_25_throttle_test sketch:


    if (control_mode > STABILIZE){
    servo_throttle = constrain(servo_throttle, 0, THROTTLE_MAX);


    //if (control_mode > STABILIZE){
    servo_throttle = constrain(servo_throttle, 0, THROTTLE_MAX);

    that is, comment out the "if" statement and the corresponding closing brace.

    An alternate way to fix it which would allow you to use the servos.pde file unmodified from the main Ardupilot_25 sketch, I think, would be to add the defines.h file into the throttle_test sketch (to pick up the definition of MANUAL) and then add the #include "defines.h", and the declaration of the control_mode variable:

    // set by the control switch read by the ATTiny
    // --------------------------------------------
    byte control_mode = MANUAL;

    to the main Ardupilot_25_throttle_test.pde file.

  • Developer
    There are no currently known bugs, but there is a lot of room for user error, mis-configuration, unexpected setups, sensor failure, etc., etc. Anything at any time could cause an issue, so keep your hand on that Manual switch until you are absolutely sure everything is working well. Even then, I can't guarantee everything will run perfectly. I can however fix anything that comes up in a day or so. I also accept patches ;)

    My suggestion is to not to upload the default install and expect it to work. Test each system until you get the output and behavior you expect. Then try stabilize, and Fly by wire. If that all works, load up some waypoints and have fun.
  • Thanks Jason, yes you are riught, the final 2.5 has this modification, pl. correct me if I am wrong.
    Since 2.5 final is in the featured download it is assumed that 2.5 final is well flight tested many time and there is hardly any scope of bug.
    Congrats !

  • Developer
    @NS Rana
    Hi, I uploaded to the SVN after zipping up the final.

    In the radio.pde this code was changed to the following:

                    servo_throttle = (ch3_in - 1000) *.125;
                    servo_throttle = (ch3_in - ch3_trim) *.125;                servo_throttle = constrain(servo_throttle, 0, 125);
    FINAL.IN | Tough Domains
    FINAL.IN is available for purchase. Get in touch to discuss the possibilities!
  • Jason, there is another repository r635 which has comment "Fixed Trim Issue", this came after 2.5 final.
    Pl. post patch of the same or what needs to done for those who downloaded 2.5 final and would like to test it.
    Strona główna
  • Great work, I look forward to testing, if only the rain and wind would go away....... i increased the rudder size on my easystar by 150% which i hope will help with heading control.
  • Developer
    Congratulations and Thank you all for a well thought out final release, nicely commented too..
  • Developer
    Hey Jason - Thanks for all of the hard work!
This reply was deleted.