Widgets reduce the bandwidth needed to communicate with the OSD
dramatically, so for devices connected via UART they allow us to
draw way more frequently.
* 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