* Direct copy from EmuFlight, compiles, does not wrk
* Fix Kalman computation
* Catchup on Emu implementation
* Make Q, W and Sharpness configurable
* Settings for Kalman Q, W and Sharpness
* Make it possible to enable/disable Kalman filter
* Change scaling to make initial values simpler
* Change Kalman constrains
* Compute real variance
* Drop unused function parameter
* Improve EKF processing for gyro
This allows pulling in time.c instead of system.c for the time
tests, which has less platform specific code. We alredy had the
time functions declared in drivers/time.h, so introducing a
drivers/time.c seems like the cleanest solution.
* Empty framework to apply RPM filter
* Init gyro RPM filter
* Entry point for Dterm filter
* RPM filter implementation
* Bugfixes
* Fix Dterm fileter bank
* Save RPM filter configuration in blackbox header
* Debug RPM frequency
* Disable PWM servo driver on all F3 boards
* Move RPM filter to ITCM_RAM
* Disable target COLIBRI_RACE as it's out of RAM
* Drop FEATURE in favor of just settings
This helps organizing the code and breaks up the giant osd.c file
a bit. Elements are now in osd_common.c, grid implementations in
osd_grid.c and canvas in osd_canvas.c. osd.c calls into osd_common.c
which, if needed, does ome intermediate and common processing and
then calls into either the grid or the canvas implementation.
* Init dynamic notches
* use gyro analyse
* Fix all compilation errors
* Disable dynamic filters on unit tests
* hopefully fix unit tests
* fix hanging FC when dynamic gyro used
* Make dynamic filters configurable as a feature
* First cut on data structure
* fix source.mk
* Dummy task to process global functions
* Early stage of arming safety override
* CLI interface for global functions
* MSP layer for global functions
* arming safety override with a global function
* Integrate throttle limit into global functions
* Fix Omnibus RAM overflow
* [PWM] Refactor pwm motor/servo output to be mixer-driven. Don't initialise more motor/servo outputs than necessary
* [PWM] Add logging and arming blocking flag (ci skip)
* [PWM] Remove bootlog; Create a warning message in CLI when PWM out has problems
* [PWM] Refactor servo driver and init code; Fix OSD message
LOG system has multiple levels, selectable both at compile and run
times. FEATURE_TRACE has been removed, since we now rely just on
the log level/topic and the defined outputs for the log messages.
* CLI for servo mix conditions
* RC channel greater than on servo mixer
* RC channel value based conditions
* MSP2 frames
* Docs update
* mixer condition changed to logic condition and generalized
* basic logic framwork extarcted to separate file'
* minor fixes
* Processing refactoring
* Flight values added to conditions
* Use logic conditions only on > F3
* Make logic conditions a separate entity and link from servo mixer to logic condition
* empty task to periadically compute logic conditions
* Compute logic conditions as task
* Add flags
* CLI logic to configure logic conditions
* MSP frames to get and set logic conditions
* Disabled condition always yelds false
* fixes for F3
* Review changes
* final fix in MSP2_INAV_SERVO_MIXER