Ardupilot 2.7 Beta 4

I've posted Beta 4 onto the SVN. Now I've realized I should have called them Alphas with all of the new code and features I've been working on. Also, I wanted to mention that 2.7 is moving to almost lockstep development with Mega. I have both code bases to the point where I can compare/exchange any part. 

What's new - 
A totally reworked 4 channel system. You can now capture 4 channels with .5µs accuracy and output throttle and rudder with 4µs accuracy. 

New throttle output is more reliable and has a more standard 0 - 100 definition so config files will make more sense. This also makes Mega config files more compatible.

Channel 4 output has two modes 
- one for Rudder correction which will output a % of Aileron to the Rudder. (.2 is the default) This mode will allow you to override the rudder so you can land in Stabilize mode and steer the plane on the ground.
- one for programmatic control of Channel 4 - Great for dropping eggs or snapping photos.

To switch modes, edit your config file: CH4_RUDDER = 1 for Rudder control, 0 for programmatic control

To control the rudder action in flight with the AP, set ADVERSE_ROLL to a value from 1.0 to -1.0. Moving the rudder stick will override the action, just like the Pitch and Roll Controls.


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

Join diydrones

Email me when people reply –


  • Hello people, I have a doubt about Loiter mode. I read in the manual that aircraft will circle in current position. I'm getting a navigation to next waypoint and then circles in that waypoint. What should be the correct behaviour? Thanks!
  • Moderator
    Jason & Michael,

    In the SVN repository rev1310 deleted the Ardupilot2xplanes.exe file and as of rev1319 perl scripts and xml files have been updated or added, but no executable.

    Will the executable in rev1309 support the ch4 functionality at that rev level? I just want to try to do some testing in Xplane. I realize the SVN is a work in progress, and perhaps Michael hasn't gotten to the executable yet. So if rev1309 will support ch4 in Xplane, then I'll stick with that for now.


  • Moderator

    Is this intended for rudder as primary control surface, with aileron slaved to rudder, or tthe other way around? Can Aileron be the primary control surface, with rudder slaved?

    BTW Great work the pace of development is astounding. I should be getting into the field in a week or two to start tuning and testing. The X-Plane mode is fantastic, I've had a great time testing functions in HIL simulation. Thanks also to Michael for the C# serial interface for X-plane.

  • Developer
    Great update, when do you sleep?

    I added my standard minor updates and it compiles!
    freeRAM call is sweet!

    but airspeed needs a fix in Sensors tab change, as a computed negative value causes errors
    //airspeed = sqrt((float)airpressure / AIRSPEED_RATIO);
    airspeed = sqrt(abs((float)airpressure / AIRSPEED_RATIO)); //mjc

    I added to Servos tab a minimal movement of servos in event of a power glitch in air, stopping at center of travel

    void demo_servos_air() // mjc short movement if power glitch or reset in Airvoid demo_servos()
    //int temp = servo_out[CH_THROTTLE];
    //servo_out[CH_THROTTLE] = 0;
    OCR1A = 1530 * 2; // mjc just a bit up
    OCR1B = 1530 * 2;
    OCR1A = 1500 * 2;
    OCR1B = 1500 * 2;
    OCR1A = 1470 * 2; // mjc just a bit down
    OCR1B = 1470 * 2;
    OCR1A = 1500 * 2;
    OCR1B = 1500 * 2;
    //servo_out[CH_THROTTLE] = temp;


    In System tab, add these line to use demo_servos_air:
    // Makes the servos move +- 3° three times, signals ready to fly //mjc
    // -----------------------
    demo_servos_air(); //mjc
    delay (400);
    delay (400);

    I also changed,
    // Makes the servos move +-45° twice on ground //mjc
    // -----------------------
    delay (1000); // mjc
    demo_servos(); // mjc

    While testing this release, I found a problem when,
    In FBW-B mode, CH-2 has no movement,
    Evelon mixing is on and airspeed sensor is enabled,

    In Manual mode servo movement seems coarse compared to "Stabilize and FBW-B modes?

    Thanks again, we will be able to troubleshoot faster now as we know when Memory is low.
  • Developer

    Yes, you can. It took some work, but I have a nice solution now.

    Pins 11 and 13 are the input. You can specify which input is the throttle (I would use 11 for throttle.)
    You may need to cut the line to the LED for pin 13, I know a lot of people have issue with that pin.

    CH4 Output is on Analog 4 - this pin wasn't being used. You'll need to connect this pin with a jumper to CH4 Mux In.

  • Hey Jason,

    Does this mean I can get 4 channel control from the original Ardupilot board? I'll need to solder a few more jumpers then?
This reply was deleted.