Originally Posted by
RC10Nick
Here you go. It was like pulling teeth with these guys to get a direct answer, and because nobody else cared about it, it got closed with no action.
https://github.com/ExpressLRS/ExpressLRS/issues/2635
To me, it's a sign that the devs are more concerned with fancy features than the core functionality of what a radio is supposed to do.
I just read the issue on github, and you came across as extremely combative... I think what they are trying to tell you is clearly written in that Switch Configs link they sent you. This link:
https://www.expresslrs.org/software/switch-config/
That page explains all the possible modes. Sure, they (or someone else that controls CRSF) can add more modes, but there are already a ton to choose from and I think you are asking for something that you don't need because what you need already exists. I feel that last part is most important. They repeatedly tried to tell you how to achieve the extended range and how it is not available in F1000, but they didn't articulate why you didn't need extended range in 1000Hz.
I am a newbie to ELRS (I just learned of it a few months ago) and all of this, but I will try to explain it to you here, if you don't mind. I don't know your level of technical understanding, so if I sound like I'm talking down to you, please forgive me, because I'm going to assume a very low-level of technical understanding just in case.. Or it could be helpful to others.
So the modes are all pre-defined. What's not explained in that page is the reasoning behind it. And that could be why you got frustrated with the answer. ExpressLRS and CRSF protocol are defined to send bits of data a certain way. And with that definition, they physically don't have enough time to fit every channel at higher packet rates. It's a physical time limitation that makes it so that certain modes need to be defined to limit the number of channels, or the resolution of the channels, or the frequency of the channels to fit everything in a fixed amount of time. The different modes allow the user to decide what trade-offs to make.
You'll see on your radio, you get to select
Packet Rate and
Switch Mode. Let's talk about each one:
For example, if you have selected the
Wide Switch Mode, the transmitter is sending Channels 1 through 4 in 10-bit full-resolution (normal range), 1-bit for Channel 5, and 6- or 7-bit (depending on telemetry ratio setting) for Channels 6 through 12 in a round-robin scheme (The "RR" note). Full-resolution normal range is defined as 10-bits of data for every channel. That's 4×10 = 40 bits. Channel 6 through 12, assuming 6-bits. Total is 40+1+6=47 bits of data.
See on the bottom of that column, it says this Wide switch mode is available from 50Hz to 1000Hz. For example, if you are set at a packet rate of 1kHz (1000Hz), that means a packet of data is transmitted from the transmitter to the receiver 1,000 times each second. That means it only has 1ms (1 millisecond) to finish transferring all the bits of data it needs to (assuming no overhead or idle time between packets, which is also unreasonable because there will be some idle time and also time for return telemetry). The time you have matters because the more time you have, the more time you have to send each bit. And the more time you have to send each bit, the easier it is for the receiver to receive it error free. This is why the range of ExpressLRS can be measured in miles. and latency in single-digit milliseconds. You have this control because you get to choose how much time you spend sending out each bit of data by selecting the frequency (packet rate) and the number of bits (the switch mode, or the number of channels and their resolution).
If it's not clear already, then let me point this out: Everything is a trade-off. Want higher packet rate? Then use fewer channels, use fewer bits for those upper-channels, and/or update those upper-channels less frequently (round robin). Want better range? Reduce the packet rate to give each bit more time, and again reduce the channels, channel resolution, and channel frequency. Want more channels? Reduce your packet rate, or reduce channel resolution.
Now, specifically for the PWM range, it's defined as normal and extended. Both are using 10-bit, so it can be one of 2¹⁰ = 1,024 possibilities. Assuming a center PWM pulse of 1,500μsec, each one of the 1,024 possibilities in
Normal Range is representing 1μs (microsecond). 1,024/2 = 512 below 1,500μsec and 512 above 1,500μsec. That gives you the standard range of 988-2,012μsec. (1,500-512 = 988 and 1,500+512 = 2012). In Extended range, each one of those 1,024 possibilities represents 1.23046875μsec, so your range is now from 885μsec to 2115μsec. The tradeoff? the steps aren't as granular (not as smooth), as each step is now a larger step. But this is not something you would likely feel.
Looking at the table above, you have three Switch Modes to choose from that all offer this extended range. You'll notice on the bottom, that none of these three Switch Modes work with F1000 packet rate. You are limited to 100 & 333 Hz. And the
Full Res 16 Rate/2 Switch Mode is only half-the frequency. But this shouldn't be a problem for you, because your Savox SC1257TG that you are trying to control clearly lists it's refresh rate at 333Hz.
My suggestion to you: Choose
Full-res 8CH @ 333Hz assuming you don't need more than 8 channels. This way, you will have your extended range PWM on Channels 1-4 at 333Hz and channels 6-9 at 333Hz and those can drive your servo's full range at it's maximum refresh rate. You'll also get much greater reliability and range on your ExpressLRS link over F1000.