The dterm notch is disabled and dterm_notch_hz is already 0 by default. When the Configurator saves changes from the PID Tuning tab and the notch is disabled it sets both dterm_notch_hz and dterm_notch_cutoff to 0. Since the default was left at 160, this makes dterm_notch_cutoff appear in diff outputs. Ultimately it's just cosmetic since the dterm notch is disabled if either value is zero. But there's no reason for the dterm_notch_cutoff to remain set to the legacy 160 value.
Validates the index for lookup values to prevent referencing random memory. Also validates the range of numeric parameters.
diff output will clearly show any corrupted parameters.
Workaround to make the firmware tolerant of missing Configurator support in versions 10.4.1 or less. Will still work properly when Configurator support is added.
Updated to conform to style guide.
Fixed issue with statement ordering. Minimum rates of 200deg/s.
Added rate limits to MSP for use in Configurator.
Refactoring to improve efficiency.
Revert 'msp.c' changes.
Added BUILD_BUG_ON(CONTROL_RATE_CONFIG_RATE_LIMIT_MAX > SETPOINT_RATE_LIMIT).
Added rate_limits to log header to faciliate support for blackbox-log-viewer to correctly handle the rate calculation.
Use STATIC_ASSERT() for build protection.
OSD and telemetry output of vario data is enabled on F4 and up targets
that have
USE_BARO defined. Settings and telem elements are removed from all
other targets.
F3 targets are not supported to free memory.
Iterm Relax was inserted before crash recovery and this was causing the recovery to be ineffective or fail completely. The problem was that the subsequent iterm calculation was not using the calculated recovery error and instead was using the setpoint error. As such I ended up accumulating and opposing P based on recovery error. This prevented the efforts of crash recovery to level the quad and since it couldn't reach the level state crash recovery wouldn't shut off. This resulted in the pilot only having control over yaw and throttle while crash recovery was still ineffectually trying to control roll/pitch.
The fix is to move crash recovery handling ahead of the iterm relax calculations and make sure that iterm relax uses the error calculated from crash recovery if active. This also allows crash recovery to reset the iterm accumulation as originally designed.