* ezLanding
* Add ez_landing throttle mode
* Correct EzLanding scaling of motorMixRange
* Correct mixer_type switch bracing style
* Remove motor value cliping ez landing mode
- rename mixer type cli setting to EZLANDING from EZLANDING_THROTTLE
- remove EZLANDING_CLIP cli setting
- double default ez_landing_threshold
- halve default ez_landing_limit
- check and limits in cli settings
- remove mixer type dependent settings in mixer_init
- remove clip based code in mixer.c
* Change ez_landing setting values and refactoring
- Halve defaul ez_landing_threshold setting and double in init instead.
Now stick deflection equal to ez_landing_threshold should give approimately full authority.
Previously it was the point where the mixer was allowed to raise the throttle to 100 % (which wouuld never be required)
- Increase ez_landing_threshold maximum to 200 (from 100) to allow settings that increase authority by a little at full stick deflection
- Increase ez_landing_limit maximum to 75 which is the point where EzLanding should act identical to the Legacy mixer with airmode on
- remove throttle percent from
- simplify calculation of , since throttle stick deflection is no longer involved
- update/remove outdated comments
* Remove old EZLANDING entries in mixerType enum
* Add mixer_type setting to blackbox log header
---------
Co-authored-by: ctzsnooze <chris.thompson@sydney.edu.au>
Co-authored-by: Mark Haslinghuis <mark@numloq.nl>
* Removed white spaces and everything that is not new
Rebase on master and update comment
Make TPA lower independent from air mode
Included tpa_breakpoint_lower_vanish option
Changes according to PR comments
Corrected comment for API version
Bugfix in msp.c
Additional TPA breakpoint for low throttle
* Changes according to PR comments
* Update src/main/cms/cms_menu_imu.c
Co-authored-by: Jan Post <Rm2k-Freak@web.de>
* Update src/main/flight/pid_init.c
* GPS rescue update after merge of IMU fix
imuYawCog boost on error
initial turn radius adjustment
attitude debug changes
rescue velocity iterm fixes
earth referencing of yaw forced to on
sanity check failure time 30s
* vary IMU gain according to groundspeed
* Review suggestions implemented
* TPA optimisations
* improvement, thanks @ledvinap
* update following review comments, thanks karatebrot and ledvinap
* include rx.h in pid_init.c to get PWM_RANGE_MIN
* review suggestion
* Minor pid.c refactoring
* Only calculate unfiltered gyro delta for that debug
Remove unnecessary comment
Change multiplier to factor of 10
* remove some archaic comments
* clarify name of D_LPF_PRE_TPA_SCALE, use inverse in define
* Remove some blank lines
* undo conversion to division thanks -ffast-math
* Refactor Feedforward Angle and RC Smoothing
* update rc_smoothing at regular intervals
* add Earth Ref to OSD, update pid and rate PG
* Initialise filters correctly
* refactoring to improve performance
* Save 24 cycles in Horizon calculations, other optimisations
At a cost of 40 bytes
* save 25 cycles and 330 bytes in rc_smoothing
* feedforward max rate improvements
* typo fix
* Karatebrot's review suggestions part one
* Karatebrot's excellent suggestions part 2
* more efficient if we calculate inverse at init time
Co-Authored-By: Jan Post <post@stud.tu-darmstadt.de>
* Horizon delay, to ease it in when returning sticks to centre
* fix unit tests after horizon changes
Co-Authored-By: 4712 <4712@users.noreply.github.com>
* horizon_delay_ms, default 500
* fix unit test for feedforward from setpointDelta
* Final optimisations - thanks @Karatebrot for your advice
* increase horizon level strength default to 75 now we have the delay
* restore Makefile value which allowed local make test on mac
---------
Co-authored-by: Jan Post <post@stud.tu-darmstadt.de>
Co-authored-by: 4712 <4712@users.noreply.github.com>
* Angle and Horizon Update for 4.5
* BugFix FF noise Angle Mode on yaw and in level _race mode
* use time constant in ms for angle feedforward smoothing
* refactor to remove unnecessary definition
---------
Co-authored-by: ChrisRosser <chrisrosser91@gmail.com>
* Make dyn idle startup increase configurable
Replace fixed 5 percent max increase from dynamic idle
when airmode is active with a configurable value.
-Default value is still 5.0 percent (50 in cli)
-Add dyn_idle_start_increase cli setting
-Add dyn_idle_start_increase BB header field
* Increse PG reset to ver 6 for pidProfile
* Indentation
---------
Co-authored-by: Mark Haslinghuis <mark@numloq.nl>
* SPI - Mark the SPI IRQ handler as FAST_IRQ_HANDLER.
Since it's used by both the gyro code, at 8k (or 2x8k on dual gyro
boards) having it in RAM removes a significant amount of potential flash
latency.
It is also used by the ELRS SPI code. The ELRS code runs at 500hz, but
each cycle uses multiple SPI transfers, for clear irq, read,
start-recieving, change-frequency, etc. I.e. invokd at least 1000hz in
addition to gyro reads.
* ELRS - Move some frequently used functions to RAM and mark some irq
handlers as FAST.
* SPI/LL - Move some frequently called code to FAST_CODE.
Also remove some invalid characters that Eclipse with encoding as UTF-8
complained about.
* SPI - Mark the spiRx and spiTx dma handlers as FAST_IRQ_HANDLER.
* Filter - move nullFilterApply out of FAST_CODE.
Since it doesn't do anything, it doesn't need to be fast. Instead we
keep more `fast` RAM for other code that really benefits from being in
fast RAM.
There is a slight penalty to jump into slower RAM.
* Gyro - Move `performGyroCalibration`out of 'fast' ram.
On F7X2 it was being inlined, saved 478 bytes of ITCM.
* Prevent handling of crash recovery handling, not detection of crash
recovery, from being inlined to save ITCM for code that runs more
frequently.
Update to anti-gravity, including removal of the old Step mode, ability to adjust the P contribution (thanks @Limon), PT2 smoothed derivative model, inherent limiting of P boost during extremely fast stick travels to minimise P oscillations, less I during the middle of a throttle up, no I boost on yaw, add hz to cutoff labels
No antigravity on yaw, fix longstanding typo
h