1
0
Fork 0
mirror of https://github.com/betaflight/betaflight.git synced 2025-07-15 20:35:33 +03:00
Commit graph

15 commits

Author SHA1 Message Date
ctzsnooze
f93cda06e8 add marker for center suppression 2020-01-24 00:33:54 +11:00
ctzsnooze
cc3d0b435c Improve smoothness of ff_interpolation
Changes:
- identify different types of duplicate packets
- handle each error differently
- individualised responses to duplicate packets, and to the packet after that
- boost on yaw
- FF smoothly attenuated while sticks are near centre
- no boost immediately after prolonged flat spots
  (warning: this means no boost if ADC is on)
- careful empirical checking that the responses are optimal
- updated code annotations for clarity
2020-01-24 00:33:54 +11:00
ctzsnooze
3b132d1546 Fix union to struct - thanks, Mike 2019-11-21 11:45:39 +11:00
ctzsnooze
3c91da0e59 Interpolated feed forward smoothing 2019-11-20 11:29:37 +11:00
mikeller
2e9f4c76c3 Improved the efficiency of 'applyFfLimit()'. 2019-09-22 16:17:51 +12:00
ctzsnooze
5112b66a0f improve code efficiency 2019-09-22 14:06:31 +10:00
ctzsnooze
891b47e11e exclude yaw from ff_max_rate_limit 2019-09-22 08:19:37 +10:00
ctzsnooze
c2c9fe699a allow boost on stick return despite suppressing it on way out. 2019-09-10 22:22:22 +10:00
ctzsnooze
582e42506a tidy up code 2019-09-10 20:05:50 +10:00
ctzsnooze
e1a8a80584 fixes for ff_boost
1.  Excludes yaw from ff_boost.
2.  Removes suppression for 3x greater up-steps in FF to reduce boost glitching around zero sticks
3.  Spike detection gets cleaner passband and tighter rejection above threshold; higher threshold is now possible with better suppression of large spikes.
2019-09-10 19:11:04 +10:00
ctzsnooze
633f404855 change debug scales 2019-09-08 01:29:44 +10:00
ctzsnooze
e381b27b9c Small modification to ff boost spike suppression
The feed forward boost concept improves stick response by adding a stick acceleration factor to feed forward. Generating spikes when there are steps in the RC signal is the main problem.
This PR makes one small change to how the spike suppression method is determined.
It no longer uses the 'jerk' signal to generate the spike suppression 'clip' value.  Instead it just uses the magnitude of the boost signal itself.
We originally used jerk because it is more sensitive to spikes. Detailed testing shows that jerk is that it has an unwanted impact one full RC step after the spike.
If we use the boost (acceleration) signal as the attenuator, that delayed impact does not occur, making the boost component more precise.
The threshold value for suppression needs to be a bit higher to achieve equivalence.
I've re-named the function to reflect it being related to spike suppression and removed 'jerk' since we aren't using that any more.
2019-09-07 11:22:06 +10:00
Thorsten Laux
5855b275f4 various ff2_0 improvements
simplify

double period averaging

fix calc

ff changes

in between

fixes

clip * clip and cleanup

address review feedback

more review feedback

10 to 100
2019-09-04 23:08:02 +12:00
Thorsten Laux
25c6919051 better camels and order 2019-08-08 09:52:25 +02:00
Thorsten Laux
91ad2498ff ff from interpolated setpoint 2019-08-08 09:50:18 +02:00