FILTER: BiQuad filter optimisations
FILTER: BiQuad filtering fix for REWRITE PID controller. Divide delta by dT before filtering to reduce delta noise caused by dT jitter and make things more correct from DSP point of view
Automatic magnetic declination from GPS coordinates (approximate to 1-2 degrees) (disabled)
Accelerometer bias compensation
Quaternion-based Mahony's DCM IMU (implementation by S. Madgwick)
Ability to lock heading to GPS cource for airplanes
Faster acquisition by initial attitude by using higher DCM kP gain on powerup
Changes to mag calibration algorithm (@HaukeRa's code). Compass calibration now independent from align_mag.
Changed acc calibration to proper 3-axis offset calculation code (same code as for mag). Changed board alignment angles to decidegrees (configurator incompatibility). Removed accelerometer trims (values passed thru MSP are ignored). Accel trim stick combo now adjusts board alignment directly (real-time, without reboot). Removed inflight acc calibration.
FIR filter implementation for different looptimes. Option gyro_cut_hz replaced with gyro_fir_enable (default gyro_soft_filter=3 preset - a very pessimistic filter with fairly large delay but low cutoff frequency for large or very noisy copters)
iNav-related PIDs renamed in CLI to avoid re-usage of old values when restoring config dumps.
PID with back-calculation and I-term anti-windup. Smarter max acceleration and jerk limiting
Initial support for airplane navigation. ALTHOLD, POSHOLD (circular loiter around the waypoint) and RTH should work. UNTESTED! RTH altitude probably needs some work. Autolanding will NOT function at the moment - the AUTOLAND phase will never complete. Absolutely no throttle control at the moment (fully manual control).
Increase delay for bmp085 baro detection. Resolves an issue with bmp085 not being detected sometimes on powerup
Fixed the missing checks for MIXER_CUSTOM_AIRPLANE
Lots of small fixes
hardware failures by counting the number of long flashes.
Fix up sensor read API so that code that uses sensors can detect
malfunctions.
If a failure mode occurs in a debug mode the code reboots the system
rather than rebooting to the bootloader.
Note: not working on the sparky, MPU9150 needs passthough enabling but
when enabled the mag and gyro won't ack on the default addresses. Needs
further investigation.
just use it in-place. This saves ~308bytes of memory.
Prior to this there were 4 profiles in ram all the time, the 3 main
profiles and a copy of one of them.
This commit was aided by a side effect of the work done to clean up the
output of the cli dump command since it is now easy to conditionally
apply the changes to the memory addressed used to read/write cli
variables. See 8c3a869251.