How precise is OpenTX?

openTx has introduced a range of new features, ideas and bling. It is fast becoming the firmware of choice for many users. openTx will run on ALL current hardware platforms, including the gruvin9x and sky9x boards. Work has already started to support the new FrSky X9D radio!
Post Reply
sande005
Posts: 15
Joined: Sun Jun 15, 2014 2:10 pm
Country: -

How precise is OpenTX?

Post by sande005 »

So default in the Outputs screen is to define a min/max range of -100.0% to +100.0%, or in other words 2,000 "steps" of resolution seemingly being sent to the servos. If instead, one picks the "ppmus" option, defaults are -512.0 to +512.0, or 10,240 "steps" of resolution. That seems to be way overkill, given all the imprecision in the rest of the control chain. Anyone know the actual precision sent to the RX? One would assume it is 2048....but you know the saying about assumptions.

User avatar
rcdiy
Posts: 190
Joined: Fri Jul 01, 2016 6:13 am
Country: Canada
Contact:

Re: How precise is OpenTX?

Post by rcdiy »

https://github.com/opentx/opentx/blob/1 ... ntx.h#L262

/ RESX range is used for internal calculation; The menu says -100.0 to 100.0; internally it is -1024 to 1024 to allow some optimizations
RCdiy.ca
Stay Safe & Have Fun
OpenTX Manual http://rcdiy.ca
Paying it forward by sharing my Lua scripts, documentation and videos.
User avatar
rcdiy
Posts: 190
Joined: Fri Jul 01, 2016 6:13 am
Country: Canada
Contact:

Re: How precise is OpenTX?

Post by rcdiy »

Anyone know the actual precision sent to the RX?
The XJT module handles the Tx Rx communications. Not OpenTX.

While not directly answering your question this article is interesting and highlights the differences/non standard way the pulce widths are translated into physical movement.
https://www.pololu.com/blog/17/servo-co ... -in-detail

There is no standard correspondence between the pulse width and the servo position. Generally speaking, moving from 1.0 ms to 2.0 ms will yield about 90 degrees of servo movement, but that pulse width range could correspond to 100 degrees on one servo and 80 degrees on another servo. This means that any servo controller or servo control library you might use that makes any claims about absolute degrees is hiding something from you (or designed by someone who doesn’t really understand the interface). If you change servos in your design, you might have to make corresponding changes in the range of pulses you send to it, so if you are doing your own servo pulse generation, it’s a good practice to have the neutral point and range of your servo parametrized in your code. (I’ll cover more on that in a future post.
RCdiy.ca
Stay Safe & Have Fun
OpenTX Manual http://rcdiy.ca
Paying it forward by sharing my Lua scripts, documentation and videos.
User avatar
MikeB
9x Developer
Posts: 17979
Joined: Tue Dec 27, 2011 1:24 pm
Country: -
Location: Poole, Dorset, UK

Re: How precise is OpenTX?

Post by MikeB »

The value between -1024 to +1024 is scaled in order to send it to the XJT module, by a factor of 512/682 (=0.75073) in openTx. ersky9x uses a factor of 3/4 (=0.75). The resulting PPM pulse would only differ by 0.5uS between these. Checking the output pulse from a S8R receiver, I see 988 uS to 2012 uS when using ersky9x, which correspond to the original -1024 to +1024 values.
If using other modules (e.g. the Multiprotocol module), other scaling is used.

Mike
erskyTx/er9x developer
The difficult we do immediately,
The impossible takes a little longer!

Post Reply

Return to “openTx”