MAG_HOLD diff limiting and MAG controller refactoring (#195)
* MAGHOLD constrained to 30 degrees
* mag_hold_heading_diff_limit CLI setting added to allow custom MAG_HOLD diff limit
* magHeading moved to pid.c and real interface created to inject data into it
* mag hold controller with current logic moved to pid.c
* 2Hz LPF filter added to magHold error to smoothen controller response
* variable name changed to clearly state its purpose
* LPF filter in MAG_HOLD controller moved after error limiting
* yaw_control_direction passed to pidController as argument, mag_hold_heading_diff_limit moved to pidProfile
* yaw_control_direction setting removed
* pidMagHold translates directly to rotation rate in dps
* pidMagHold refactored to the new principles and limiting
* name of filter changed to reflect its purpose
* HEADING_LOCK mode can be used only when MAG_HOLD is not enabled
* compiler warning supressed
* new MAG_HOLD defaults, RATE_LIMIT increased to 80dps, MAG_HOLD P to 60
* mag_rate_limit 90dps
12 files changed: