Removes the custom CLI commands to update or display the PID and Rate profile names. Moves the storage into the pidProfile and controlRateProfile PG's.
Names can now be set with:
set profile_name = NAME
set rate_profile_name = NAME
Also added profile name display to the profile and rate CMS menus.
delay for voltage warnings #6691
changed to vbat
Update Battery.md
Add Menu osd Alarm delay
vbat_duration_for_crit
batteryConfig_vbatDurationForCrit
to
vbat_duration_for_critical
batteryConfig_vbatDurationForCritical
lastVoltageOkMillis rename
fix some comments
some requested fixes
initialLandingAltitude converted in meters
removed landing altitude setting from msp, added missing comma
re-added gps_rescue_landing_alt in settings.c
made target landing distance configurable, renamed descentDistance
added slow down distance and improved return speed
changed newSpeed formula
moved newSpeed variable in gps rescue inizialization phase
newSpeed declared as int32_t
modified slow down distance to constant
added some comments
fix type-casting bug
removed extra space
changed slow down distance for better landing
changed default targetLandingAltitudeM to 5 meters
dyn_notch_min_hz provides a lower frequency limit below which the dynamic notch cannot go.
The current minimum is 100hz.
For low rpm quads (>7" to X class), when the dynamic notch mode is 'LOW', we should allow the user to enter the lowest possible value that can be detected by the FFT.
That is theoretically the centre of the second bin. In low mode that is half-way between 31 and 63hz. In practice, that value will be biased upwards a little bit by the uppers shoulder. In practice the lowest value returned by the FFT is likely to not be less than 60hz.
This PR lowers the limit from 100hz to 60hz, allowing access to the full range of possible FFT tracking frequencies in LOW mode for low rpm quads.
Remove the giant `select` block that contained all the code to generate the elements and transition them to individual functions called only when the element is active. Simplifies the code and results in a performance improvement as it's not necessary to fall through the large `select` statement for every element that will be drawn. The individual functions and the element to function mapping are moved to a new `osd_elements.c` file.
Moved the OSD related code files to a new `osd/` directory.
Also pre-analyze the active elements and only process those that are active. This also saves processing as it's not necessary to loop through all 50 or so elements when only a couple are active.
Various other cleanup and removal of stale or unnecessary code.
In the default configuration the element drawing phase of the OSD task is reduced from ~51us to ~35us - resulting in about a 30% decrease in processing time.