An implenentaion of nav-rewrite (squashed commit, November 17th).
commit34046169c70305acafca891fa6cffb59f840f373
authordigitalentity <konstantin.sharlaimov@gmail.com>
Sun, 26 Apr 2015 14:29:29 +0000 (27 00:29 +1000)
committerKonstantin Sharlaimov (DigitalEntity) <konstantin.sharlaimov@gmail.com>
Tue, 17 Nov 2015 05:19:46 +0000 (17 15:19 +1000)
tree42e35d461fb56f57453448833a94080887db2247
parent1a8657c7b73c87d1b86b146b9ac7429257756fa3
An implenentaion of nav-rewrite (squashed commit, November 17th).
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
73 files changed:
Makefile
docs/Cli.md
docs/Navigation.md
src/main/blackbox/blackbox.c
src/main/blackbox/blackbox_io.c
src/main/common/filter.c
src/main/common/filter.h
src/main/common/maths.c
src/main/common/maths.h
src/main/config/config.c
src/main/config/config.h
src/main/config/config_master.h
src/main/config/config_profile.h
src/main/config/runtime_config.h
src/main/drivers/accgyro_mpu.c
src/main/drivers/barometer_bmp085.c
src/main/drivers/sonar_hcsr04.c
src/main/flight/altitudehold.c [deleted file]
src/main/flight/altitudehold.h [deleted file]
src/main/flight/failsafe.c
src/main/flight/failsafe.h
src/main/flight/imu.c
src/main/flight/imu.h
src/main/flight/lowpass.c
src/main/flight/mixer.c
src/main/flight/mixer.h
src/main/flight/navigation.c [deleted file]
src/main/flight/navigation.h [deleted file]
src/main/flight/navigation_rewrite.c [new file with mode: 0755]
src/main/flight/navigation_rewrite.h [new file with mode: 0755]
src/main/flight/navigation_rewrite_fixedwing.c [new file with mode: 0755]
src/main/flight/navigation_rewrite_geo.c [new file with mode: 0755]
src/main/flight/navigation_rewrite_multicopter.c [new file with mode: 0755]
src/main/flight/navigation_rewrite_pos_estimator.c [new file with mode: 0755]
src/main/flight/navigation_rewrite_private.h [new file with mode: 0755]
src/main/flight/pid.c
src/main/flight/pid.h
src/main/io/display.c
src/main/io/gps.c
src/main/io/ledstrip.c
src/main/io/rc_controls.c
src/main/io/rc_controls.h
src/main/io/serial_cli.c
src/main/io/serial_msp.c
src/main/main.c
src/main/mw.c [changed mode: 0644->0755]
src/main/mw.h
src/main/sensors/acceleration.c
src/main/sensors/acceleration.h
src/main/sensors/barometer.c
src/main/sensors/barometer.h
src/main/sensors/battery.c
src/main/sensors/boardalignment.c
src/main/sensors/boardalignment.h
src/main/sensors/compass.c
src/main/sensors/compass.h
src/main/sensors/gyro.c
src/main/sensors/gyro.h
src/main/sensors/sensors.h
src/main/sensors/sonar.c
src/main/sensors/sonar.h
src/main/target/CC3D/target.h
src/main/target/NAZE/target.h
src/main/target/RMDO/target.h
src/main/target/SPRACINGF3/target.h
src/main/telemetry/frsky.c
src/main/telemetry/hott.c
src/main/telemetry/smartport.c
src/test/Makefile
src/test/unit/flight_imu_unittest.cc
src/test/unit/maths_unittest.cc
src/test/unit/navigation_unittest.cc [moved from src/test/unit/altitude_hold_unittest.cc with 61% similarity, mode: 0755]
src/test/unit/rc_controls_unittest.cc