EmuFlight 0.4.0
EmuFlight 0.4.0
This is a major feature release
- EmuFlight is software that is open source and is available free of charge without warranty of any kind. Contributions are always welcome and encouraged via https://github.com/emuflight/
This is a re-release that fixes two minor issues
- Angle mode is now more responsive.
- IMUF Q default is 6000 as the new baseline for tuning from.
[!CAUTION] DJI components bypass Configurator/USB safety-checks. Do not attempt arming while connected to Configurator with battery plugged. Always remove propellers and use a smoke-stopper for extra safety.
[!WARNING] 3D mode is broken.
[!IMPORTANT]
- Flash with full-chip erase.
- LUA Scripts are not yet updated.
- 0.4.0 Should be re-tuned as 0.3.X settings tunes may fly unsatisfactory for this release.
- It is ideally best to tune Lowpass Filters per BlackBox analysis. Do not full-send without motor temperature tests. i.e. Do not flash and "rip" or risk "R.I.P."
- EmuFlight's Horizon mode does NOT auto-level when inverted. This is by design.
New Features in 0.4.0 since 0.3.4 (sorted by timeline)
- Motor Output Mixer - Options for the controller's motor output. New smooth variants change how the axes are mixed with throttle. (Tyler Corleone)
mixer_implRange: LEGACY, SMOOTH, 2PASS. Default 2PASS.- LEGACY - the historical mixer
- SMOOTH - avoids harsh clipping of the legacy mixer.
- 2PASS - handles yaw output and roll/pitch output separately.
mixer_lazinessRange: OFF, ON. Default OFF.- toggle for a smarter clipping-prevention strategy.
- requires Thrust Linearization configured.
mixer_yaw_throttle_compRange: ON, OFF. Default ON.- wiki: https://github.com/emuflight/EmuFlight/wiki/Motor-Mixers-and-Thrust-Linearization#motor-mixers-and--thrust-linearization
- Thrust Linearization - Compensation for inherent non-linearity of thrust and rpm of motor output.
linear_thrust_low_output- value to match physical motor's thrust curve data at low rpm.linear_thrust_high_output- value to match physical motor's thrust curve data at high rpm.- wiki: https://github.com/emuflight/EmuFlight/wiki/Motor-Mixers-and-Thrust-Linearization#thrust-linearization---compensation-for-inherent-non-linearity-of-thrust-and-rpm-of-motor-output
- Throttle Linearization
linear_throttleRange: OFF, ON. Default value: OFF.
- Axis-Lock - Significantly reduces pidsum for opposing axes.
axis_lock_multiplierRange: 0-10. default 0 (Off).axis_lock_hz AllowedAllows range: 1-50. Default 2.
- EmuGravity - Simple implementation of anti-gravity to boost the error when changing throttle.
emu_gravityRange: 0-255. Default 50.
- ABG Filters - Alpha Beta Gamma filtering on Gyro or dTerm. Used to gain cleaner or more fine-tuned filtering.
- Off by default.
gyro_abg_alphaRange: 0-1000. Default 0 (OFF). Low values are heavy filtering. Higher values are less filtering. Recommended values are 400-700 +/-.gyro_abg_boostRange: 0-2000. Default 275.gyro_abg_half_lifeRange: 0-250. Default 50.dterm_abg_alphaRange: 0-1000. Default 0 (OFF). Low values are heavy filtering. Higher values are less filtering. Recommended values are 400-700 +/-.dterm_abg_boostRange: 0-2000. Default 275dterm_abg_half_lifeRange: 0-250. Default 50.
Changelog
- All features listed above. Motor-Output Mixers, Smith-Predictor, and upgraded Dynamic-Filters are most notable.
- Removed Smart DTerm Smoothing
- Removed WitchCraft
- New targets and fixed targets
- Various Fixes and Improvements to existing code/features.
Tips:
- Defaults are possibly over-filtered. Tune filters as needed and with respect to other filters/filtering-methods. Pilots should not apply more filtering just to use a feature.
- Most all tuning options can be set using the OSD!
- Save a
dump allfrom any existing Flight Controller configurations. Reference it for resources, OSD, serial, etc. - Reference firmware release notes, and EmuFlight wiki and EmuConfigurator wiki for additional information.
- Join Discord for help: https://discord.gg/gdP9CwE
- Pilots are welcome to submit tested, community-acceptable "Presets" using the template-formats provided here: https://github.com/emuflight/emuflight-presets/wiki
Filter Orders
- Gyro: Kalman, Static-Notch, LPF1, LPF2, Dynamic-Notch, ABG
- D-Term: LPF1, LPF2, Dynamic-Notch, ABG
Agenda:
- Long-term: Work toward a full 1.0.0 release.
- Long-term: New GUI Configurator forked from Pegasus, renamed Nemesis. For 1.0.0 compatibility only.
Immeasurable thanks to:
- Dev-team, Contributors, Testers and more: QuickFlash, AndreySemjonov, Loutwice, Kaiowarez, MadChiller, nerdCoper, Risko, tylerCorleone, Igorshp(Armon), JulioCesarMatias, gretel, DzikuVx(Paweł Spychalski), Shikijo, pleasuretek, mbilozub, Marinus, NFE, Pierre Meunier, Skylion, PJC, 3dracingman, Denovich, NiceCrash, ehitaja, Filthrillz, kumokraft, CrashFPV, TintFPV, MrNoizeFPV, Vitales, WhiteHat(Binary)FPV, teklust5401, ill bro, Vanadio, Kore, Gaétan, Mike P, Mainbrain, OGL, t0t0, hakintosh, Inva, gcc.quader, Dogsock, Juelz, DrSchnickistein, Alka, BrandonsBakedBeans, CesiumSalami, JoshG, krunked, knoopx, sweebee, BrockLeeFPV, dentex, teckel12, sfonkter, dnlkrnwnm, Beau Brewski, @flickFPV, and countless Discordians that assist each other, and especially third-party github contributors.
- If you contributed and was inadvertently missed, apologies and please notify a dev for inclusion.
- Thanks to other projects, teams and vendors: BaseFlight, CleanFlight, BetaFlight, ButterFlight, SilverWare, Project Mocking Bird, iNav, RaceFlight, HelioRC, NewBeeDrone, HGLRC, Diatone, APCProps, Trappy/TBS, KarateBrot, CTSnooze, fgiudice98, Asizon. Each of which have been valuable for resources and communications.
- Thanks to BetaFlight and iNav for target resources.
- Without the help of all these contributors, EmuFlight would not be what it is today! Big round of applause to all who were and are a part of this adventure! For the glory of Emu!
Please report Configurator-specific bugs to
- https://github.com/emuflight/EmuConfigurator/issues
Please report Firmware-specific bugs to
- https://github.com/emuflight/EmuFlight/issues
Contributors: @Quick-Flash @nerdCopter @Kaiowarez @mricho @madchiller @tylercorleone @azolyoung @teckel12 @loos-br @DzikuVx @AndreySemjonov @JulioCesarMatias @pashky @dentex @4712 @frizzle101101
--