Developer

Ardupilot beta

I just made some changes to the 2.5 code to address some issues of compatibility and general usability improvements.

If you use throttle input, you'll be able to try flying without the Remove Before Fly pin. I had to restructure the GPS reading routines to do this. Now the system goes immediately into the main control loop. This has a few benefits:
  • The GPS led blinks when GPS fix is lost instead of just turning off.
  • You don't need to remove the pin before flight - much cleaner for systems buried into the fuse.
  • You don't need to worry about GPS lock if you are just flying stabilization
The GPS LED will turn solid as soon as it gets a good lock. If you are in manual mode, with the throttle all the way down, you will be in "ground start" which is simply a way to save your radio trim values and reset the Waypoint to 1. A ground start will also allow home to be set after the first good GPS fix. Even if you have in-air restart with a false positive for ground-start, the worse that could happen is you reset your hoe position.

If you don't read in the throttle with the jumper to pin 13, you have to still use the RBF pin.

I've also updated support for reverse throttle for those users who want low throttle with high PWM values.

I have not flown this revision, so if you're willing to help me test it I would appreciate it.


Thanks,
Jason
E-mail me when people leave their comments –

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

Join diydrones

Comments

  • 3D Robotics
    Michael, because the PWM reading is now offloaded to the Atmega328 on the main board, the 1280 has lots of spare cycles, so it can easily handle both the inner loop (IMU) and outer loop (navigation and other autopilot logic). No need for a third processor.
  • Thanks, been playing with the imu and ublox gps
    Earl
  • Jason,
    Sorry to be a little off subject but I wondered if you considered my earlier email comments on the get_distance computation - the issue of doing the subtraction of latitude/longitude as longs before converting to floating point. Otherwise the error can be as large as 40 feet or so (I think).
    Dave.
  • 3D Robotics
    Earl, the IMU won't be enabled in a released version of the code until 2.6, but you can get a feel for it now in Doug's Weibel's alpha of 2.51 (a transitional version until we gather up all the improvments in 2.6)
  • Jason, out of curiosity, do you have a general feel for the overall processor loading with 2.5.1, such as % of cpu time consumed per second or % of cpu processing left over? I saw in an earlier post elswhere that arduimu @16Mhz takes only about 25% of cpu time leaving 75% for other tasks. I would be interested in ardupilots specification as well. The reason I ask, it occurred to me after looking at Jordi's Oil Pan for megapilot, that the 1280 will be doing ardupilot and arduimu in one big program. I know folks must have a feel that it should be ok...just wondering. Let me know if you know..thanks!
  • Jason, how do you enable the IMU ? I just got the hardware today.
    Earl
  • Developer
    If you don't have the throttle enabled, you have to use a bind plug.
    Doug, let's keep discussing the imu needs. I just wanted to try this method out as it significantly streamlines the internals.
  • Moderator
    If throttle is disabled/not used, then wouldn't that trigger an air start always?
  • Developer
    I have (so far) taken a different approach to ground start in 2.5.1. The ground/air decision is a bit more important if you are using the IMU, as an unintentional ground start in the air is a sure crash because the IMU will go off line for 5+ seconds even if you get gps lock immediately. Manual mode and idle throttle is probably a good criteria. I was going for something a little more automatic.

    Jason were you uncomfortable with the idea of using gps ground speed as the criteria? To be clear the way I am doing that does not block anything - the main loop starts up and runs and when we get gps lock we check ground speed. If it is below threshold then we perform ground start.

    I don't have any strong feeling about what the threshold is (as long as it is a reasonably reliable indicator of being on the ground). It would be good to sort it out and use the same one....
  • Does anyone know if the same Blue LED behavior expected on a ardupilotmega beta board?
    Reason I ask is, I never get a solid blue, and have noticed two blink rates during testing so far.
    One slower blinking if rc tx is shut off (must be detecting failsafe on ar500 I assume)
    and fast blink all other times.
This reply was deleted.