<?xml version="1.0" encoding="UTF-8" ?>
<!-- RSS generated by PHPBoost on Sun, 17 May 2026 13:03:07 +0200 -->

<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[OpenTx]]></title>
		<atom:link href="https://opentx-doc.fr/syndication/rss/wiki/15" rel="self" type="application/rss+xml"/>
		<link>https://opentx-doc.fr</link>
		<description><![CDATA[Derniers articles de la catégorie Divers]]></description>
		<copyright>(C) 2005-2026 PHPBoost</copyright>
		<language>fr</language>
		<generator>PHPBoost</generator>
		
		
		<item>
			<title><![CDATA[Séquenceur pour train d'atterrissage]]></title>
			<link>https://opentx-doc.fr/wiki/sequenceur-pour-train-d-atterrissage</link>
			<guid>https://opentx-doc.fr/wiki/sequenceur-pour-train-d-atterrissage</guid>
			<description><![CDATA[<span style="color:#950024;"><strong>Article écrit par CoyotteDundee en Novembre 2021</strong></span><br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-introduction">Introduction</h2><br />

Un pilote de mon club m&#8217;a demandé s&#8217;il était possible de gérer la séquence d&#8217;ouverture et fermeture  du train d&#8217;atterrissage de son dernier modèle.<br />
En effet, celui-ci est muni de trappes qui s&#8216;ouvrent lors de la rentrée et de la sortie du train, puis se ferment une fois le train dans la position souhaitée.<br />
Il existe des boîtiers électroniques capables de gérer ce séquencement, mais nous allons voir qu&#8217;avec OpenTx, c&#8217;est un jeu d&#8217;enfant d&#8217;arriver à ce résultat sans aide extérieure.<br />
<br />
Pour des raisons didactiques, cet exemple se focalisera sur la problématique du train.<br />
Les autres entrées et mixages relatifs au pilotage de l&#8217;appareil (Ailerons, direction, gaz, etc) ont été retirés du modèle pour gagner en clarté.<br />
Pour les mêmes raisons,  les valeurs de sortie ou d'entrée sont exprimées par une valeur entière et les ratios par une valeur suivie d'un <em>%</em>.<br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-definition-des-besoins">Définition des besoins</h2><br />

Si l&#8217;on désire arriver au bon résultat, il faut préalablement définir avec précision le comportement que l&#8217;on souhaite obtenir.<br />
Dans le cas présent, nous souhaitons le fonctionnement suivant :<br />
<br />
<ul class="formatter-ul"><li class="formatter-li"> Lors de la sortie du train:<br />
<ol class="formatter-ol">
    <li class="formatter-li">Les trappes s&#8217;ouvrent
    </li><li class="formatter-li">Le train sort
    </li><li class="formatter-li">les trappes se referment</li></ol></li></ul><br />
<ul class="formatter-ul"><li class="formatter-li">Lors de la rentrée du train:<br />
<ol class="formatter-ol">
 <li class="formatter-li">Les trappes s&#8217;ouvrent
 </li><li class="formatter-li">Le train rentre
 </li><li class="formatter-li">les trappes se referment</li></ol></li></ul><br />
Les trappes sont donc toujours ouvertes préalablement à tout changement dans la position du train et se referment lorsque le train est dans la position voulue.<br />
Cette définition permet de comprendre qu&#8217;il existe une notion temporelle dans ce comportement.<br />
Les trappes s&#8217;ouvrent ensuite le train sort ou rentre et ensuite les trappes se referment.<br />
Il faudra donc trouver un moyen de contrôler les éléments en fonction du temps. Cette notion sera appelée « Ligne du temps » dans la suite de cette présentation.<br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-definition-des-moyens">Définition des moyens</h2><br />

Nous avons défini ce que nous souhaitons obtenir comme comportement. Nous allons maintenant spécifier les moyens pour y parvenir en définissant les entrées/sorties concernées.<br />
<br />
<h3 class="formatter-title wiki-paragraph-3" id="paragraph-sorties">Sorties</h3><br />

Une fois n&#8217;est pas coutume, commençons par la fin. Pour commander nos trappes et notre train, nous avons besoin de servos ou de moteurs.<br />
Afin de ne pas compliquer inutilement cet exemple, nous allons considérer qu&#8217;une voie sera dédiée à la commande des trappes et une voie à celle du train.<br />
<br />
Dans notre exemple, la <em>voie 6</em> sera réservée au train et la <em>voie 7</em> commandera les trappes.<br />
Lorsque la <em>voie 6</em> est à <em>-100</em>, le train est <em>rentré</em>. A +100, le train sera sorti.<br />
De même, lorsque la <em>voie 7</em> vaudra <em>-100</em>, les trappes seront <em>fermées</em>. Elle seront <em>ouvertes</em> pour une valeur de <em>+100</em>.<br />
<br />
<h3 class="formatter-title wiki-paragraph-3" id="paragraph-entrees">Entrées</h3><br />

Nous savons ce que nous allons commander. Reste à définir comment.<br />
Dans le cas d&#8217;un train d&#8217;atterrissage, une commande « tout ou rien » est amplement suffisante. Un <em>interrupteur</em> fera donc parfaitement l&#8217;affaire.<br />
Dans le cas présent ce sera <em>SA</em>. (Ce pourrait être SB, SC ou tout autre interrupteur mieux placé sur la radio selon vos critères personnels)<br />
Lorsque <em>SA</em> sera en position <em>haute</em> (SA↑) le train sera <em>rentré</em>. Dans le cas contraire, le train sera sorti. (Notez bien que j&#8217;écris « dans le cas contraire » et non « si SA est en position milieu » ou « si SA est bas »&#8230; Vous comprendrez pourquoi dans quelques paragraphes.)<br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-ebauche-de-solution">Ebauche de solution</h2><br />

<br />
<h3 class="formatter-title wiki-paragraph-3" id="paragraph-ligne-du-temps">Ligne du temps</h3><br />

Nous devons trouver un moyen de commander nos voies en fonction d&#8217;un temps imaginaire.<br />
Fort heureusement pour nous les développeurs d&#8217;OpenTx (bénis soient-ils !!!) ont prévu un paramètre "ralenti"  {Slow} sur les mixages. Ce paramètre  permet de définir le temps mis par la voie pour passer d&#8217;une position extrême (-100 par exemple)  à l&#8217;autre (+100 pour le même exemple).<br />
<br />
Il existe un <em>ralenti haut</em>, qui spécifie le temps nécessaire pour passer de <em>-100 à +100</em> et un <em>ralenti bas</em> qui détermine le temps pour passer de <em>+100 à -100</em> ce qui autorise des vitesses de ralenti différentes.<br />
Notre <em>ligne du temps</em> sera donc basée sur un tel ralenti. Nous disposerons d&#8217;une voie qui passera de -100 à +100 et de +100 à -100 en un temps déterminé.<br />
<br />
<h3 class="formatter-title wiki-paragraph-3" id="paragraph-conversion-de-la-position-temporelle-en-position-de-servo">Conversion de la position temporelle en position de servo</h3><br />

Nous devons maintenant convertir cette information en une position pour les trappes et le train.<br />
Encore une fois, les développeurs d&#8217;OpenTx (bénis soient-ils !!!) ont implémenté une fonctionnalité d&#8217;une souplesse impressionnante : Les courbes !<br />
<br />
<span class="message-helper notice">Petit rappel rapide sur les courbes&#8230;<br />
Dans OpenTx, une courbe permet de transformer une valeur d&#8217;entrée X en une valeur de sortie Y selon une fonction de transformation déterminée par une courbe définie par l&#8217;utilisateur.<br />
Ci-dessous un exemple de courbe définie par 5 points de passage :<br />
<br />
<img src="https://opentx-doc.fr/upload/tutotrain_2.png" alt="tutotrain_2" title="tutotrain_2" /><br />
<br />
Concentrons-nous sur le dessin de la courbe :<br />
<br />
<img src="https://opentx-doc.fr/upload/tutotrain_3.png" alt="tutotrain_3" title="tutotrain_3" /><br />
<br />
L&#8217;abscisse (l&#8217;axe horizontal rouge), représente  la valeur d&#8217;entrée (bien souvent, ce sera la position d&#8217;un manche) qui peut aller de -100 à +100.<br />
L&#8217;ordonnée (l&#8217;axe vertical bleu) , représente la valeur de sortie pouvant également aller de -100 à +100.<br />
La courbe verte représente les valeurs de sortie pour chaque valeur d&#8217;entrée possible.<br />
<br />
Dans cet exemple, si la valeur d&#8217;entrée vaut -50, la valeur de sortie sera égale à -20.<br />
<br />
<img src="https://opentx-doc.fr/upload/tutotrain_4.png" alt="tutotrain_4" title="tutotrain_4" /><br />
<br />
Selon la même courbe, pour une valeur d&#8217;entrée égale à 50, la valeur de sortie vaudra 30.<br />
<br />
<img src="https://opentx-doc.fr/upload/tutotrain_5.png" alt="tutotrain_5" title="tutotrain_5" /><br />
<br />
Par défaut, pour les valeurs d&#8217;entrée situées entre les points définis par l&#8217;utilisateur, le logiciel calcule la valeur de sortie selon une approximation linéaire.<br />
Par exemple, pour une valeur d&#8217;entrée de 25, la valeur de sortie sera de 15. Et pour une valeur d&#8217;entrée de 75, elle sera égale à 65.</span><br />
<br />
<h3 class="formatter-title wiki-paragraph-3" id="paragraph-utilisation-des-courbes-dans-notre-solution">Utilisation des courbes dans notre solution</h3><br />

Imaginons la courbe suivante :<br />
<br />
<img src="https://opentx-doc.fr/upload/tutotrain_6.png" alt="tutotrain_6" title="tutotrain_6" /><br />
<br />
Lorsque X vaut -100, la valeur correspondant est -100. Et cela, tant que X est inférieur à -30.<br />
A partir de ce point, la valeur de Y augmente jusqu&#8217;à atteindre 100 lorsque X vaut 30. Au delà de 30, la valeur de Y reste fixée à 100.<br />
Imaginons que cette courbe représente la sortie de la voie du train. Tant que  l&#8217;entrée X est inférieure à -30, le train reste rentré. Entre -30 et +30, le train sort. Au delà, il reste sorti.<br />
Sympa, non ?<br />
<br />
Examinons maintenant la courbe suivante :<br />
<br />
<img src="https://opentx-doc.fr/upload/tutotrain_7.png" alt="tutotrain_7" title="tutotrain_7" /><br />
<br />
De -100 à -75, la sortie est égale à -100. Entre -75 et -50, la sortie passe progressivement à +100., position qu&#8217;elle garde jusqu&#8217;à ce que l&#8217;entrée atteigne 50. A partir de là, la sortie repasse progressivement à -100, valeur qu&#8217;elle garde pour X allant de 75 à 100.<br />
Cette sortie pourrait ressembler au fonctionnement d&#8217;une trappe de train&#8230; non ?<br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-mise-en-place-de-la-solution">Mise en place de la solution</h2><br />

<br />
<h3 class="formatter-title wiki-paragraph-3" id="paragraph-les-entrees">Les entrées</h3><br />

Nous allons créer une entrée correspondant à la commande du train :<br />
<br />
<img src="https://opentx-doc.fr/upload/tutotrain_8.png" alt="tutotrain_8" title="tutotrain_8" /><br />
<br />
Dans l&#8217;écran des entrées, nous créons l&#8217;entrée Trai qui peut avoir deux valeurs :<br />
<ul class="formatter-ul"><li class="formatter-li">La première valeur est -100 (MAX avec un ratio de -100%) lorsque SA est haut.
</li><li class="formatter-li">La seconde est +100 (MAX avec un ratio de 100%) lorsque SA n&#8217;est pas haut (!SA↑)<br />
<em>Cette formulation permet de remplir deux conditions en une :!SA↑ est vrai pour SA- et SA↓</em></li></ul><br />
Voilà pour les entrées.<br />
<br />
<h3 class="formatter-title wiki-paragraph-3" id="paragraph-les-mixages">Les mixages</h3><br />

<br />
<h4 class="formatter-title wiki-paragraph-4" id="paragraph-ligne-du-temps">Ligne du temps</h4><br />

Nous allons créer notre <em>Ligne du temps</em>  en joutant un mixage sur le <em>canal 10</em>. (Ce pourrait être  n&#8217;importe quel autre canal libre, bien évidemment)<br />
Le mixage est le suivant :<br />
<br />
<img src="https://opentx-doc.fr/upload/tutotrain_1.png" alt="tutotrain_1" title="tutotrain_1" /><br />
<br />
Nous prenons comme source l&#8217;entrée <em>[I]Trai</em> que nous avons créée. Tous les autres paramètres sont inchangés sauf les <em>Ralentis Haut {Slow Up}</em> et <em>Bas {Slow down}</em> qui sont fixés à 5 secondes.<br />
Si l&#8217;on teste le modèle à ce moment-là, on constate que selon la position de <em>SA</em>, la <em>voie 10</em> voit sa valeur augmenter ou diminuer progressivement.<br />
<br />
<h4 class="formatter-title wiki-paragraph-4" id="paragraph-voie-du-train">Voie du train</h4><br />

La <em>voie 6</em> reçoit le mixage lié au train :<br />
<br />
<img src="https://opentx-doc.fr/upload/tutotrain_11.png" alt="tutotrain_11" title="tutotrain_11" /><br />
<br />
Ce mixage prend comme Source la <em>voie 10</em> (notre <em>ligne du temps</em>) et lui applique la courbe <em>CV1</em><br />
<br />
<h4 class="formatter-title wiki-paragraph-4" id="paragraph-voie-des-trappes">Voie des trappes</h4><br />

Le mixage de la <em>voie 7</em> est comparable sauf qu&#8217;il utilise la courbe <em>CV2</em><br />
<br />
<img src="https://opentx-doc.fr/upload/tutotrain_12.png" alt="tutotrain_12" title="tutotrain_12" /><br />
<br />
Nous y sommes presque&#8230;<br />
<br />
<h4 class="formatter-title wiki-paragraph-4" id="paragraph-les-courbes">Les courbes</h4><br />

Il nous reste deux courbes à définir.<br />
<br />
<h5 class="formatter-title wiki-paragraph-5" id="paragraph-courbe-du-train">Courbe du train</h5><br />

<img src="https://opentx-doc.fr/upload/tutotrain_13.png" alt="tutotrain_13" title="tutotrain_13" /><br />
<br />
La courbe du train est en 5 points dont les valeurs sont données ci-dessous :<br />
<img src="https://opentx-doc.fr/upload/tutotrain_14.png" alt="tutotrain_14" title="tutotrain_14" /><br />
<br />
<h5 class="formatter-title wiki-paragraph-5" id="paragraph-courbe-des-trappes">Courbe des Trappes</h5><br />

<img src="https://opentx-doc.fr/upload/tutotrain_15.png" alt="tutotrain_15" title="tutotrain_15" /><br />
<br />
C&#8217;est une courbe en 6 points :<br />
<img src="https://opentx-doc.fr/upload/tutotrain_16.png" alt="tutotrain_16" title="tutotrain_16" /><br />
<br />
Et voilà ...<br />
C&#8217;est terminé !<br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-tests-et-ajustements">Tests et ajustements</h2><br />

Si vous placez l&#8217;écran de votre Taranis en mode <em>visualisation des voies</em>, et que vous basculez l&#8217;inter <em>SA</em>, vous verrez alors les voies 6 et 7 évoluer comme prévu.<br />
Il est bien évidemment possible d&#8217;ajuster le fonctionnement du système en jouant sur<br />
- la durée du ralenti<br />
- les points de courbes pour déterminer le début et la fin des mouvements des différentes parties.<br />
<br />
Comme toujours avec OpenTx, il est possible d&#8217;améliorer cette base en y ajoutant, par exemple, une information vocale ("Trains sorti", "Train rentré"),  une deuxième voie de train pour gérer les jambes gauches et droites séparément (avec même un timing de rentrée différent), &#8230;<br />
Tout est possible, votre imagination est la seule limite !<br />
<br />
Avant de vous laisser, je tiens à remercier mon épouse pour la relecture attentive de cet article.<br />
Bons vols !<br />
<br />
<img src="https://opentx-doc.fr/images/smileys/coyotte.png" alt=":coyotte" title=":coyotte" class="smiley" />]]></description>
			<pubDate>Wed, 17 Nov 2021 17:56:54 +0100</pubDate>
			
		</item>
		
		<item>
			<title><![CDATA[Activation d'une fonction durant un temps défini et/ou variable]]></title>
			<link>https://opentx-doc.fr/wiki/activation-d-une-fonction-durant-un-temps-defini-etou-variable</link>
			<guid>https://opentx-doc.fr/wiki/activation-d-une-fonction-durant-un-temps-defini-etou-variable</guid>
			<description><![CDATA[<span style="color:#950024;"><strong>Article écrit par CoyotteDundee en Mai 2020</strong></span><br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-presentation">Présentation</h2><br />

Il arrive que l'on souhaite activer une fonctionnalité durant un temps déterminé.<br />
Pour des durées assez courtes (< 25s) , il est possible de jouer avec les paramètres des interrupteurs logiques, mais pour des durées plus longues ou si l'on souhaite les rendre paramétrables, il faut utiliser une autre tactique.<br />
A titre d'exemple, nous allons piloter le rétro-éclairage de la radio et faire varier la durée de celui-ci (de 5s à 100s) via un slider.<br />
Ce rétro-éclairage sera déclenché par une impulsion sur SH et restera actif pour un nombre de secondes défini par S2<br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-solution">Solution</h2><br />

Dans la solution présentée ici, nous allons utiliser deux variables globales <em>VG1 </em>et <em>VG2</em>.<br />
<em>VG1 </em>sera  un compteur incrémenté chaque seconde.<br />
<em>VG2 </em>sera la valeur que <em>VG1 </em>doit dépasser pour mettre fin à l'activation de la fonctionnalité.<br />
<br />
On commence par créer une entrée Lum(inosité) :<br />
<br />
<img src="https://opentx-doc.fr/upload/chrono1.jpg" alt="chrono1" title="chrono1" /><br />
<br />
... Et la courbe qui va bien :<br />
<br />
<img src="https://opentx-doc.fr/upload/chrono2.jpg" alt="chrono2" title="chrono2" /><br />
<br />
Ensuite...<br />
L01: on crée un compteur avec <em>VG1 </em>qui est incrémenté chaque seconde.<br />
L02: on ajoute un bistable qui mémorise la demande d'allumage et reste actif pour la durée souhaitée<br />
L03: permet de détecter que le compteur a atteint la limite souhaitée.<br />
<br />
<img src="https://opentx-doc.fr/upload/chrono3.jpg" alt="chrono3" title="chrono3" /><br />
<br />
Enfin, les fonctions spéciales qui vont bien:<br />
FS1 réinitialise le compteur.<br />
FS2 incrémente le compteur chaque fois que <em>L01 </em>(chrono) devient actif<br />
FS3 copie la valeur de <em>S2 </em>dans <em>VG2 </em>lorsque l'on démarre l'éclairage<br />
FS4 active le retro-éclaire tant que le bistable est actif...<br />
<br />
<img src="https://opentx-doc.fr/upload/chrono4.jpg" alt="chrono4" title="chrono4" /><br />
<br />
Et voilà... <img src="https://opentx-doc.fr/images/smileys/smile.png" alt=":)" title=":)" class="smiley" />  On obtient très simplement des durées allant de 1 à 100 secondes.<br />
Si des durées plus importantes devaient être nécessaires, il suffit d'augmenter la période de L01. Avec une période 2 secondes, il est déjà possible atteindre des durées supérieures à 3 minutes...(Avec une résolution de 2 secondes...)<br />
<br />
<img src="https://opentx-doc.fr/images/smileys/coyotte.png" alt=":coyotte" title=":coyotte" class="smiley" /><br />
<br />
<h3 class="formatter-title wiki-paragraph-3" id="paragraph-addendum">Addendum</h3><br />

Sur la suggestion d'<span style="color:#0000FF;">Olivier ZMR250 X9D+</span> voici un complément d'informations quant à une utilisation pratique de la fonction :<br />
<br />
On commence par ajouter un interrupteur logique qui détecte les variations de E5:Lum :<br />
<br />
<img src="https://opentx-doc.fr/upload/chrono5.jpg" alt="chrono5" title="chrono5" /><br />
<br />
On ajoute une fonction logique qui va énoncer la valeur de E5:Lum à chaque fois que celle-ci varie suffisamment :<br />
<br />
<img src="https://opentx-doc.fr/upload/chrono6.jpg" alt="chrono6" title="chrono6" /><br />
<br />
Enfin, on ajoute un affichage de la valeur de l'entrée de E5-Lum sur une page de télémétrie :<br />
<br />
<img src="https://opentx-doc.fr/upload/chrono7.jpg" alt="chrono7" title="chrono7" /><br />
<br />
Ainsi, lorsque l'on modifie la consigne concernant la durée de rétro-éclairage, la nouvelle valeur est énoncée et celle-ci est visuellement contrôlable sur l'écran de la radio :<br />
<br />
<img src="https://opentx-doc.fr/upload/chrono8.jpg" alt="chrono8" title="chrono8" /><br />
<br />
<br />
<img src="https://opentx-doc.fr/images/smileys/coyotte.png" alt=":coyotte" title=":coyotte" class="smiley" /> & <span style="color:#0000FF;">Olivier ZMR250 X9D+</span>]]></description>
			<pubDate>Wed, 17 Nov 2021 17:56:25 +0100</pubDate>
			
		</item>
		
		<item>
			<title><![CDATA[Utiliser un slider comme Trim de ralenti]]></title>
			<link>https://opentx-doc.fr/wiki/utiliser-un-slider-comme-trim-de-ralenti</link>
			<guid>https://opentx-doc.fr/wiki/utiliser-un-slider-comme-trim-de-ralenti</guid>
			<description><![CDATA[<span style="color:#950024;"><strong> Article écrit par LapinFou en Novembre 2021. </strong></span><br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-introduction">Introduction</h2><br />

Le but de cette article est d'expliquer comment utiliser un slider en lieu et place d'un trim pour contrôler le ralenti d'un moteur thermique.<br />
<br />
De base, dans le menu configuration, il existe une option "<em>Trim ralenti uniquement</em>" dédiée à cela.<br />
Bien évidemment, cela ne fonctionne qu'avec un "vrai" bouton de trim.<br />
Pour bien visualiser la différence entre un trim classique et un trim ralenti, voici deux petits diagrammes.<br />
<br />
<h3 class="formatter-title wiki-paragraph-3" id="paragraph-trim-classique">Trim "Classique"</h3><br />

<img src="https://opentx-doc.fr/upload/wiki_slider_ralenti_01.png" alt="wiki_slider_ralenti_01" title="wiki_slider_ralenti_01" style="width: 400px;" /><br />
Lorsque l'on applique un trim classique (en vert), cela créait un décalage sur le mixage (en bleu).<br />
Du coup, lorsque la source change (en orange), on observe que notre sortie est en <em>buté</em> avant que notre source soit arrivée à 100%.<br />
Pour utilisation sur des gouvernes, ce n'est pas un problème. D'une part le trim est rarement important et d'autre part on pilote rarement les manches dans les coins.  <img src="https://opentx-doc.fr/images/smileys/grin.png" alt=":D" title=":D" class="smiley" /><br />
Par contre, cela pose un problème pour contrôler le ralenti moteur.<br />
En effet le moteur thermique sera potentiellement "pleine balle" même si le manche de gaz n'est pas à fond.<br />
C'est pour cela qu'OpenTX a inclus une fonction "<em>Trim ralenti uniquement</em>".<br />
<br />
<h3 class="formatter-title wiki-paragraph-3" id="paragraph-trim-ralenti-moteur-thermique">Trim "Ralenti moteur thermique"</h3><br />

<img src="https://opentx-doc.fr/upload/wiki_slider_ralenti_02.png" alt="wiki_slider_ralenti_02" title="wiki_slider_ralenti_02" style="width: 400px;" /><br />
Ici, on peut observer que l'effet du trim (en vert) est progressivement retiré proportionnellement à la position de la source des gaz (en orange).<br />
La sortie envoyé au servo de gaz (en bleu) va bien être proportionnel à la position de la source des gaz.<br />
Il n'y a plus d'effet d&#8217;écrêtement. C'est exactement ce que l'on veut !<br />
Contrôler le ralenti du moteur, lorsque le manche de gaz est en bas, tout en gardant un contrôle proportionnel sans écrêtement sur la sortie.<br />
<br />
Dans la suite de cet article, je vais vous expliquer comment reproduire ce comportement en utilisant un slider en lieu et place d'un trim.<br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-cahier-des-charges">Cahier des charges</h2><br />

Pour faire cela, il faut:<br />
<ul class="formatter-ul">
    <li class="formatter-li">Désactiver le Trim de Gaz dans les phase de vol (d'ailleurs ce trim pourra servir pour d'autre fonction).
    </li><li class="formatter-li">La variable <strong>VG1 </strong>correspond au max de la plage de trim ralenti voulu.<br />
Dans cet article on choisira la possibilité de mettre jusqu'à 50% de trim ralenti.
    </li><li class="formatter-li">Il faudra calculer le trim de Gaz dépendant du <strong>slider</strong> ainsi que de la position de l'entrée <strong>E</strong> des Gaz.
    </li><li class="formatter-li">Ajouter ce trim calculé sur la voie des gaz (VOIE01 dans cet exemple).
    </li><li class="formatter-li">Ajouter une coupure moteur simple.
    </li><li class="formatter-li">Le slider utilisé pour le ralenti est <strong>RS</strong>.<br />
</li></ul> <span style="text-decoration: underline;">Note:</span> J'ai choisi une plage de trim de 0% à 50%, car c'est la valeur proposée nativement par OpenTX.<br />
Bien évidemment <strong>VG1</strong> est optionnel. Dans la suite ce cet article, je propose également une programmation sans <strong>V</strong>ariable <strong>Gl</strong>obale.<br />
A noter que pour les programmations complexes utilisant plusieurs phases de vol, VG1 peut vous permettre d'avoir un trim ralenti max différent pour chaque phase de vol.  <img src="https://opentx-doc.fr/images/smileys/grin.png" alt=":D" title=":D" class="smiley" /><br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-calcul-du-trim-inversement-proportionnelle-a-la-source-des-gaz">Calcul du trim inversement proportionnelle à la source des gaz</h2><br />

En analysant le digramme de principe <a href="https://opentx-doc.fr/wiki/utiliser-un-slider-comme-trim-de-ralenti#paragraph-trim-ralenti-moteur-thermique"><strong>Trim "Ralenti moteur thermique"</strong></a>, on peut en déduire la formule pour avoir un trim inversement proportionnelle à une commande de gaz:<br />
<em><strong>TrimG = <span style="color:#006600;">TrimSlider </span>- <span style="color:#006600;">TrimSlider </span>* <span style="color:#FF0000;">PositionGaz</span></strong></em><br />
<img src="https://opentx-doc.fr/images/smileys/warning.png" alt=":warn" title=":warn" class="smiley" /> Cette formule fonctionne avec une plage de fonctionnement [0%; +100%].<br />
<br />
Pour que cela fonctionne correctement, la plage de fonctionnement de l'entrée Gaz doit donc aller de 0% à +100%.<br />
Il faut donc convertir la plage du gaz [-100%; +100%] dans une plage [0%; +100%], ce qui donne:<br />
<em><strong><span style="color:#FF0000;">PositionGaz </span>= (50% * [E]Gaz + 50%)</strong></em><br />
<br />
Il faut également convertir la plage du slider RS [-100%; +100%] dans une plage [0%; 50%].<br />
Comme on souhaite pouvoir ajuster le trim max, on remplace <strong>50%</strong> par <strong>VG1</strong>, ce qui donne une plage Trim ralenti [0%; <strong>VG1</strong>]:<br />
<em><span style="color:#006600;">TrimSlider </span>= 50%*VG1 * RS + 50%*VG1</em><br />
<em><strong><span style="color:#006600;">TrimSlider </span>= 50% * (VG1 * RS + VG1)</strong></em><br />
<br />
Pour toutes ces conversions, voir le tuto de Maître <img src="https://opentx-doc.fr/images/smileys/coyotte.png" alt=":coyotte" title=":coyotte" class="smiley" />: ici → <a href="https://opentx-doc.fr/wiki/notions-complementaire-a-propos-de-ratio-et-decalage"><strong>Notions complémentaire à propos de Ratio et Décalage</strong></a><br />
<br />
En factorisant, on peut aussi écrire la formule comme cela (c'est bien plus joli <img src="https://opentx-doc.fr/images/smileys/love.png" alt=":love" title=":love" class="smiley" /> ):<br />
<strong><em>TrimG = <span style="color:#006600;">TrimSlider </span>* (100% - <span style="color:#FF0000;">PositionGaz</span>)</em></strong><br />
<br />
Donc la formule finale est:<br />
<em>TrimG = <span style="color:#006600;">50% * (VG1 * RS + VG1)</span> * <strong>{</strong> <span style="color:#0000FF;">100%</span> - <span style="color:#FF0000;">(50% * [E]Gaz + 50%)</span> <strong>}</strong></em><br />
<br />
On arrange un peu la formule afin de pouvoir la programmer facilement sous OpenTX.<br />
Pour mémoire, les seules opérateurs disponibles sont: <em>addition</em>, <em>multiplication </em>ou <em>remplacer</em>.<br />
Il n'y a pas de soustraction, donc il faut remplacer la partie "<em>[...]100% <strong><span style="color:#F04343;">-</span></strong> ([...]</em>", par "<em>[...]100% <strong><span style="color:#F04343;">+</span></strong> ([...]</em>".<br />
Au final, après transfère du signe moins dans la parenthèse (en rouge, ci-dessous), cela donne:  <img src="https://opentx-doc.fr/images/smileys/cool.png" alt=":cool" title=":cool" class="smiley" /><br />
<div class="formatter-container formatter-blockquote"><span class="formatter-title title-perso">Formule finale avec VG1 :</span><div class="formatter-content"><em>TrimG = <span style="color:#006600;">50% * (VG1 * RS + VG1)</span> * <strong>{</strong> <span style="color:#0000FF;">100%</span> + <span style="color:#FF0000;">(-50% * [E]Gaz - 50%)</span> <strong>}</strong></em></div></div><br />
<br />
Comme expliqué dans le précédent paragraphe, vous pouvez ne pas utiliser <strong>VG1</strong>.<br />
Dans ce cas, l'équation devient:<br />
<div class="formatter-container formatter-blockquote"><span class="formatter-title title-perso">Formule Finale sans VG :</span><div class="formatter-content"><em>TrimG = <span style="color:#006600;">(25% * RS + 25%)</span> * <strong>{</strong> <span style="color:#0000FF;">100%</span> + <span style="color:#FF0000;">(-50% * [E]Gaz - 50%)</span> <strong>}</strong></em></div></div><br />
<br />
Maintenant que nous en avons fini avec les Maths, on peut passer à la programmation.<br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-programmation">Programmation</h2><br />

En image sous Companion.<br />
<br />
<h3 class="formatter-title wiki-paragraph-3" id="paragraph-phases-de-vol">Phases de Vol</h3><br />

<ul class="formatter-ul">
    <li class="formatter-li">Désactiver le Trim de Gaz.
    </li><li class="formatter-li">Définir le trim max dans VG1 (50%) → <em><span style="text-decoration: underline;">Optionnelle:</span> suivant vos besoins.</em>
    </li><li class="formatter-li">Régler la précision "<strong>0.0</strong>" → <em><span style="text-decoration: underline;">Optionnelle:</span> suivant vos besoins.</em><br />
</li></ul><img src="https://opentx-doc.fr/upload/wiki_slider_ralenti_03.png" alt="wiki_slider_ralenti_03" title="wiki_slider_ralenti_03" /><br />
<br />
<h3 class="formatter-title wiki-paragraph-3" id="paragraph-entrees">Entrées</h3><br />

<ul class="formatter-ul">
    <li class="formatter-li">Définir l'entrée [E1]Gaz
    </li><li class="formatter-li"><span style="color:#FF0000;"><img src="https://opentx-doc.fr/images/smileys/warning.png" alt=":warn" title=":warn" class="smiley" /> Pas besoin de choisir "Pas de trim", puisque le bouton TrmG est déjà désactivé dans les phases de vol.</span><br />
</li></ul><br />
<img src="https://opentx-doc.fr/upload/wiki_slider_ralenti_04.png" alt="wiki_slider_ralenti_04" title="wiki_slider_ralenti_04" /><br />
<br />
<h3 class="formatter-title wiki-paragraph-3" id="paragraph-solution-1-mixages-utilisant-vg1">Solution 1: Mixages utilisant VG1</h3><br />

<ul class="formatter-ul">
    <li class="formatter-li">Source des gaz pour la VOIE01 (ligne <strong>Moteur</strong>).
    </li><li class="formatter-li">Ajout du trim ralenti (calculé en VOIE17) sur le VOIE01 (ligne <strong>TrimG</strong>)
    </li><li class="formatter-li">Ajout d'une coupure moteur basique contrôle par l'inter SF (ligne <strong>Coupure</strong>)<br />
Pour une coupure moteur plus évoluée, il faut remplacer <strong>SF↑</strong> (moteur coupé), par un inter logique comme expliqué ici: <a href="https://opentx-doc.fr/wiki/coupure-moteur"><strong>Coupure moteur</strong></a>
    </li><li class="formatter-li">Calcul du trim ralenti.<br />
Pour rappel, la formule voulue est:<br />
<em>VOIE17 = <span style="color:#006600;">50% * (VG1 * RS + VG1)</span> * { <span style="color:#0000FF;">100%</span> + <span style="color:#FF0000;">(-50% * [E]Gaz - 50%)</span> }</em><br />
Le nom des lignes correspond au code couleur utilisé dans la formule mathématique ci-dessus (Rouge, Bleu et Vert).
    </li><li class="formatter-li"><span style="color:#FF0000;"><img src="https://opentx-doc.fr/images/smileys/warning.png" alt=":warn" title=":warn" class="smiley" /> parfois j'utilise "<strong>+=</strong>", "<strong>:=</strong>" ou "<strong>*=</strong>".</span><br />
Observez  bien chaque ligne des mixages.  <img src="https://opentx-doc.fr/images/smileys/wink.png" alt=";)" title=";)" class="smiley" /><br />
</li></ul><br />
<img src="https://opentx-doc.fr/upload/wiki_slider_ralenti_05.png" alt="wiki_slider_ralenti_05" title="wiki_slider_ralenti_05" /><br />
<br />
Le mixage de la VOIE17 est l'accumulation des opérations du haut vers le bas:<br />
<span style="color:#FF9933;">VOIE17 </span>= 0% + <strong>(-50% * [E1]Gaz - 50%) ]</strong><br />
<span style="color:#000099;">VOIE17 </span>= <span style="color:#FF9933;">VOIE17 </span><strong>+ 100%</strong><br />
<span style="color:#990099;">VOIE17 </span>= <span style="color:#000099;">VOIE17 </span><strong>* (VG1 * RS + VG1)</strong><br />
VOIE17 = <span style="color:#990099;">VOIE17 </span><strong>* 50%</strong><br />
Ce qui correspond bien à la formule voulue.<br />
<br />
<h3 class="formatter-title wiki-paragraph-3" id="paragraph-solution-2-mixages-n-utilisant-pas-de-variable-globale">Solution 2: Mixages n'utilisant pas de Variable Globale</h3><br />

<ul class="formatter-ul">
    <li class="formatter-li">Source des gaz pour la VOIE01 (ligne <strong>Moteur</strong>).
    </li><li class="formatter-li">Ajout du trim ralenti (calculé en VOIE17) sur le VOIE01 (ligne <strong>TrimG</strong>)
    </li><li class="formatter-li">Ajout d'une coupure moteur basique contrôle par l'inter SF (ligne <strong>Coupure</strong>)<br />
Pour une coupure moteur plus évoluée, il faut remplacer <strong>SF↑</strong> (moteur coupé), par un inter logique comme expliqué ici: <a href="https://opentx-doc.fr/wiki/coupure-moteur"><strong>Coupure moteur</strong></a>
    </li><li class="formatter-li">Calcul du trim ralenti.<br />
Pour rappel, la formule voulue est:<br />
<em>VOIE17 = <span style="color:#006600;">(25% * RS + 25%)</span> * { <span style="color:#0000FF;">100%</span> + <span style="color:#FF0000;">(-50% * [E]Gaz - 50%)</span> }</em><br />
Le nom des lignes correspond au code couleur utilisé dans la formule mathématique ci-dessus (Rouge, Bleu et Vert).
    </li><li class="formatter-li"><span style="color:#FF0000;"><img src="https://opentx-doc.fr/images/smileys/warning.png" alt=":warn" title=":warn" class="smiley" /> parfois j'utilise "<strong>+=</strong>", "<strong>:=</strong>" ou "<strong>*=</strong>".</span><br />
Observez  bien chaque ligne des mixages.  <img src="https://opentx-doc.fr/images/smileys/wink.png" alt=";)" title=";)" class="smiley" /><br />
</li></ul><br />
<img src="https://opentx-doc.fr/upload/wiki_slider_ralenti_06.png" alt="wiki_slider_ralenti_06" title="wiki_slider_ralenti_06" /><br />
<br />
Le mixage de la VOIE17 est l'accumulation des opérations du haut vers le bas:<br />
<span style="color:#FF9933;">VOIE17 </span>= 0% + <strong>(-50% * [E1]Gaz - 50%) ]</strong><br />
<span style="color:#000099;">VOIE17 </span>= <span style="color:#FF9933;">VOIE17 </span><strong>+ 100%</strong><br />
VOIE17 = <span style="color:#000099;">VOIE17 </span><strong>* (25% * RS + 25%)</strong><br />
Ce qui correspond bien à la formule voulue.<br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-conclusion">Conclusion</h2><br />

Tada !!! Le cahier des charges est rempli. <img src="https://opentx-doc.fr/images/smileys/grin.png" alt=":D" title=":D" class="smiley" /><br />
Si vous faites varier le slider RS, cela modifiera bien le ralenti sur la VOIE01 avec le manche des gaz en bas.<br />
Si vous poussez progressivement le manche des gaz vers le haut, vous verrez la VOIE17 progressivement tendre vers 0%.<br />
Pour finir vous ne verrez pas d&#8217;effets d&#8217;écrêtements sur la VOIE01.<br />
<br />
Tout est possible avec OpenTX.  <img src="https://opentx-doc.fr/images/smileys/nerd.png" alt=":nerd" title=":nerd" class="smiley" /><br />
<br />
<img src="https://opentx-doc.fr/images/smileys/lapinfou.gif" alt=":lapinfou" title=":lapinfou" class="smiley" /><br />]]></description>
			<pubDate>Wed, 10 Nov 2021 16:03:40 +0100</pubDate>
			
		</item>
		
		<item>
			<title><![CDATA[Notions complémentaire à propos de Ratio et Décalage]]></title>
			<link>https://opentx-doc.fr/wiki/notions-complementaire-a-propos-de-ratio-et-decalage</link>
			<guid>https://opentx-doc.fr/wiki/notions-complementaire-a-propos-de-ratio-et-decalage</guid>
			<description><![CDATA[<span style="color:#950024;"><strong> Article écrit par Coyotte en Juin 2019 et modifié par LapinFou en Novembre 2021. </strong></span><br />
<br />
Cet article est un complément d'information du concept expliqué ici: <a href="https://opentx-doc.fr/wiki/comprendre-les-principes-de-base#paragraph-ratio-et-decalage"><strong>Comprendre les principes de base :: Ratio et Décalage</strong></a><br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-utilisation-des-parametres-de-ponderation-et-de-decalage-deun-mixage">Utilisation des paramètres de pondération et de décalage d’un mixage</h2><br />

<strong><span style="color:#800080;">Ratio</span></strong> et <strong><span style="color:#339966;">Décalage</span></strong> sont deux paramètres importants dans la définition d&#8217;un mixage.<br />
<strong><span style="color:#800080;">Ratio</span></strong> détermine le pourcentage de l&#8217;entrée qui sera utilisé pour le mixage, tandis que <strong><span style="color:#339966;">Décalage</span></strong> ajoute une valeur fixe au résultat de sortie.<br />
<br />
La formule utilisée est: <div class="formatter-container formatter-blockquote"><span class="formatter-title">Citation :</span><div class="formatter-content"><img src="https://opentx-doc.fr/images/maths/math_991_1738cb3e29a6c1e56237fb20c86dd450.png" style="vertical-align:-9px; display: inline-block ;" alt="{Sortie}= ({Entree} * {Ratio}) + {Decalage}" title="{Sortie}= ({Entree} * {Ratio}) + {Decalage}"/></div></div><br />
<br />
On peut ainsi facilement déterminer les valeurs minimales et maximales pour des valeurs données de <em>Ratio</em> et de <em>Décalage</em>.<br />
<br />
Si, par exemple, nous avons un ratio de <strong><span style="color:#800080;">50%</span></strong> et un décalage de <strong><span style="color:#339966;">50%</span></strong><br />
<br />
<table class="formatter-table" style="font-size:14px;width:600px;">
    <tr class="formatter-table-row">
        <th class="formatter-table-head">Entrée</th>
        <th class="formatter-table-head">Formule</th>
        <th class="formatter-table-head">Calcul du ratio avant d'appliquer le décalage</th>
        <th class="formatter-table-head">Sortie</th>
    </tr>
    <tr class="formatter-table-row">
        <td class="formatter-table-col">-100%</td>
        <td class="formatter-table-col">(-100% x <strong><span style="color:#800080;">50%</span></strong>) +  <strong><span style="color:#339966;">50%</span></strong></td>
        <td class="formatter-table-col">-50% +  <strong><span style="color:#339966;">50%</span></strong></td>
        <td class="formatter-table-col">0%</td>
    </tr>
    <tr class="formatter-table-row">
        <td class="formatter-table-col">100%</td>
        <td class="formatter-table-col">(100% x <strong><span style="color:#800080;">50%</span></strong>) +  <strong><span style="color:#339966;">50%</span></strong></td>
        <td class="formatter-table-col">50% +  <strong><span style="color:#339966;">50%</span></strong></td>
        <td class="formatter-table-col">100%</td>
    </tr>
</table><br />
<span class="message-helper notice"><strong><span style="text-decoration: underline;">Rappel sur les pourcentages (c'est à dire une valeur divisée par 100  <img src="https://opentx-doc.fr/images/smileys/nerd.png" alt=":nerd" title=":nerd" class="smiley" /> ):</span></strong><br />
250% = 250/100 = 2.50<br />
100% = 100/100 = 1.00<br />
  50% = 50/100 = 0.50<br />
  15% = 15/100 = 0.15<br />
etc..<br />
<br />
Pour rappel, les opérations avec des pourcentages donnent:<br />
80% + 50% = 0.8 + 0.5 = 1.3 = <strong>+130% </strong><br />
80% x 50% = 0.8 x 0.5 = 0.4 =  <strong>+40%</strong>  <img src="https://opentx-doc.fr/images/smileys/warning.png" alt=":warn" title=":warn" class="smiley" /> <strong><span style="color:#F04343;">et surtout pas 400% !!</span></strong> <img src="https://opentx-doc.fr/images/smileys/warning.png" alt=":warn" title=":warn" class="smiley" /><br />
50% x -40% = 0.5 x -0.4 = -0.2 = <strong>-20%</strong><br />
-50% x -40% = -0.5 x -0.4 = 0.2 = <strong>+20%</strong> <img src="https://opentx-doc.fr/images/smileys/warning.png" alt=":warn" title=":warn" class="smiley" /> <strong><span style="color:#F04343;">moins x moins = plus</span></strong>, le produit de deux nombres négatifs donne un nombre positif <img src="https://opentx-doc.fr/images/smileys/warning.png" alt=":warn" title=":warn" class="smiley" /> </span><br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-ce-que-l-on-veut-reellement-trouver-le-ratiodecalage-qui-va-bien">Ce que l'on veut réellement: trouver le ratio/décalage qui va bien</h2><br />

Fort bien&#8230; Mais généralement, le problème se pose dans l&#8217;autre sens :<br />
Quelles sont les valeurs de <strong><span style="color:#800080;">Ratio</span></strong> et de <strong><span style="color:#339966;">Décalage</span></strong> qui permettent d&#8217;obtenir une plage de sorties définies ?<br />
<br />
Soient <em>Min</em> et <em>Max</em> les sorties minimales et maximales souhaitées.<br />
<em>Min</em> correspond à la valeur de la <strong>sortie </strong>lorsque l'<strong>entrée </strong>vaut <strong>-100%</strong>.<br />
<em>Max</em> correspond à la valeur de la <strong>sortie </strong>lorsque l'<strong>entrée </strong>vaut <strong>+100%</strong>.<br />
<br />
Les deux petites formules qui vont bien:<br />
<div class="formatter-container formatter-blockquote"><span class="formatter-title">Citation :</span><div class="formatter-content"><img src="https://opentx-doc.fr/images/maths/math_984_7c85d1badff0ba3b1558c783996ab0bf.png" style="vertical-align:-16px; display: inline-block ;" alt="{Ratio}= {{Max} - {Min}}/ 2" title="{Ratio}= {{Max} - {Min}}/ 2"/><br />
<br />
<img src="https://opentx-doc.fr/images/maths/math_984_9fc19fd22bc8e129f5c9940ea3e73c09.png" style="vertical-align:-16px; display: inline-block ;" alt="{Decalage}= {{Max} + {Min}} / 2" title="{Decalage}= {{Max} + {Min}} / 2"/></div></div><br />
<br />
Imaginons que l&#8217;on souhaite une plage de sorties allant de +10% à +80%.<br />
<br />
Ce que l'on souhaite:<br />
<table class="formatter-table" style="font-size:14px;width:220px;">
    <tr class="formatter-table-row">
        <th class="formatter-table-head">Entrée</th>
        <th class="formatter-table-head">Sortie</th>
        <th class="formatter-table-head">Variable</th>
    </tr>
    <tr class="formatter-table-row">
        <td class="formatter-table-col">-100%</td>
        <td class="formatter-table-col">+10%</td>
        <td class="formatter-table-col"><strong><em>Min = 10%</em></strong></td>
    </tr>
    <tr class="formatter-table-row">
        <td class="formatter-table-col">+100%</td>
        <td class="formatter-table-col">+80%</td>
        <td class="formatter-table-col"><strong><em>Max = 80%</em></strong></td>
    </tr>
</table><br />
<br />
Ce qui donne:<br />
<div class="formatter-container formatter-blockquote"><span class="formatter-title">Citation :</span><div class="formatter-content"><img src="https://opentx-doc.fr/images/maths/math_984_feb526cac6c55dcfe13db19eeed0f823.png" style="vertical-align:-16px; display: inline-block ;" alt="{Ratio}= {{Max} - {Min}}/ 2= {80% - 10%} / 2 = {70%} / 2 = 35%" title="{Ratio}= {{Max} - {Min}}/ 2= {80% - 10%} / 2 = {70%} / 2 = 35%"/><br />
<br />
<img src="https://opentx-doc.fr/images/maths/math_984_4e198c3fbbea18a35a1646b9229b21ff.png" style="vertical-align:-16px; display: inline-block ;" alt="{Decalage}= {{Max} + {Min}} / 2= {80%+10%} / 2 = {90%} / 2 = 45%" title="{Decalage}= {{Max} + {Min}} / 2= {80%+10%} / 2 = {90%} / 2 = 45%"/></div></div><br />
<br />
Petite vérification:<br />
<table class="formatter-table" style="font-size:14px;width:600px;">
    <tr class="formatter-table-row">
        <th class="formatter-table-head">Entrée</th>
        <th class="formatter-table-head">Formule</th>
        <th class="formatter-table-head">Calcul du ratio avant d'appliquer le décalage</th>
        <th class="formatter-table-head">Sortie</th>
    </tr>
    <tr class="formatter-table-row">
        <td class="formatter-table-col">-100%</td>
        <td class="formatter-table-col">(-100% x <strong><span style="color:#800080;">35%</span></strong>) +  <strong><span style="color:#339966;">45%</span></strong></td>
        <td class="formatter-table-col">-35% +  <strong><span style="color:#339966;">45%</span></strong></td>
        <td class="formatter-table-col">10%</td>
    </tr>
    <tr class="formatter-table-row">
        <td class="formatter-table-col">100%</td>
        <td class="formatter-table-col">(100% x <strong><span style="color:#800080;">35%</span></strong>) +  <strong><span style="color:#339966;">45%</span></strong></td>
        <td class="formatter-table-col">35% +  <strong><span style="color:#339966;">45%</span></strong></td>
        <td class="formatter-table-col">80%</td>
    </tr>
</table><br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-exemple-avec-des-valeurs-negatives">Exemple avec des valeurs négatives</h2><br />

Cela fonctionne bien évidement aussi avec des valeurs négatives. Il faut juste faire attention au signe dans les opérations.<br />
<br />
Prenons l&#8217;exemple d&#8217;une plage allant de -30% à +50%<br />
<br />
<table class="formatter-table" style="font-size:14px;width:220px;">
    <tr class="formatter-table-row">
        <th class="formatter-table-head">Entrée</th>
        <th class="formatter-table-head">Sortie</th>
        <th class="formatter-table-head">Variable</th>
    </tr>
    <tr class="formatter-table-row">
        <td class="formatter-table-col">-100%</td>
        <td class="formatter-table-col">-30%</td>
        <td class="formatter-table-col"><strong><em>Min = -30%</em></strong></td>
    </tr>
    <tr class="formatter-table-row">
        <td class="formatter-table-col">+100%</td>
        <td class="formatter-table-col">+50%</td>
        <td class="formatter-table-col"><strong><em>Max = 50%</em></strong></td>
    </tr>
</table><br />
<br />
<div class="formatter-container formatter-blockquote"><span class="formatter-title">Citation :</span><div class="formatter-content"><img src="https://opentx-doc.fr/images/maths/math_984_70a91e37260c74f9091864422aacbd9b.png" style="vertical-align:-16px; display: inline-block ;" alt="{Ratio} = {{Max} - {Min}}/ 2 = {50%-(-30%)} / 2 = {50%+30%} / 2  = {80%} / 2 = 40%" title="{Ratio} = {{Max} - {Min}}/ 2 = {50%-(-30%)} / 2 = {50%+30%} / 2  = {80%} / 2 = 40%"/><br />
<br />
<img src="https://opentx-doc.fr/images/maths/math_984_90eaaec887ea39324aea0d7f2a03a2fa.png" style="vertical-align:-16px; display: inline-block ;" alt="{Decalage} = {{Max} + {Min}} / 2 = {50%+(-30%)} / 2 = {50%-30%} / 2 = {20%} / 2 = 10%" title="{Decalage} = {{Max} + {Min}} / 2 = {50%+(-30%)} / 2 = {50%-30%} / 2 = {20%} / 2 = 10%"/></div></div><br />
<br />
<table class="formatter-table" style="font-size:14px;width:600px;">
    <tr class="formatter-table-row">
        <th class="formatter-table-head">Entrée</th>
        <th class="formatter-table-head">Formule</th>
        <th class="formatter-table-head">Calcul du ratio avant d'appliquer le décalage</th>
        <th class="formatter-table-head">Sortie</th>
    </tr>
    <tr class="formatter-table-row">
        <td class="formatter-table-col">-100%</td>
        <td class="formatter-table-col">(-100% x <strong><span style="color:#800080;">40%</span></strong>) +  <strong><span style="color:#339966;">10%</span></strong></td>
        <td class="formatter-table-col">-40% +  <strong><span style="color:#339966;">10%</span></strong></td>
        <td class="formatter-table-col">-30%</td>
    </tr>
    <tr class="formatter-table-row">
        <td class="formatter-table-col">100%</td>
        <td class="formatter-table-col">(100% x <strong><span style="color:#800080;">40%</span></strong>) +  <strong><span style="color:#339966;">10%</span></strong></td>
        <td class="formatter-table-col">40% +  <strong><span style="color:#339966;">10%</span></strong></td>
        <td class="formatter-table-col">50%</td>
    </tr>
</table><br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-exemple-avec-un-ratio-negatif">Exemple avec un ratio négatif</h2><br />

Le but  de cet exemple est de lever tout doute sur la signification de min/max pour ceux qui ne seraient pas trop à l'aise avec les maths.<br />
Avec une courbe descendante, la variable max est plus petite que la variable min. C'est normal.<br />
<br />
Prenons une plage allant de +80% à -40%.<br />
<br />
<table class="formatter-table" style="font-size:14px;width:220px;">
    <tr class="formatter-table-row">
        <th class="formatter-table-head">Entrée</th>
        <th class="formatter-table-head">Sortie</th>
        <th class="formatter-table-head">Variable</th>
    </tr>
    <tr class="formatter-table-row">
        <td class="formatter-table-col">-100%</td>
        <td class="formatter-table-col">+80%</td>
        <td class="formatter-table-col"><strong><em>Min = 80%</em></strong></td>
    </tr>
    <tr class="formatter-table-row">
        <td class="formatter-table-col">+100%</td>
        <td class="formatter-table-col">-40%</td>
        <td class="formatter-table-col"><strong><em>Max = -40%</em></strong></td>
    </tr>
</table><br />
<br />
<div class="formatter-container formatter-blockquote"><span class="formatter-title">Citation :</span><div class="formatter-content"><img src="https://opentx-doc.fr/images/maths/math_984_0bf8833441e87d5ebdfac7b16e724393.png" style="vertical-align:-16px; display: inline-block ;" alt="{Ratio} = {Max - Min} / 2 = {-40%-80%} / 2 = {-120%} / 2 = -60%" title="{Ratio} = {Max - Min} / 2 = {-40%-80%} / 2 = {-120%} / 2 = -60%"/><br />
<br />
<img src="https://opentx-doc.fr/images/maths/math_984_f2496510c2b66f7dbbd038b9c655e1ed.png" style="vertical-align:-16px; display: inline-block ;" alt="{Decalage} = {Max + Min} / 2 = {-40%+80%} / 2 = {40%} / 2 = 20%" title="{Decalage} = {Max + Min} / 2 = {-40%+80%} / 2 = {40%} / 2 = 20%"/></div></div><br />
<br />
<table class="formatter-table" style="font-size:14px;width:600px;">
    <tr class="formatter-table-row">
        <th class="formatter-table-head">Entrée</th>
        <th class="formatter-table-head">Formule</th>
        <th class="formatter-table-head">Calcul du ratio avant d'appliquer le décalage</th>
        <th class="formatter-table-head">Sortie</th>
    </tr>
    <tr class="formatter-table-row">
        <td class="formatter-table-col">-100%</td>
        <td class="formatter-table-col">(-100% x <strong><span style="color:#800080;">-60%</span></strong>) +  <strong><span style="color:#339966;">20%</span></strong></td>
        <td class="formatter-table-col">60% +  <strong><span style="color:#339966;">20%</span></strong></td>
        <td class="formatter-table-col">80%</td>
    </tr>
    <tr class="formatter-table-row">
        <td class="formatter-table-col">100%</td>
        <td class="formatter-table-col">(100% x <strong><span style="color:#800080;">-60%</span></strong>) +  <strong><span style="color:#339966;">20%</span></strong></td>
        <td class="formatter-table-col">-60% +  <strong><span style="color:#339966;">20%</span></strong></td>
        <td class="formatter-table-col">-40%</td>
    </tr>
</table><br />
<br />
Et voilà ! Bon vols &#8230;<br />
<br />
<img src="https://opentx-doc.fr/images/smileys/coyotte.png" alt=":coyotte" title=":coyotte" class="smiley" /> & <img src="https://opentx-doc.fr/images/smileys/lapinfou.gif" alt=":lapinfou" title=":lapinfou" class="smiley" />]]></description>
			<pubDate>Tue, 09 Nov 2021 13:54:02 +0100</pubDate>
			
		</item>
		
		<item>
			<title><![CDATA[Afficher une checklist au démarrage]]></title>
			<link>https://opentx-doc.fr/wiki/afficher-une-checklist-au-demarrage</link>
			<guid>https://opentx-doc.fr/wiki/afficher-une-checklist-au-demarrage</guid>
			<description><![CDATA[<span style="color:#950024;"><strong>Article écrit par LapinFou en Juin 2019 et corrigé en Janvier 2021</strong></span><br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-presentation">Présentation</h2><br />

Une fonctionnalité un peu méconnue d'OpenTX est la possibilité de pouvoir afficher une note d'information au démarrage de la radio au moment du chargement d'un modèle. Elle est apparue avec la branche <em>OpenTX 2.x</em>.<br />
L'intérêt est limité pour un trainer de base comme par exemple un Calmato. Par contre, cela peut avoir un intérêt certain pour des modèles plus complexes comme les planeurs, les hélicoptères, les drones, les modèles équipés d'un gyro, etc.<br />
<br />
Voici un exemple lors de la sélection de mon BiXler 3.<br />
<a href="https://opentx-doc.fr/upload/wiki_checklist_01.png" data-lightbox="formatter" class="formatter-lightbox"><img src="https://opentx-doc.fr/upload/wiki_checklist_01.png" alt="wiki_checklist_01" title="wiki_checklist_01" /></a><br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-creer-sa-checklist">Créer sa checklist</h2><br />

Tout d'abord, il faut créer le fichier. Rien de plus simple avec les dernières versions de Companion, il suffit de cliquer sur le bouton ci-dessous:<br />
<br />
<a href="https://opentx-doc.fr/upload/wiki_checklist_02.png" data-lightbox="formatter" class="formatter-lightbox"><img src="https://opentx-doc.fr/upload/wiki_checklist_02.png" alt="wiki_checklist_02" title="wiki_checklist_02" /></a><br />
<br />
Cela va ouvrir une fenêtre d'édition :<br />
<br />
<a href="https://opentx-doc.fr/upload/wiki_checklist_03.png" data-lightbox="formatter" class="formatter-lightbox"><img src="https://opentx-doc.fr/upload/wiki_checklist_03.png" alt="wiki_checklist_03" title="wiki_checklist_03" /></a><br />
<br />
Pour ceux qui utilisent une version plus ancienne de Companion, il n'y a pas forcément ce bouton magique. <img src="https://opentx-doc.fr/images/smileys/smile.png" alt=":)" title=":)" class="smiley" /><br />
Ce qu'il faut faire c'est créer un fichier <em>.txt</em> dans le dossier <strong>MODELS </strong>de votre carte SD.<br />
Le nom du fichier doit correspondre au nom de votre modèle.<br />
Dans notre exemple, le fichier sera "<strong><em>BiXler-3.txt</em></strong>".<br />
<br />
Exemple sur ma carte SD:<br />
<a href="https://opentx-doc.fr/upload/wiki_checklist_07.png" data-lightbox="formatter" class="formatter-lightbox"><img src="https://opentx-doc.fr/upload/wiki_checklist_07.png" alt="wiki_checklist_07" title="wiki_checklist_07" /></a><br />
<br />
<img src="https://opentx-doc.fr/images/smileys/warning.png" alt=":warn" title=":warn" class="smiley" /> Si le nom de votre modèle contient un espace, alors il faut remplacer l'espace par un "<em>underscore</em>" ou en bon Français "<em>blanc souligné</em>", c'est le caractère "_".<br />
Par exemple si le nom de votre modèle est "<em><span style="color:#339966;">Sukhoi SU26M</span></em>", alors le fichier texte à créer est "<em><span style="color:#339966;">Sukhoi</span><span style="color:#F04343;">_</span><span style="color:#339966;">SU26M</span><span style="color:#F04343;">.txt</span></em>".<br />
<br />
<span class="message-helper notice"><span style="text-decoration: underline;">Astuces:</span><br />
Pour afficher la flèche <span style="color:#800080;">↑</span>, il faut écrire <span style="color:#800080;">\up</span><br />
Pour afficher la flèche <span style="color:#800080;">↓</span>, il faut écrire <span style="color:#800080;">\dn</span><br />
Pour afficher le caractère <span style="color:#800080;">é</span> il faut écrire <span style="color:#800080;">\200</span><br />
Pour afficher le caractère <span style="color:#800080;">è</span>, il faut écrire <span style="color:#800080;">\201</span><br />
Pour afficher le caractère <span style="color:#800080;">à</span>, il faut écrire <span style="color:#800080;">\202</span><br />
Pour afficher le caractère <span style="color:#800080;">î</span>, il faut écrire <span style="color:#800080;">\203</span><br />
Pour afficher le caractère <span style="color:#800080;">ç</span>, il faut écrire <span style="color:#800080;">\204</span><br />
Pour afficher le caractère <span style="color:#800080;">\</span>,il faut écrire <span style="color:#800080;">\\</span></span><br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-activer-la-checklist">Activer la checklist</h2><br />

Pour activer la checklist sous Companion :<br />
<br />
<a href="https://opentx-doc.fr/upload/wiki_checklist_04.png" data-lightbox="formatter" class="formatter-lightbox"><img src="https://opentx-doc.fr/upload/wiki_checklist_04.png" alt="wiki_checklist_04" title="wiki_checklist_04" /></a><br />
<br />
Pour activer la checklist sur la radio :<br />
<br />
<a href="https://opentx-doc.fr/upload/wiki_checklist_05.png" data-lightbox="formatter" class="formatter-lightbox"><img src="https://opentx-doc.fr/upload/wiki_checklist_05.png" alt="wiki_checklist_05" title="wiki_checklist_05" /></a><br />
<br />
Pour rouvrir la checklist, il suffit de faire un appui long sur la touche <strong>ENT</strong><br />
<br />
<a href="https://opentx-doc.fr/upload/wiki_checklist_06.png" data-lightbox="formatter" class="formatter-lightbox"><img src="https://opentx-doc.fr/upload/wiki_checklist_06.png" alt="wiki_checklist_06" title="wiki_checklist_06" /></a><br />
<a href="https://opentx-doc.fr/upload/wiki_checklist_08.png" data-lightbox="formatter" class="formatter-lightbox"><img src="https://opentx-doc.fr/upload/wiki_checklist_08.png" alt="wiki_checklist_08" title="wiki_checklist_08" /></a><br />
<br />
<img src="https://opentx-doc.fr/images/smileys/lapinfou.gif" alt=":lapinfou" title=":lapinfou" class="smiley" /><br />]]></description>
			<pubDate>Tue, 19 Jan 2021 15:39:41 +0100</pubDate>
			
		</item>
		
		<item>
			<title><![CDATA[Piloter un 2 axes en mode 3 axes]]></title>
			<link>https://opentx-doc.fr/wiki/piloter-un-2-axes-en-mode-3-axes</link>
			<guid>https://opentx-doc.fr/wiki/piloter-un-2-axes-en-mode-3-axes</guid>
			<description><![CDATA[<h2 class="formatter-title wiki-paragraph-2" id="paragraph-presentation-du-probleme">Présentation du problème</h2><br />

En général, lorsque l'on pilote un avion 2 axes en mode 3 axes, on se "contente"<br />
<ul class="formatter-ul">
    <li class="formatter-li"> Soit d'utiliser une seule commande pour la direction (AIL ou DIR)
    </li><li class="formatter-li"> Soit d'additionner les deux commandes afin de permettre au pilote d'utiliser le manche de son choix.  Evidemment, s'il utilise les deux manches, la valeurs s'additionnent et l'on perd en finesse.<br />
</li></ul><br />
<br />
Un utilisateur d'OpenTx a émis le souhait suivant :<br />
<div class="formatter-container formatter-blockquote"><span class="formatter-title">Citation :</span><div class="formatter-content">Le mieux serai que les 2 sticks agissent de la même façon sur les gouvernes.<br />
<br />
Si dans la même direction :<br />
-> on prends le max entre le stick gauche et le stick droit.<br />
-> ou si c'est plus simple, on priorise le stick de la gouverne (cf ci dessous pour une explication)</div></div><br />
<br />
Vous en avez rêvé ? OpenTx le permet ! <img src="https://opentx-doc.fr/images/smileys/smile.png" alt=":)" title=":)" class="smiley" /><br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-solution">Solution</h2><br />

Le problème  principal consiste à trouver un moyen de trouver le max entre Dir et Ail.<br />
Comme on en peut pas faire de test (ou que c'est compliqué), une petite recherche sur le net nous indique que le maximum entre deux nombres peut se calculer ainsi :<br />
<div class="formatter-container formatter-code"><span class="formatter-title">Code :</span><div class="formatter-content"><code><span style="color: #000000">
Max(a,b)&nbsp;=&nbsp;(a&nbsp;+&nbsp;b&nbsp;+&nbsp;Abs(b-a))&nbsp;/&nbsp;2</span>
</code></div></div><br />
<br />
Si  dans cette formule je remplace le <em>a</em> par AIL pour "Aileron" et le <em>b</em> par DIR pour "direction", la formule devient<br />
<div class="formatter-container formatter-code"><span class="formatter-title">Code :</span><div class="formatter-content"><code><span style="color: #000000">
Max(AIL,&nbsp;DIR)&nbsp;=&nbsp;(&nbsp;AIL&nbsp;+&nbsp;DIR&nbsp;+&nbsp;Abs(DIR&nbsp;-&nbsp;AIL))&nbsp;/&nbsp;2</span>
</code></div></div><br />
<br />
Bon.. Ben il n'y a qu'a traduire cela en Opentx.<br />
<br />
Pour simplifier les choses nous allons travailler en valeur absolue et restituer le signe après calculs...<br />
Pour simplifier également, je n'ai gardé du modèle que ce qui concernait le problème.. J'ai viré les gaz, la profondeur, ...<br />
<br />
<h3 class="formatter-title wiki-paragraph-3" id="paragraph-les-entrees">Les entrées</h3><br />

<img src="https://opentx-doc.fr/upload/max-ail-dir-1.jpg" alt="max-ail-dir-1" title="max-ail-dir-1" /><br />
<br />
<strong>E1</strong> est l'entrée classique liée au manche de direction.<br />
<strong>E10 : A</strong> est l'entrée associée à la commande des ailerons. Sa particularité est d'utiliser la fonction |x| qui renvoie la valeur absolue de la position de la commande.<br />
<strong>E11 : D</strong> est le pendant de E10:A mais associé à la commande de direction.<br />
Nous reviendrons sur E12 un peu plus tard...<br />
<br />
<h3 class="formatter-title wiki-paragraph-3" id="paragraph-le-plat-pardon-les-mixages">Le plat... pardon... les mixages</h3><br />

<img src="https://opentx-doc.fr/upload/max-ail-dir-2.jpg" alt="max-ail-dir-2" title="max-ail-dir-2" /><br />
<br />
<strong>Voie 10</strong><br />
La voie 10 calcule DIR - AIL.<br />
Du coup, on peut revenir sur l'entrée <strong>E12</strong> qui calcule la valeur absolue de la voie 10 et donc Abs(DIR - AIL)... <img src="https://opentx-doc.fr/images/smileys/smile.png" alt=":)" title=":)" class="smiley" /><br />
<br />
<strong>Voie 11</strong><br />
Les 3 premières lignes de la voie 11 calculent AIL + DIR + Abs(DIR - AIL)<br />
La 4e ligne divise le résultat par deux (on multiplie par un facteur de 50% )<br />
<br />
A ce stade, nous avons le maximum absolu entre AIL et DIR.<br />
La 5e ligne restitue le signe en fonction de L01 qui détecte si DIR < 0 ou pas... (Voir interrupteurs logiques ci-dessous )<br />
<br />
<h3 class="formatter-title wiki-paragraph-3" id="paragraph-les-interrupteurs-logiques">Les interrupteurs logiques</h3><br />

<img src="https://opentx-doc.fr/upload/max-ail-dir-3.jpg" alt="max-ail-dir-3" title="max-ail-dir-3" /><br />
<br />
<strong>L01</strong> détecte  le signe du manche de direction ce qui permet d'applique ce signe via la 5e ligne de la voie 11.<br />
<br />
Reste un problème à résoudre : Si les deux manches vont dans des sens opposés, c'est DIR qui prime.<br />
Il faut donc détecter cette divergence.<br />
En faits c'est assez simple : dans une multiplication, si les deux opérandes sont de même signe, le résultat est toujours positif.<br />
Donc on multiplie DIR par AIL. Si le résultat est < 0, c'est qu'ils ne vont pas dans le même sens.<br />
<br />
La <strong>voie 12</strong> calcule AIL x DIR<br />
Et l'interrupteur logique L02 détecte le signe du résultat.<br />
<br />
La <strong>voie 1</strong> contient le résultat final :<br />
- Soit la valeur du manche de Direction<br />
- Soit le Maximum entre DIR et AIL si les deux manches vont dans le même sens.<br />
<br />
CQFC (Ce qu'il fallait configurer )  <img src="https://opentx-doc.fr/images/smileys/smile.png" alt=":)" title=":)" class="smiley" /><br />
<br />
<img src="https://opentx-doc.fr/images/smileys/coyotte.png" alt=":coyotte" title=":coyotte" class="smiley" />]]></description>
			<pubDate>Tue, 01 Dec 2020 10:11:36 +0100</pubDate>
			
		</item>
		
		<item>
			<title><![CDATA[Coupure moteur]]></title>
			<link>https://opentx-doc.fr/wiki/coupure-moteur</link>
			<guid>https://opentx-doc.fr/wiki/coupure-moteur</guid>
			<description><![CDATA[<span style="color:#950024;"><strong>Article écrit par LapinFou en Mars 2019.</strong></span><br />
<br />
Salut les amis,<br />
<br />
Voici un petit tuto afin de vous proposer une sécurité moteur qui fonctionne aussi bien avec un moteur électrique qu'avec un thermique.<br />
Personnellement je n'aime pas utiliser les fonctions spéciales "<strong>Remplacer VoieXX</strong>". D'ailleurs j'ai coché l'option "<strong>nooverridech</strong>" pour tout simplement faire disparaître cette fonction.<br />
<br />
Pourquoi me direz-vous ?<br />
Car cette fonction est appliquée presque en tout dernier dans les mixages d'OpenTX. Cela veut dire que le seul paramètre utilisé est "Neutre PPM". Cette fonction ne tient compte ni des limites, ni de la direction définie dans le menu SORTIES. Donc, si vous mettez -100% sans faire attention (surtout sur un moteur thermique), non seulement le servo peut partir dans le mauvais sens, mais en plus au-delà de ses limites mécaniques...   <img src="https://opentx-doc.fr/images/smileys/wow.png" alt=":o" title=":o" class="smiley" /><br />
<br />
<a href="https://opentx-doc.fr/upload/coupure_moteur_-_diagramme.png" data-lightbox="formatter" class="formatter-lightbox"><img src="https://opentx-doc.fr/upload/coupure_moteur_-_diagramme.png" alt="coupure_moteur_-_diagramme" title="coupure_moteur_-_diagramme" /></a><br />
<br />
A mon sens, il est bien plus propre d'utiliser REMPLACER dans le mixage des gaz. Dans ce cas, tous vos réglages définis dans le menu SORTIES seront bien pris en compte.<br />
<br />
Cette fonction existe toujours, car certains contrôleurs ont besoin d'un signal encore plus petit que le gaz minimum pour passer en mode "basse consommation". Ex: les débattements gaz vont de -100% à +100%, mais vous pouvez (grâce la fonction spéciale "<strong>Remplacer VoieXX</strong>") forcer -125%. Ainsi le contrôleur consomme un minimum en attendant le début d'une compétition. Pour conclure, sauf si vous savez exactement ce que vous faites et que vous avez un besoin peu commun et bien précis, je vous déconseille cette fonction spéciale.<br />
<br />
Si vous ne comprenez pas de quoi je parle, alors je vous invite très vivement à regarder cette vidéo: <a href="https://youtu.be/foG3JUOPrJY?list=PLAzlGHCbKT8afkYdwZRL27O4baayvpHeQ"><strong>OpenTX en Français - Annexe1 - Diagrammes de fonctionnement</strong></a><br />
Les diagrammes sont disponibles en téléchargement ici: <a href="https://opentx-doc.fr/wiki/diagrammes-de-fonctionnement"><strong>Diagrammes de fonctionnement</strong></a><br />
<br />
Voici comment je réalise mes coupures moteurs:<br />
<br />
<a href="https://opentx-doc.fr/upload/coupure_moteur_-_reglages.png" data-lightbox="formatter" class="formatter-lightbox"><img src="https://opentx-doc.fr/upload/coupure_moteur_-_reglages.png" alt="coupure_moteur_-_reglages" title="coupure_moteur_-_reglages" /></a><br />
<br />
L'inter logique L1 correspond à la position du manche de Gaz sans tenir compte des trims et autres:<br />
L1 est <strong>VRAI </strong>→ le manche de gaz est en bas (en-dessous de -99%, vous pouvez mettre -98% si c'est trop sensible)<br />
L1 est <strong>FAUX </strong>→ le manche n'est pas complètement en bas<br />
<br />
L'inter logique L2 correspond à l'état du moteur:<br />
L2 est <strong>VRAI </strong>→ le moteur tourne<br />
L2 est <strong>FAUX </strong>→ alors le moteur est coupé (sécurité moteur active)<br />
<br />
Dans cet exemple, pour activer le moteur il faut que le manche de gaz soit tout en bas (-100%) et que l'inter SF soit en position ↓<br />
L'astuce est de reboucler le OU sur lui-même tant que SF est en position ↓.<br />
<br />
J'ai aussi agrémenté de 2 fonctions spéciales pour exécuter des annonces vocales.<br />
<br />
<strong>IMPORTANT:</strong> il faut absolument que REMPLACER soit la dernière ligne du mixage gaz.<br />
<br />
Voici les fichiers EEPE comme exemple:<br />
<a href="https://opentx-doc.fr/upload/coupe_moteur_otx-2_0.eepe.zip"><strong>Coupe Moteur OTX-2.0.eepe.zip</strong></a><br />
<a href="https://opentx-doc.fr/upload/coupe_moteur_otx-2_1.eepe.zip"><strong>Coupe Moteur OTX-2.1.eepe.zip</strong></a><br />
<br />
<img src="https://opentx-doc.fr/images/smileys/lapinfou.gif" alt=":lapinfou" title=":lapinfou" class="smiley" />]]></description>
			<pubDate>Mon, 22 Jun 2020 09:21:41 +0200</pubDate>
			
		</item>
		
		<item>
			<title><![CDATA[Programmation d'un modèle BNF]]></title>
			<link>https://opentx-doc.fr/wiki/programmation-d-un-modele-bnf</link>
			<guid>https://opentx-doc.fr/wiki/programmation-d-un-modele-bnf</guid>
			<description><![CDATA[<span style="color:#950024;"><strong>Article écrit par LapinFou en Août 2015.</strong></span><br />
<br />
<span class="message-helper notice"><strong>Pour ceux qui ont des problèmes de gaz non fonctionnel avec leur module Orange, je vous invite à aller voir ici: <a href="http://frskytaranis.forumactif.org/t4955-multi-orange-ou-comment-donner-une-2nd-vie">Multi Orange (ou comment donner une 2nd vie)</a></strong></span><br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-les-modules-tx">Les modules TX</h2><br />

Comme d'autres possesseurs de Taranis, je viens d'acquérir un module 8 voies <a href="https://www.hobbyking.com/hobbyking/store/uh_viewItem.asp?idProduct=61212"><strong>OrangeRX DSMX/DSM2/Devo</strong></a> afin de profiter de la gamme BNF.<br />
<br />
Pour ceux souhaitant une compatibilité parfaite Spektrum, il y a cela: <a href="http://frskytaranis.forumactif.org/t1437-module-jr-hack-spektrum-dsmx-dsm2-model-match-pour-taranis"><strong>Module JR Hack Spektrum DSMX/DSM2 model match pour TARANIS</strong></a>, par contre c'est seulement 6 voies...<br />
<br />
Il y a même encore mieux, les modules Multi qui supportent des dizaines de protocoles différents → <a href="https://github.com/pascallanger/DIY-Multiprotocol-TX-Module"><strong>Multiprotocol TX Module</strong></a><br />
Par contre, personnellement, je n'utiliserais pas ce module pour un modèle onéreux (je n'aurais pas confiance sur la longue portée).<br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-introduction">Introduction</h2><br />

Je dois recevoir une petite Ladybird d'occasion lundi prochain. Afin de m'y préparer, j'ai cherché des infos pour que la Taranis se comporte comme une radio <em>Spektrum DX5/DX6</em>.<br />
Les informations étant dispersées un peu partout, je vous propose un article pour ceux qui serait débutant comme moi dans le monde BNF.<br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-reglages-radio">Réglages radio</h2><br />

Tout d'abord, il faut couper le module RF interne et configurer le <strong>module TX Orange</strong>.<br />
<span style="text-decoration: underline;">Important:</span> Si vous utilisez un <strong>Hack Module</strong>, il faut choisir DSM2/DSMX.<br />
<br />
<strong>Protocole: PPM<br />
Voies: 1-8<br />
Longueur de trame: 22.5ms<br />
Polarité: positive<br />
Impulsion: 300µs</strong><br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-reglages-generaux">Réglages généraux</h2><br />

Comme la voie 1 est utilisée pour les gaz, je m'en sert pour activer le Chrono 1 (mode proportionnel à la position des Gaz).<br />
J'utilise aussi l'inter logique L2 (VRAI = sécurité active; FAUX = sécurité désactivée) pour le Chrono 2, afin d'avoir le temps de vol.<br />
<br />
<a href="https://opentx-doc.fr/upload/wiki_prog_bnf_01.png" data-lightbox="formatter" class="formatter-lightbox"><img src="https://opentx-doc.fr/upload/wiki_prog_bnf_01.png" alt="wiki_prog_bnf_01" title="wiki_prog_bnf_01" /></a><br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-les-phases-de-vol">Les Phases de Vol</h2><br />

Après j'utilise 3 phases de vol, pour les modes <strong>Facile</strong>, <strong>Normal </strong>et <strong>Expert</strong>.<br />
On peut faire différemment mais ainsi, on a l'avantage que le mode s'affiche sur l'écran de la Taranis.<br />
<br />
<a href="https://opentx-doc.fr/upload/wiki_prog_bnf_02.png" data-lightbox="formatter" class="formatter-lightbox"><img src="https://opentx-doc.fr/upload/wiki_prog_bnf_02.png" alt="wiki_prog_bnf_02" title="wiki_prog_bnf_02" /></a><br />
<br />
L'ordre des entrées/mixages chez Spektrum est <strong>GAPD</strong>.<br />
J'ai lu sur RCGroups que l'ordre à envoyer devait être <em>-100%/+25%/+100%</em> pour changer entre les modes <em>Facile/Normal/Expert</em> (apriori <em>-100%/0%/+100%</em> devrait aussi marcher).<br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-les-entrees">Les Entrées</h2><br />

C'est ici, que vous devez rajouter les dual rates/expo si besoin.<br />
J'utilise aussi l'inter <strong>SH</strong> pour le mode "Panic" de certains modèles Spektrum.<br />
<br />
<a href="https://opentx-doc.fr/upload/wiki_prog_bnf_04.png" data-lightbox="formatter" class="formatter-lightbox"><img src="https://opentx-doc.fr/upload/wiki_prog_bnf_04.png" alt="wiki_prog_bnf_04" title="wiki_prog_bnf_04" /></a><br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-les-mixages">Les Mixages</h2><br />

Dans les mixages, j'ai ajouté une sécurité pour couper le moteur.<br />
C'est ici qu'il faut ajouter les courbes pour les "Blades" à pas collectif si nécessaire.<br />
<br />
<a href="https://opentx-doc.fr/upload/wiki_prog_bnf_05.png" data-lightbox="formatter" class="formatter-lightbox"><img src="https://opentx-doc.fr/upload/wiki_prog_bnf_05.png" alt="wiki_prog_bnf_05" title="wiki_prog_bnf_05" /></a><br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-les-sorties">Les Sorties</h2><br />

La Taranis a par défaut une sortie de débattement plus importante que les autres marques.<br />
Dans le cas qui nous concerne <strong>100% Spektrum = 80% FrSky</strong>. Toutes les limites doivent être à <strong>±80%</strong>.<br />
<br />
<span class="message-helper notice"><strong>Les valeurs exactes à la µs près, sont ±78.2%. Sur ma LadyBird DSM2 les moteurs s'arrêtent, si je met 80% en limite + gaz à fond.<br />
<span style="color:#FF0000;">Mon conseil: utilisez ±78.2% au lieu de ±80% (colonnes verte et bleue ci-dessous).</span></span><br />
<span class="message-helper success">Si vous utilisez le module Multi protocole avec un firmware supérieur ou égal à la version 1.2.0.12, alors il faut utiliser ±100%.<br />
Le firmware du Multi se charge de faire la mise à l'échelle.</strong></span><br />
Chez Spektrum, les ailerons et la dérive fonctionnent à l'envers. Donc, il faut <span style="text-decoration: underline;">inverser les voies 2 et 4</span>.<br />
Si l'ESC ne s'arme pas correctement, vous pouvez changer les fins de courses sur la voie 1 (gaz) de <em>-78.2% → +78.2%</em>  en <strong>-100% → +78.2%</strong>.<br />
<br />
<a href="https://opentx-doc.fr/upload/wiki_prog_bnf_06.png" data-lightbox="formatter" class="formatter-lightbox"><img src="https://opentx-doc.fr/upload/wiki_prog_bnf_06.png" alt="wiki_prog_bnf_06" title="wiki_prog_bnf_06" /></a><br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-securite-moteur">Sécurité moteur</h2><br />

Voici les inters logiques pour la coupure moteur. Il faut que le manche des gaz soit en-dessous de -95% (tout en bas) ET l'inter SF doit être en position ↓ pour dés-enclencher la sécurité moteur.<br />
<br />
<a href="https://opentx-doc.fr/upload/wiki_prog_bnf_07.png" data-lightbox="formatter" class="formatter-lightbox"><img src="https://opentx-doc.fr/upload/wiki_prog_bnf_07.png" alt="wiki_prog_bnf_07" title="wiki_prog_bnf_07" /></a><br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-liens">Liens</h2><br />

Un petit article pour le Blade 130X : <a href="https://opentx-doc.fr/wiki/bnf-blade-130x"><strong>BNF Blade 130X</strong></a><br />
<br />
Voili, voilou !!<br />
J'espère que cet article aidera les débutants.<br />
<br />
<img src="https://opentx-doc.fr/images/smileys/lapinfou.gif" alt=":lapinfou" title=":lapinfou" class="smiley" />]]></description>
			<pubDate>Sat, 28 Mar 2020 11:39:50 +0100</pubDate>
			
		</item>
		
		<item>
			<title><![CDATA[Réglages des Variables Globales]]></title>
			<link>https://opentx-doc.fr/wiki/reglages-des-variables-globales</link>
			<guid>https://opentx-doc.fr/wiki/reglages-des-variables-globales</guid>
			<description><![CDATA[<span style="color:#950024;"><strong>Article écrit par Mipel en Août 2019.<br />
Ajout de la section 6.III par LapinFou en Août 2019.</strong></span><br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-variable-globale-definition">Variable Globale: définition</h2><br />

Une Variable Globale (VG) est une valeur modifiable à volonté utilisable partout dans un même programme et qui permet de remplacer une valeur fixe (comme un ratio par exemple). Son intérêt majeur est de permettre de ne modifier qu'à un seul endroit une valeur utilisée plusieurs fois dans un programme.<br />
Prenons pour exemple un taux d'exponentiel de 30% appliqué sur la dérive, les ailerons, la profondeur... Au lieu d'intervenir sur chacune des entrées, il suffit de modifier notre Variable Globale une seule fois pour l'appliquer partout.<br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-introduction">Introduction</h2><br />

<span class="message-helper warning">Ce tuto est basé sur Companion, j'utilise l'interrupteur 6 positions disponible sur la gamme des Horus car il me permet de choisir la Variable Globale à ajuster en tournant le bouton. Si votre radio n'en est pas pourvue, n'importe quel autre inter fera l'affaire, à vous d'adapter le principe à votre convenance.</span><br />
Sur les modèles volants, la méthode classique consiste à effectuer le réglage d'un paramètre sur la radio, faire un vol d'essai, se poser et procéder aux ajustements nécessaires et repartir pour un nouvel essai ce qui peut devenir fastidieux à la longue voire même dangereux si les réglages provisoires rendent le modèle difficile à piloter.<br />
Voyons une solution qui permet d'effectuer les ajustements de certains paramètres pendant le vol, rendant ainsi le réglage du modèle plus rapide et efficace. Nous l'appliquerons à la compensation à la profondeur pour ce tuto, le principe étant le même pour le taux d'exponentiel, la configuration vitesse ou durée ou encore le différentiel ailerons. Ce principe peut, bien sur, être adapté à tous modèles volants, roulants ou navigants.<br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-compensation-a-la-profondeur">Compensation à la profondeur</h2><br />

Sur un avion ou un planeur, on peut disposer de volets (ou d'aérofreins) qui sont activés pour ralentir le modèle lors de la phase d'atterrissage. Ces volets peuvent être couplés aux ailerons (planeurs) pour le mettre en situation communément appelée "Crocodile" (ou Butterfly), les volets étant abaissés et les ailerons relevés. Cette configuration freine le modèle et permet d'effectuer des atterrissages de précision tout en lui conservant une bonne man&#339;uvrabilité. Par contre, elle entraîne la plupart du temps un changement radical de l'assiette du modèle, le plus souvent à cabrer. Il faut donc compenser automatiquement avec un peu de piqueur sur la profondeur lors de la sortie des volets.<br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-analyse-du-premier-vol">Analyse du premier vol</h2><br />

<span class="message-helper notice">L'activation de la sortie des volets (inter, slider, manche des gaz...) ainsi que le réglage adéquat ne font pas l'objet de ce tuto, je pars du principe que vous avez étudié ce point au préalable.</span><br />
Montez votre modèle à une altitude confortable (au moins 100m), effectuez une mise en palier (vol horizontal) face au vent puis sortez les volets. Observez le comportement du modèle qui va cabrer (en règle générale) plus ou moins fortement et rentrez aussitôt les volets, sauf bien sur si votre modèle ne subit aucune variation, ce qui serait très surprenant. Le niveau de cabrage vous donne une indication sur le taux de compensation à appliquer en piqueur sur la profondeur car plus il se cabrera fort et rapidement, plus il faudra augmenter la compensation. Pour ma part, un modèle bien réglé sera très fortement freiné avec un léger angle en piqué permettant ainsi de doser son taux de descente en soutenant légèrement à la profondeur. Sur les planeurs en mode "Crocodile" bien réglé, on peut même obtenir une descente en parachute, quasi verticale et des atterrissages très précis pour le vol de pente par exemple.<br />
<span class="message-helper notice">Si le modèle part en piqué lors de l'essai, il faudra bien sur appliquer une compensation à cabrer sur la profondeur.</span><br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-programmation-avec-companion">Programmation avec Companion</h2><br />

Nous allons utiliser une Variable Globale nommée Cpf (pour compensation profondeur) et 3 fonctions spéciales activées par l'inter 6 positions qui nous permettrons de l'ajuster, de lire sa valeur et d'annoncer le nom du réglage en cours.<br />
<span class="message-helper warning">Pour ce tuto, j'ai volontairement simplifié la programmation du modèle en ne représentant que la voie 4 pour la profondeur et les voies 5 et 7 pour les volets qui sont commandés par le manche des gaz (mode 1). Les volets sont sortis lorsque le manche de gaz est en bas.</span><br />
Dans l'onglet Configuration, nous allons cocher la case 6po pour surveiller la position de l'inter 6 positions. Par défaut, il devra être en position 1 (aucune action) sinon une alerte apparaîtra :<br />
<br />
<img src="https://opentx-doc.fr/upload/wiki_reglages_en_vol_config_alertes.png" alt="wiki_reglages_en_vol_config_alertes" title="wiki_reglages_en_vol_config_alertes" /><br />
<br />
<span style="text-decoration: underline;">Info sur la position des potentiomètres:</span><br />
Dans la position <strong>Auto</strong>, la radio mémorise la position du potentiomètre au moment de l'extinction et vérifie que c'est la même au redémarrage.<br />
Dans la position <strong>Manuel</strong>, c'est à vous de définir la position voulue par défaut puis de faire un appui sur la touche ENTER pour mémoriser la position du potentiomètre concerné.<br />
<br />
<h3 class="formatter-title wiki-paragraph-3" id="paragraph-la-variable-globale">La Variable Globale</h3><br />

Dans l'onglet "Phases de vol", créons une VG1 nommée Cpf dont la valeur sera fixée provisoirement à 20.<br />
<span class="message-helper notice">La valeur affectée à la VG1 Cpf doit correspondre à une compensation de 3 ou 4 mm sur le volet de profondeur, volets sortis. C'est une base de départ, le but de ce tuto étant de vous permettre d'affiner cette valeur pendant le vol.</span><br />
<br />
<img src="https://opentx-doc.fr/upload/wiki_reglages_en_vol_config_VG1.png" alt="wiki_reglages_en_vol_config_VG1" title="wiki_reglages_en_vol_config_VG1" /><br />
<br />
<h3 class="formatter-title wiki-paragraph-3" id="paragraph-les-entrees">Les Entrées</h3><br />

Rien de particulier, nous créons simplement une entrée pour la profondeur (Pfr) et une pour les volets (Flap).<br />
Dans cet exemple, sur la voie 3, c'est le manche des Gaz qui va activer les Flaps. Le trim est désactivé pour ne pas interférer sur le réglage. Le manche de gaz donne -100% en bas, 0% au milieu et +100% en haut, ce qui ne correspond pas au fonctionnement souhaité sur les volets. Pour obtenir 0% quand le manche de gaz est en haut et 100% quand il est en bas, il est nécessaire d'appliquer un ratio de +50% et un décalage de -50%.<br />
<br />
<img src="https://opentx-doc.fr/upload/wiki_reglages_en_vol_config_entrees.png" alt="wiki_reglages_en_vol_config_entrees" title="wiki_reglages_en_vol_config_entrees" /><br />
<br />
<h3 class="formatter-title wiki-paragraph-3" id="paragraph-les-mixages">Les Mixages</h3><br />

VOIE4, ligne 2: on ajoute l'entrée E3:Flap avec comme ratio -VG1:Cpf<br />
<br />
<img src="https://opentx-doc.fr/upload/wiki_reglages_en_vol_config_mixages.png" alt="wiki_reglages_en_vol_config_mixages" title="wiki_reglages_en_vol_config_mixages" /><br />
<br />
Lorsque nous baissons le manche de gaz, les volets sortent et la compensation est maintenant appliquée sur la profondeur. Si la compensation n'est pas dans le bon sens (cabré au lieu de piqué par exemple), il suffit d'utiliser <span style="color:#F04343;"><strong><span style="font-size: 20px;">+</span></strong></span>VG1:Cpf qui en inversera la valeur.<br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-ajuster-une-variable-globale">Ajuster une Variable Globale</h2><br />

Voici deux façons (entre-autres) d'ajuster une Variable tout en pilotant:<br />
<br />
<h3 class="formatter-title wiki-paragraph-3" id="paragraph-inter-6-positions">Inter 6 positions</h3><br />

Pour pouvoir modifier plusieurs Variables, je vais utiliser mon inter 6 positions:<br />
position 1 (6po_1), pas d'action d&#8217;où la surveillance de cette position décrite un peu plus haut. Une alerte indiquera que l'inter n'est pas dans cette position au démarrage de la radio.<br />
Position 2, compensation profondeur, position 3 pour le différentiel et ainsi de suite. Voici comment faire:<br />
Créons les Fonctions Spéciales (FS) :<br />
<br />
<img src="https://opentx-doc.fr/upload/wiki_reglages_en_vol_fonctions_speciales.png" alt="wiki_reglages_en_vol_fonctions_speciales" title="wiki_reglages_en_vol_fonctions_speciales" /><br />
<br />
1 - Quand l'inter est en position 2, on ajuste la VG1:Cpf à l'aide du Trm6 (source) disponible sur les Horus. Ce trim n'étant pas affecté à un manche, pas de risque de modifier les autres réglages de notre modèle. On peut ainsi augmenter ou diminuer la valeur de la VG en poussant ou en tirant le trim. La case ON cochée indique que cette fonction est utilisée, la décocher rend la fonction inactive.<br />
2 - On va lire et annoncer la valeur de la VG1:Cpf toutes les 3 secondes. Pratique pour savoir ou on en est dans le réglage sans avoir à regarder l'écran de la radio, ce qui est le but recherché.<br />
3 - On annonce le type de réglage en cours. Ici, je me suis fait une petite annonce vocale qui dit: "Réglage compensation" pour être sur de ce que je fais et ne pas confondre avec un autre réglage. Cette annonce ne sera lue qu'une fois, lors du choix de la position 2 sur l'interrupteur.<br />
<br />
Pas bien compliqué au final mais extrêmement pratique pour ajuster une variable sans avoir à quitter le modèle des yeux. Particulièrement efficace pour certains paramètres délicats comme la compensation par exemple.<br />
Même principe pour régler une autre Variable Globale en changeant la position de l'inter. Perso, la position 3 me sert à régler la cambrure des volets pour la position gratte ( recherche de pompes). Les fonctions spéciales seront évidemment à adapter en conséquence.<br />
<br />
<h3 class="formatter-title wiki-paragraph-3" id="paragraph-methode-avec-sc-source-lapinfou">Méthode avec SC (source LapinFou)</h3><br />

Prenons un exemple avec SC- pour ajuster la VG3 :<br />
<br />
<img src="https://opentx-doc.fr/upload/wiki_reglages_en_vol_lapin_fonctions_speciales.png" alt="wiki_reglages_en_vol_lapin_fonctions_speciales" title="wiki_reglages_en_vol_lapin_fonctions_speciales" /><br />
<br />
Quand <strong>SC-</strong> (au milieu), le trim de profondeur est désactivé, les actions sur le trim de profondeur ne changent plus sa valeur.<br />
Schématiquement, on a un aiguillage:<br />
<strong>!SC-, SC↑ ou SC↓ </strong>: les actions sur le bouton de trim incrémente/décrémente le trim de profondeur.<br />
<br />
<img src="https://opentx-doc.fr/upload/wiki_reglages_en_vol_lapin_simulateur_1.png" alt="wiki_reglages_en_vol_lapin_simulateur_1" title="wiki_reglages_en_vol_lapin_simulateur_1" /><br />
<br />
<strong>SC-</strong> : les actions sur le bouton de trim incrémente/décrémente la VG3.<br />
<br />
<img src="https://opentx-doc.fr/upload/wiki_reglages_en_vol_lapin_simulateur_2.png" alt="wiki_reglages_en_vol_lapin_simulateur_2" title="wiki_reglages_en_vol_lapin_simulateur_2" /><br />
<br />
Solution simple également qui peut être combinée avec la position du manche (ou du slider) qui commande les volets.<br />
<br />
<h3 class="formatter-title wiki-paragraph-3" id="paragraph-methode-automatique-source-lapinfou">Méthode automatique (source LapinFou)</h3><br />

Pour aller un peu plus loin, au lieu d'utiliser un interrupteur pour régler votre VG comme expliqué dans la section précédente, on peut utiliser un interrupteur logique.<br />
<br />
<span style="text-decoration: underline;">Le but est le suivant:</span><br />
En mode normal les actions sur le bouton de trim de la profondeur règlent, vous l'aurez deviné, le trim de profondeur.  <img src="https://opentx-doc.fr/images/smileys/grin.png" alt=":D" title=":D" class="smiley" /><br />
Ce que l'on voudrait c'est: <em>utiliser le trim de profondeur pour ajuster la compensation lorsque les volets sont déployés</em>.<br />
Rien de plus facile avec la puissance d'OpenTX !  <img src="https://opentx-doc.fr/images/smileys/cool.png" alt=":cool" title=":cool" class="smiley" /><br />
<br />
Dans notre exemple, les volets sont complètement déployés lorsque le manche de Gaz est complètement en bas.<br />
En langage OpenTX, les volets sont complètement déployés lorsque <em>E3:Flap</em> vaut -100%.<br />
<br />
Donc on peut considérer que dès que l'entrée <em>E3:Flap</em> n'est plus à 0%, cela n'a plus de sens de trimer la profondeur, mais devient utile pour régler la compensation.<br />
On peut décider (à vous de tester et de choisir la valeur qui vous correspond) que dès que les volets sont sortis à -20%, on veut régler la compensation à la profondeur.<br />
<img src="https://opentx-doc.fr/upload/wiki_reglages_en_vol_inter_logique.png" alt="wiki_reglages_en_vol_inter_logique" title="wiki_reglages_en_vol_inter_logique" /><br />
<br />
<img src="https://opentx-doc.fr/upload/wiki_reglages_en_vol_fonction_speciale_auto.png" alt="wiki_reglages_en_vol_fonction_speciale_auto" title="wiki_reglages_en_vol_fonction_speciale_auto" /><br />
<br />
Et voilà ! Le mode automatique est implémenté.  <img src="https://opentx-doc.fr/images/smileys/party.png" alt=":party" title=":party" class="smiley" /><br />
Volets rentrés → le trim de profondeur règle la profondeur.<br />
Volets sortis →  le trim de profondeur règle la compensation.<br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-conclusion">Conclusion</h2><br />

Au travers de ce tuto, on comprend l'étendue des possibilités offertes par OpenTX, et ce n'en est qu'une petite partie... Le plus "difficile" étant d'imaginer les fonctionnalités souhaitées  <img src="https://opentx-doc.fr/images/smileys/wink.png" alt=";)" title=";)" class="smiley" /><br />
<br />
Merci de votre attention,<br />
<img src="https://opentx-doc.fr/images/smileys/mipel24.png" alt=":mipel" title=":mipel" class="smiley" /><br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />]]></description>
			<pubDate>Sun, 12 Jan 2020 11:21:28 +0100</pubDate>
			
		</item>
		
		<item>
			<title><![CDATA[Tac/Tac-Tac (ou Comment Faire du Vieux avec du Neuf)]]></title>
			<link>https://opentx-doc.fr/wiki/tactac-tac-ou-comment-faire-du-vieux-avec-du-neuf</link>
			<guid>https://opentx-doc.fr/wiki/tactac-tac-ou-comment-faire-du-vieux-avec-du-neuf</guid>
			<description><![CDATA[<span style="color:#950024;"><strong>Article écrit par Coyotte en Mai 2019. </strong></span><br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-prologue">Prologue</h2><br />

Lors de la dernière réunion SAM sur notre terrain de Haneffe, Victor, nouvellement acquis au monde d&#8217;OpenTX est venu me trouver avec une étincelle dans l&#8217;&#339;il :<br />
<br />
    <em>« OpenTX m&#8217;a l&#8217;air vraiment puissant mais j&#8217;ai un petit challenge à te soumettre. Te souviens-tu de mon boîtier qui permet de contrôler la direction d&#8217;un modèle avec un simple bouton ?<br />
    Si j&#8217;appuie sur le bouton (Tac) le modèle tourne à gauche tant que je maintiens la pression&#8230; Si j&#8217;appuie d&#8217;abord brièvement sur le bouton (Tac-Tac), le modèle tourne à droite. Penses-tu qu&#8217;il soit possible de faire la même chose avec OpenTX ? »</em><br />
<br />
Confiant dans les capacités d&#8217;OpenTX, j&#8217;ai bien évidemment répondu oui.  Plus réservé quant aux miennes, j&#8217;ai demandé quelques jours  de réflexion &#8230;<br />
Cependant, pris au jeu, j&#8217;ai immédiatement sorti ma Horus et me suis mis au calme dans le local. Vingt petites minutes plus tard, je suis allé retrouver mon poseur de défis :<br />
<br />
 <em>   « Victor, imagine que la voie 1 contrôle la direction et que SH soit ton bouton poussoir. Si je fais &#8216;Tac&#8217;, ton gouvernail tourne à gauche et si je fais &#8216;Tac-Tac&#8217;, il tourne à droite&#8230; Est-ce bien cela que tu veux ? »</em><br />
<br />
Grand sourire de l&#8217;intéressé&#8230; et de votre serviteur.<br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-comment-cela-fonctionne-t-il-e">Comment cela fonctionne-t-il ?</h2><br />

Comme à chaque fois, une petite réflexion préalable sur les objectifs à atteindre et les moyens disponibles s&#8217;impose. Dans le cas présent, il faut :<br />
<br />
<ul class="formatter-ul">
    <li class="formatter-li">&#8211; Maintenir le gouvernail de direction au neutre en l&#8217;absence d&#8217;instruction.
    </li><li class="formatter-li">&#8211; Détecter un appui long qui indique que nous désirons tourner.
    </li><li class="formatter-li">&#8211; Détecter un appuis court préalable qui permet de changer la direction du virage.<br />
</li></ul><br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-comment-allons-nous-changer-de-direction-e">Comment allons nous changer de direction ?</h2><br />

Dans OpenTX, il existe une notion très puissante qui est la Variable Globale. Une variable globale est une zone de la mémoire de la radio dans laquelle il est possible de stocker une valeur. Cette valeur peut être utilisée ensuite pour paramétrer une fonctionnalité.<br />
Dans notre cas, nous l&#8217;utiliserons pour définir le déplacement du gouvernail.<br />
<br />
Pour assigner une valeur à une variable globale, nous pouvons passer par les Fonctions Spéciales :<br />
<br />
<img src="https://opentx-doc.fr/upload/image1.png" alt="image1" title="image1" /><br />
<br />
Dans le cas présent, si L01 est actif, nous stockons -60 dans la variable globale GV1.<br />
Si L02 est actif, c&#8217;est la valeur 60 que nous stockons dans GV1.<br />
L01 et L02 sont deux interrupteurs logiques dont nous reparlerons plus tard.<br />
<br />
<h3 class="formatter-title wiki-paragraph-3" id="paragraph-1-maintenir-le-gouvernail-au-neutre">1) Maintenir le gouvernail au neutre</h3><br />

Commençons par le plus facile (c&#8217;est gratifiant et cela met de bonne humeur pour la suite ???? )<br />
<br />
<img src="https://opentx-doc.fr/upload/image2.png" alt="image2" title="image2" /><br />
<br />
Il n&#8217;y a pas grand chose à expliquer ici : Nous faisons part à OpenTX de notre désir de voir la voie 1 être à 0 (0% de MAX = 0) en l&#8217;absence de toute action du pilote.<br />
<br />
<h3 class="formatter-title wiki-paragraph-3" id="paragraph-2-detection-deun-appui-long">2) Détection d’un appui long</h3><br />

Presqu&#8217;aussi facile : nous allons détecter un appui long sur SH  dans les Interrupteurs Logiques.<br />
<br />
<img src="https://opentx-doc.fr/upload/image3.png" alt="image3" title="image3" /><br />
<br />
Que dit cette ligne ?<br />
Que L03 est actif si SH vaut 100 pendant au moins 0.3 seconde<br />
(Pour rappel sous OpenTX, un interrupteur deux positions peut prendre les valeurs -100 et +100 alors qu&#8217;un interrupteur 3 positions pourra prendre les valeurs -100, 0 et +100)<br />
<br />
On modifie ensuite les mixages de la voie 1 comme suit :<br />
<br />
<img src="https://opentx-doc.fr/upload/image4.png" alt="image4" title="image4" /><br />
<br />
Que fait cette ligne ?<br />
Elle remplace (:=) la valeur de la voie 1 par GV1 % de MAX si l&#8217;Interrupteur Logique L03 est actif.<br />
(Pour rappel, MAX est une constante qui vaut toujours 100)<br />
<br />
Dès lors, si GV1 valait 60, nous aurions 60% de MAX soit 60 et si GV1 vaut -60, nous aurons -60% de MAX donc &#8230; -60.<br />
(60 et -60 sont des valeurs à ajuster en fonction du taux de virage que vous souhaitez obtenir)<br />
Mais pour le moment GV1 vaut toujours 0. ????<br />
Fichtre, diantre ! Notre avion file tout droit&#8230;<br />
<br />
<h3 class="formatter-title wiki-paragraph-3" id="paragraph-3-detection-de-leimpulsion">3) Détection de l’impulsion</h3><br />

<img src="https://opentx-doc.fr/upload/image5.png" alt="image5" title="image5" /><br />
<br />
La Ligne L01 détecte une impulsion sur SH si elle est inférieure ou égale à 0.2 seconde.<br />
Pour rappel, dans les fonctions spéciales, nous avons déclaré que  si L01 est actif, GV1 prend la valeur -60&#8230;<br />
Et l&#8217;on tourne à gauche au prochain appui long &#8230; Bingo !<br />
<br />
Ah ben oui&#8230; mais non ! Car maintenant, GV1 vaut toujours -60&#8230; On ne tourne plus qu&#8217;à gauche&#8230;<br />
« Caramba, encore raté ! » aurait dit Victor&#8230;<br />
<br />
<h3 class="formatter-title wiki-paragraph-3" id="paragraph-4-tourner-a-droite">4) Tourner à droite</h3><br />

Le plus simple est de s&#8217;assurer que GV1 vaut toujours 60 sauf s&#8217;il y a eu une impulsion préalable.  Mais comment faire ?<br />
<br />
Nous pouvons réinitialiser la variable GV1 lorsque nous avons fini le virage, c-à-d lorsque SH n&#8217;est plus maintenu.<br />
Oui, mais&#8230; Lorsque nous envoyons une impulsion, SH n&#8217;est plus maintenu entre la fin de l&#8217;impulsion et le début du virage.<br />
<br />
Il faut donc que SH ne soit plus maintenu pendant une durée supérieure au temps alloué entre l&#8217;impulsion et la commande de direction.<br />
Comme le temps de l&#8217;impulsion est de maximum 0.2 seconde, on considérera que si SH est relâché pour au moins 0.3 seconde, nous pouvons réinitialiser la direction du virage.<br />
La ligne L02 se charge de la détection :<br />
<br />
<img src="https://opentx-doc.fr/upload/image6.png" alt="image6" title="image6" /><br />
<br />
Souvenez-vous que nous avions défini une fonction spéciale FS02 qui assigne la valeur 60 à GV1 si L02 est actif.<br />
Voilà&#8230; Notre système fonctionne parfaitement.<br />
Et Victor est content !<br />
<br />
<img src="https://opentx-doc.fr/images/smileys/coyotte.png" alt=":coyotte" title=":coyotte" class="smiley" /><br />
<br />
ps: Merci à mon épouse pour sa relecture attentive.<br />]]></description>
			<pubDate>Tue, 10 Sep 2019 17:41:35 +0200</pubDate>
			
		</item>
		
	</channel>
</rss>
