* Support new r9m firmwares
* More future proof, thx Kilrah
* (significant) typo
* Companion part
* Make support a compilation option
* Fix compilation for normal users
* Warning popup for usability tests
* Better implementation
* All sizes
* Cosmetics
* Flex is EU+/AU+ only
* [Companion] Handle "flexr9m" option in module settings UI (to match radio UI, including warning msg); Move some "toString" functions out of ModelPrinter into ModuleData/Multiprotocols; "Future-proof" available R9M power options based on "stdr9m" fw option; Fix missing "Hitec" MM protocol name; Fix printing of R9M-EU power level in ModelPrinter.
* Cosmetics
* Rename R9M flex option
* Move failsafe further back to prevent nav oddity
* POC for X9, requires -DBINDING_OPTIONS=YES
* There are apparently 4 valid choices
* - make BINDING_OPTIONS part of standard code
- adapt R9M EU LBT dialog to choice on bind
* - remove option from Companion
- cosmetics
* Compilation fixes
* Remove most of the special logic associated with RF_PROTO_OFF
This simplifies code in many areas since the internal module does not require special handling and also fixes a few bugs with INTERNAL_PPM
* Disable R9M sport option if internal module has telemetry
* Fix X12s build
* Use macros instead of direct comparisions
* Fix sport bit sent the wrong way. Rename S.port out to Telemetry
* Compile fix
* Implement R9M protocol according to PXX spec 1.7
Some of the things here are guesswork as I don’t have a R9M at hand. Also Companion support for the extra R9M options is not implemented yet.
* Fix build errors
Thanks Mike for noticing: In pxx_arm.cpp, the pulse duration is set to either 48 or 32. This value gets put into the ARR register of the timer (via DMA). Counters count from 0 to the ARR value, then go back to 0. This will result in either 49 or 33 counts for the pulse width, thus making the pulses 0.5uS too long.
Tested only with external PXX
* [Horus] PXX and DSM2 in external module
* [Taranis] Pulses driver refactoring (uses DMA also for PPM in external module and saves 800bytes RAM)
* Cosmetics (Pulses driver splitted)