Comments (3)
We are entering into a complex but fundamental discussion about what parameters should, or may, be included in the 'tune/default' file, and which should, or may, be included in TUNE
category presets.
These are my thoughts on this question.
In a kind of 'general' sense, primary tuning parameters are assumed to be things like PID values and their controlling sliders.
Other tuning parameters include iterm_relax, antigravity, thrust_linear, feedforward transition, jitter reduction, iterm_rotation, boost, Dmax gain, and so on.
RC smoothing settings are not usually thought of as being a tuning parameter, but need to be specified in a TUNE
to control stick responsiveness, since in that respect they are just as important as feedforward settings when the TUNE
is applied. For example, a Race tune would be pretty if applied over a previous Cinematic tune that had RC_smoothing set to 120.
Filters also are not classical tuning parameters, but matching the filers to the PIDs in a particular build is a very fundamental part of 'tuning' a quad. Hence I would expect filter settings to be included in a TUNE
.
Some other parameters, e/g/ throttle boost, dynamic idle, sag compensation and throttle curves, have a strong influence on how a quad flies, in particular, say, a whoop, and would be considered, in a build like that, to be part of the 'tune', even though most people wouldn't ordinarily think of them as being 'tuning parameters' in a more general sense.
It seems to me that a TUNE
should set all the values that need to be controlled to ensure that the outcome will be as expected by the user. If the TUNE
is for Whoops, then perhaps a few more fields need controlling than for a Race type tune.
Hence i think that a TUNE
might need to include RC smoothing, filters, and indeed many other parameters, at least some of which would not ordinarily be thought of as being directly tuning related. The author should carefully consider which parameters need to be controlled for their tune to work, considering all possible prior states of the machine, and control them. In contrast, they should not touch values that the user should reasonably expect to retain after applying the TUNE
.
In thinking about what should go into the defaults file for the TUNE
category, I think we need to consider the intended use of such a default.
It seems likely that most people would use a default TUNE
to 'reset' their 'tuning-related' parameters after messing with the PIDs. In such a case I doubt that they would want to reset every value that might be put into any TUNE
. Most likely things like RC smoothing and throttle boost would be expected to be retained.
Hence it's my view that while we should be liberal with the content of a TUNE
, the defaults.txt file should only reset those settings that most people would reasonably expect to be tuning parameters, such as:
- PIDs
- PID sliders
- Dmax gain and sub-parameters
- Iterm_relax
- Antigravity
- Feedforward sub-parameters
Perhaps we should provide check-boxes in the 'default tune' document to allow optional reset of other things like:
- Filters
- RC_Smoothing
- Sag_Compensation etc.
from firmware-presets.
If a person applies, for example, karate TUNE he is expecting his quad to be just TUNE defaults + karate, not some leftovers from his previous tune + karate.
Moreover, the author of presets does not need to care about ALL "tune"parameters. He should just care about non-default TUNE parameters. He just includes tune/defaults.txt and then adds his own CLI.
We have to:
- Specify which parameters are allowed in TUNE category
- Add them to defaults.txt for TUNE
- Strictly follow this list of parameters, don't allow any other parameters in TUNE category.
Otherwise, we are confusing both users and preset authors with these leftovers and dirty mixes.
If you want to add personal stuff like rates, throttle curve, name - just add your preset in the "OTHER" category
from firmware-presets.
resolved by this PR:
#63
from firmware-presets.
Related Issues (19)
- For some of the option allow just a single one being selected HOT 8
- could be a chrome issue on my end but the dropdowns are buggy as hell. (see gif) HOT 1
- Remarks about RC Link /50 Hz ELRS Preset HOT 1
- Add presets for ELRS 915MHz @ 200Hz control link? HOT 18
- Information in default file is simply wrong and misleading HOT 6
- Presets don't work on subsequent RC versions HOT 4
- How to add new presets here? HOT 1
- BMI 270 presets are confusing users. Update or remove them. HOT 11
- Do you want to test this code? Here you have an automated build: HOT 1
- vtxtable powerlabels typo HOT 1
- Erls 1000hz presets HOT 6
- impossible to save 2 different pid preset with different filters HOT 3
- SpeedyBee VTX800 VTX Table HOT 3
- Betaflight Indexer NPM package HOT 1
- Wrong value for max power in "TBS Unify Pro32 Nano - SA 2.1" preset HOT 3
- Convert DJI_FPV-WTF_MSP-OSD to 4.5 Preset HOT 3
- request preset for VTX - Tmotor FT800 HOT 1
- UAV Tech Rates - whoop options invalid on Betaflight 4.5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from firmware-presets.