# OpenTX

OpenTX est un microcode (ou firmware) en logiciel libre, sous licence GPLv2), utilisé dans certaines radiocommandes, comme les Taranis de FrSky, dont les séries X7, X9$^,$ ou depuis la version 2.2, la X-Lite radio ainsi que les Horus X10 et X12S, populaires notamment dans les drones sportifs en FPV, mais également des radiocommandes FlySky, Turnigy et différentes radiocommandes DIY.

## Fonctionnement

Sa philosophie suit le principe KISS, des briques simples sont utilisées et peuvent être imbriquées pour produire des comportements puissants et complexes
Ce firmware supporte le langage de script Lua pour améliorer les fonctions ou ajouter des applications aux radiocommandes. Ces scripts peuvent être de type mix (qu'il est déconseillé d'utiliser avec les fonctions de vol qui pourraient provoquer un crash), télémétrie, à exécution unique, wizard, fonction, widget, et thème. Lua est également utilisable avec les cartes de vol utilisant le firmware libre Betaflight.
Le logiciel OpenTX Companion, qui fonctionne sous Linux, MacOS et Windows est utilisé pour flasher le firmware sur les radiocommandes, via USB.
Le système gère une bibliothèque de sons qui par défaut comporte des instructions en anglais, mais il est possible d'ajouter ses propres enregistrements sonores, au format .WAV.
Le micro-code récupère l'ensemble des paramètres d'entrée de l'utilisateur (boutons, stics etc, les traite en fonction des paramètres, une fois l'ensemble des informations agglomérées, il les transmet au drone.

## Versions d'OpenTX

OpenTX a été développé en copiant, modifiant et améliorant les codes d'er9x (sous Licence GPLv2). Au début il a été appelé Open9x, vu qu'il a été développé pour les radios Flysky/Turnigy/Eurgle 9X. Puis le nom a changé en OpenTX, avec le support d'autres radios. Ce firmware a été publié sous plusieurs versions dont :
* versions 1.x, obsolète.
* version 2.0, obsolète, toujours possible à télécharger mais le support n'est plus pris en charge par les développeurs et la communauté.
* version 2.1, obsolète, toujours possible à télécharger mais le support n'est plus pris en charge par les développeurs et la communauté.
* version 2.2, version stable, à utiliser pour les radios AVR non supportées en 2.3
* version 2.3, dernière version stable
La version 2.3.0 a été publiée le 27 septembre 2019.

## Radios supportées

De nombreuses radios sont supportées par OpenTX dont les :
* Radios Flysky/Turnigy 9X original ou avec des cartes d'extensions comme Smartieparts, mais aussi avec des cartes mères modifiées comme Gruvin9X, Sky9x, AR9x.
* Radios Turnigy 9XR et 9XR Pro
* Radios DIY basées sur l'Arduino Mega2560 ou la carte ARUni (une version plus petite de la carte AR9x)
* Radios Frsky Taranis X9D, X9D+, X9E, QX7, QX7S, X9Lite, XLite, XLite PRO ou Frsky Horus X10 et X12S, ainsi que la Taranis X-Lite
* Radios Jumper T12 (depuis la version 2.3) et T16 (depuis la version 2.3.3).
* Radio Radiomaster TX16s.
La firme chinoise Flysky a sorti une radio, la Nirvana NV14, qui est livrée avec une version 2.2.3 d'OpenTX. Cette radio n'est pas encore officiellement supportée par OpenTX, car la version livrée avec la radio a été développée spécialement par l'équipe technique de Flysky pour cette radio.

## OpenTX Companion

Companion est un logiciel permettant de connecter sa radio avec un ordinateur. Il est multiplateforme car il peut être installé sous Windows, Linux ou MacOS. Il assure plusieurs rôles :
* C'est le moyen le plus facile de compiler la version d'OpenTX qu'on veut porter sur une quelconque radio. On y choisit les fonctionnalités et options à inclure dans le firmware, comme la version pour hélicoptère, ...
* Il permet aussi l'importation du firmware sur la radio, et inversement de faire une copie du firmware présent sur la radio.
* Il sert aussi d'interface de configuration de modèles. On peut y créer, modifier, tester des modèles avant de l'importer sur la radio. À l'inverse, il est aussi utilisé pour faire une sauvegarde des modèles et configurations présents sur la radio.