floaledm wrote:OpenTx has worked with FrSky to reserve all IDs in the 5000-50ff for passthrough data, so we pass data in that range in ArduPilot (the 10xx range is found only in our modified firmwares and soon to be deprecated as the 50xx range is used in the official ArduPilot firmwares as of Copter 3.4-rc5).
With passthrough, that data is not interpreted by OpenTX (as would Ids for such things as RPM, etc.) but directly passed to lua scripts on the Taranis.
As I understand it, LUA scripts are only available on the Taranis with openTx, they are not available on other hardware (e.g. 9XR-PRO, 9X, 9XR, 9X upgraded with SKY board or AR9X board or 9Xtreme board), so this limits the use the passthrough data to users of the Taranis running openTx (ersky9x also runs on the Taranis).
All these other hardware platforms handle the standard SPort data, whether using openTx or ersky9x/er9x, so it seems to me that using standard IDs, where possible, is more useful. This is particularly important, in my opinion, for the 9X and 9XR that have AVR processors rather than ARM processors, and in the case of the 9X with an ATMEGA64, with VERY limited flash space to add anything extra.
floaledm wrote:Using passthrough instead of standard IDs allows a lot more information to be passed, which is critical considering the limited bandwidth. Some standard IDs have been kept (such as Alt emulating a Variometer) because OpenTX can be configured to use that information, but besides GPS lat/lon, that info passed on std IDs is redundant with what is found in the passthrough data. Think of it as compressed data essentially...
Er9x/ersky9x already also have processing in place to handle the Teensy/Arduino formatted Sport data, that packs data into some IDs and re-uses some IDs for ARDU data.
Using a single SPort hardware ID, you should get 41 packets per second, using two SPort IDs may well get you 55 packets per second.
The code I've recently written will actually respond to both 100X and 500X in the same way.