Hopefully the long road of beta is almost over.
I've done my best to address DCM drift issues. Again, this is not the ability for the quad to hold a perfectly level spot, it's the 20-30° error introduced by vibration and rapid maneuvers.
We've upped the gain on the DCM to recover faster. There is still room to tune these gains even more aggressively. I'll be looking for input from everyone on this. To edit the gains, go into system.pde.
To optimize the hardware, please be sure to add a windscreen to your barometric sensor and solder the filter pads on your IMU shield. A piece of felt works best. No closed cell foam.
To get the best yaw performance, calibrate your ESCs, and adjust any tilted motors. The copter should NOT yaw when lifting off. If it does it's you, not me! If you want higher performance Yaw, switch from the default to rate based yaw in APM_config.h.
I added two in-field calibrations to the arming and disarming gestures. Hold disarm for ~ 10 seconds to level the copter. Hold arm for ~ 20 seconds to fly in auto-trim mode for about 45 seconds. It will exit auto-trim automatically and fly normally. Don't worry about counting out the time, just wait for the flashing lights to enter either mode.
Alt hold has been re-written and uses a single PID for both Baro and Sonar. Baro has been more heavily filtered so the D term could be brought up. It's essential for smoother alt changes. It also helps that the internal PID integrator is the same value for both now. From 3 to 6 meters, the Baro altitude is mixed with sonar for a smoother transition. The alt hold PID could use more fine tuning, let me know your experience.
This version also now includes Randy's Heli code.
Correct me if I'm wrong.
The 10 second disarm is for leveling the quad on the ground like CLI "level" command.
The 20 sec arm is for leveling (fine tune) the quad in the air.
Thus 20 sec arm, leds will flash, lift off and fly as level as possible until leds go out.
Trim of tx should stay in the middle?
I broke the slider on my IMU so I couldn't get out of CLI mode. With this set to 1, you can go right to flight mode. If you hold Yaw while starting up you'll enter CLI. It's was a quick hack and I forgot to remove it. But if people find it useful, I'll leave it in.
I'll add an option for you in the next version
Yes it is. My slider switch is a bit worn as well and I have been using this as well.
Upgraded to 2.0.24 through the Mission Planner today and now my baro is crazy. No change in the hardware since yesterday's flights - my baro is covered with a small piece of foam from a pair of headphones, no sonar but I have magnetometer and GPS - and in 2.0.23 when I ran the altitude test in CLI over USB, with the copter stationary on my floor, it would fluctuate over about a 20cm range or so - I can't remember the exact value. In 2.0.24 it fluctuates more than +/- 200cm. Not surprisingly, flying in alt hold or loiter mode, it freaks out, takes off vertically or plunges down, but it hovers quite well in Stabilize.
I tried running with sonar again to test this. Putting the sonar back on, alt hold is very good down low, and once it gets to an altitude of 6' or so it takes off vertically. I don't have telemetry yet so I can't really watch what it's saying in flight.
I'll have a look!