pwm-receivers: update for ExpressLRS 4.x behavior - #547
Draft
MUSTARDTIGERFPV wants to merge 3 commits into
Draft
Conversation
Several statements on this page still described 3.x behavior and conflicted with the current firmware. - Failsafe range is 476-2523us, not 988-2012us. The WebUI clamps entered values to these limits and the config stores the failsafe relative to 476us. - Output 3 defaults to 880us, not 988us. - Wide mode is 6-bit (64 pos) at every telemetry ratio. The 7-bit (128 pos) behavior belongs to 3.x, and a 1:256 ratio does not exist. - Extended pulse width is 880-2120us. - Half pulse width servo mode was removed in 4.0 and replaced by Servo Stretch, which had no documentation. Add a section for it, including the servo travel warning and the failsafe interaction. - DShot and DShot 3D are separate output modes. Only DShot was listed. Add the throttle mapping for both. - PWM pins behind an output-only buffer cannot be used for serial or I2C, so "any available pin" was not correct.
The previous wording said 3.x gave 7-bit resolution at "the slower telemetry ratios", which is vague and reads backwards. The 3.x encoder selected 64 or 128 bins from telemInEveryPacket, which was (tlmDenom > 1) && (tlmDenom < 8). So it was 7-bit at every ratio except 1:2 and 1:4. The packet rate was not a factor: every Std default is 1:8 or slower, so Std never selected the 6-bit path. This now matches the note already on the Switch Configuration page.
The Switch Mode summary still said Wide is "7x 64 or 128-position". The 128-position case was removed in 4.0 along with the telemetry ratio branch in the Wide encoder, so only 64-position remains. The Hybrid half of the sentence is correct and is unchanged.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The PWM receivers page still described ExpressLRS 3.x behavior in several places, and some of the numbers conflict with the current firmware.
Corrections
US_CHANNEL_VALUE_MIN/MAXincrsf_protocol.h; clamped inconnections-panel.js; stored asfailsafe:11relative to 476 inconfig.hconfig.cpp, comment reads "ch2 is throttle, failsafe it to 880"telemInEveryPacket = (tlmDenom > 1) && (tlmDenom < 8); 4.xHybridWideSwitchToOtais hardcoded to 64 and the seventh bit now carriesstubbornAcktlmRatiosinTXModuleParameters.cppUS_CHANNEL_VALUE_EXT_MIN/MAXThe Wide mode correction brings this page into agreement with the note already on the Switch Configuration page, which the PWM page contradicted.
The same 3.x holdover appears in the Switch Mode summary on the Lua page, which said Wide is "7x 64 or 128-position", so that is corrected here too. The Hybrid half of that sentence is correct per the Switch Configuration page and is unchanged.
Additions
Set Positionfailsafe ignores the flag.DShotandSchmittare added to.wordlist.txtfor the spellcheck.wordlist.dicis left alone since it is generated.