Replies: 1 comment
-
|
This would not work on analog OSD very well, the maximum grid width is 30 characters. Many of your suggested strings already go well over that count. It would require extra text wrapping logic and a lot of room to work. There's already a lookup table on the wiki, perhaps we could improve that instead? |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
BODY:
The problem
"Why won't my quad arm?" is probably the most common support question across Discord, Reddit, and YouTube. The current system shows flag names like
RPMFILTER,DSHOT_BBANG, orNOT_DISARMEDon the OSD and in CLIstatus— these are meaningful to experienced developers but confusing for most pilots.There are 29 arming disable flags. Each one requires different knowledge to resolve. A beginner seeing
DSHOT_TELEMhas no idea this means their ESC firmware needs to support bidirectional DShot. Someone seeingBOOTGRACEdoesn't know it will go away on its own in a few seconds.Proposed solution
Add a parallel string array in
runtime_config.cwith a short, plain-English fix instruction for each flag. For example:THROTTLERPMFILTERCALIBBOOTGRACEMOTOR_PROTOMSPPlus a
getArmingDisableFixHint()getter function, mirroring the existinggetArmingDisableFlagName().Scope
This would be a small, contained change — two files (
runtime_config.cand.h), roughly 40 lines added. It only adds the data and getter. It does not change what the OSD or CLI currently displays. Wiring the hints into OSD warnings, CLIstatusoutput, or MSP for the configurator could be done in separate follow-up PRs.Implementation
I'm not a core C developer — I'd be implementing this with AI assistance (Claude). I've already worked through the approach and have the code drafted, so if the team is open to this I can have a PR ready. Of course happy to adjust anything based on your feedback.
Concerns I've thought about
#ifndef MINIMAL_CLIor a similar guard for memory-constrained targets.STATIC_ASSERTwould enforce that the hints array stays in sync with the flags enum.Questions for the team
statusto print hints alongside flags in the same PR, or keep that separate?Would love to hear your thoughts before I submit anything. Thanks for all the work you do on Betaflight.
Beta Was this translation helpful? Give feedback.
All reactions