[Résolu] Calculer le gain total d'altitude avec LUA ?
5 participants
Page 2 sur 2
Page 2 sur 2 • 1, 2
Re: [Résolu] Calculer le gain total d'altitude avec LUA ?
Alors il y a deux facons de lancer le simu OpenTX :
- depuis companion, simuler radio ou simuler modèle : AUCUNE modification n'est enregistré. Quoique vous fassiez sur la radio simulée, ca n'a aucun impact sur les données de companion
- avec Firmware Simulator (qui est installé en même temps que companion) : dans ce cas la, les modifications faites avec la radio virtuelle sont enrtegistrée dans les données du modèle
3djc
- depuis companion, simuler radio ou simuler modèle : AUCUNE modification n'est enregistré. Quoique vous fassiez sur la radio simulée, ca n'a aucun impact sur les données de companion
- avec Firmware Simulator (qui est installé en même temps que companion) : dans ce cas la, les modifications faites avec la radio virtuelle sont enrtegistrée dans les données du modèle
3djc
3djc- Messages : 2871
Date d'inscription : 25/09/2016
Age : 57
Localisation : Belgique
Re: [Résolu] Calculer le gain total d'altitude avec LUA ?
Merci, précisions importantes en effet.
Pas connaissance de ça ou pas vu lors de l'install ... comment y accéder ?- avec Firmware Simulator (qui est installé en même temps que companion)
_________________
Electrique :
Avions: clik R2 + mini-polyclub en indoor
Planeurs: Gem, Serenity et Typhoon
Hélicos: Trex 450-550
Drones: Wizard X220, Aurora 90 vol à vue+fpv
Thermique :
Extra 300 78'' avec DLE 35RA
Besoin d'infos ? https://opentx-doc.fr/ (co-admin du site avec LapinFou)
Re: [Résolu] Calculer le gain total d'altitude avec LUA ?
Bon, je ne vois pas ce qui plante dans mon code. J'ai essayé de suivre les instructions du gitbooks, mais quand on est néophyte, c'est pas facile.
- Code:
-- LUA Mix Script
local function init_func()
totalaltgain = 0
oldalt = 0
newalt = 0
end
local function run_func()
local newalt = getValue("Alt")
if newalt > oldalt then
totalaltgain = totalaltgain + (newalt - oldalt)
end
setTelemetryValue(0120, 0, 2, totalaltgain, 9, 0, "AltG")
return 0
end
return {run=run_func init=init_func}
vian31- Messages : 111
Date d'inscription : 04/04/2016
Age : 41
Localisation : Toulouse
Re: [Résolu] Calculer le gain total d'altitude avec LUA ?
Il manque une virgule entre run=run_func et init=init_func
D'autre part le code n'est pas fonctionnel comme ca, pûisque rien ne met a jour oldalt et quelques autres petit soucis que je vous laisse découvrir (c'est en forgeant qu'on deviens forgerons
3djc
D'autre part le code n'est pas fonctionnel comme ca, pûisque rien ne met a jour oldalt et quelques autres petit soucis que je vous laisse découvrir (c'est en forgeant qu'on deviens forgerons
3djc
Dernière édition par 3djc le Sam 17 Mar 2018 - 11:39, édité 1 fois (Raison : uelques)
3djc- Messages : 2871
Date d'inscription : 25/09/2016
Age : 57
Localisation : Belgique
Re: [Résolu] Calculer le gain total d'altitude avec LUA ?
OK, merci ça marche. Problème: totalaltgain s'incrémente continuellement dès que l'altitude > 0 et ça va de plus en plus vite quand l'altitude augmente !! C'est comique...
vian31- Messages : 111
Date d'inscription : 04/04/2016
Age : 41
Localisation : Toulouse
Re: [Résolu] Calculer le gain total d'altitude avec LUA ?
Absolument, lire mes commentaires au dessus
3djc
3djc
3djc- Messages : 2871
Date d'inscription : 25/09/2016
Age : 57
Localisation : Belgique
Re: [Résolu] Calculer le gain total d'altitude avec LUA ?
Je m'y remets un peu...3djc a écrit:Absolument, lire mes commentaires au dessus
3djc
Ceci à l'aire de fonctionner:
- Code:
-- LUA Mix Script
local function init_func()
gain = 0
oldalt = 0
alt = 0
end
local function run_func()
local alt = getValue("Alt")
setTelemetryValue(0120, 0, 2, gain, 9, 0, "AltG")
if alt > oldalt then
gain = gain + (alt - oldalt)
oldalt = alt
end
oldalt = alt
return 0
end
return {run=run_func, init=init_func}
Maintenant je vais essayer d'asservir la boucle au statut d'un switch logique qui donne moteur en marche/éteint afin de ne pas comptabiliser les gains d'altitude au moteur.
[edit]:
J'ai rajouté la boucle sur ls1 et déplacer le setTelemetryValue en début de fonction run() pour que le capteur apparaisse dès le départ mais mon capteur n'apparaît plus... j'ai tout vérifié et je sèche !
- Code:
-- LUA Mix Script
local function init_func()
gain = 0
oldalt = 0
alt = 0
end
local function run_func()
setTelemetryValue(0120, 0, 2, gain, 9, 0, "AltG")
local ls1V = getValue("ls1") -- valeur de l'inter LS1
if ls1V = -1024 then
local alt = getValue("Alt")
if alt > oldalt then
gain = gain + (alt - oldalt)
oldalt = alt
end
oldalt = alt
end
return 0
end
return {run=run_func, init=init_func}
vian31- Messages : 111
Date d'inscription : 04/04/2016
Age : 41
Localisation : Toulouse
Re: [Résolu] Calculer le gain total d'altitude avec LUA ?
En lua, a = b veut dire à prend la valeur de b. Pour tester si la valeur de a est équivalente à celle de b la syntaxe est a == b.
D'autre part, le mieux est de faire tourner le script sur le simu, comme ca tu as les message d'erreur
3djc
D'autre part, le mieux est de faire tourner le script sur le simu, comme ca tu as les message d'erreur
3djc
3djc- Messages : 2871
Date d'inscription : 25/09/2016
Age : 57
Localisation : Belgique
Re: [Résolu] Calculer le gain total d'altitude avec LUA ?
Ah ok. Oui c'est ce que je fais pour le simu, mais je n'ai pas les messages d'erreur...3djc a écrit:En lua, a = b veut dire à prend la valeur de b. Pour tester si la valeur de a est équivalente à celle de b la syntaxe est a == b.
D'autre part, le mieux est de faire tourner le script sur le simu, comme ca tu as les message d'erreur
3djc
[edit]: je viens de re-tester, ça fonctionne mais ma boucle de test doit être mal placée.
Le pb c'est que j'y travaille en pointillé... des enfants à s'occuper aussi !!
En tout cas c'est passionnant !
vian31- Messages : 111
Date d'inscription : 04/04/2016
Age : 41
Localisation : Toulouse
Re: [Résolu] Calculer le gain total d'altitude avec LUA ?
Sur le simu, le quatrième icone de la colonne d'icone verticale est intitulé "debug output" , ca affiche une enetre avec plein de messages
Et on peut aussi rajouter des instructions print qui sont visible dans la fenêtre de débug
3djc
Et on peut aussi rajouter des instructions print qui sont visible dans la fenêtre de débug
3djc
3djc- Messages : 2871
Date d'inscription : 25/09/2016
Age : 57
Localisation : Belgique
Re: [Résolu] Calculer le gain total d'altitude avec LUA ?
Bon, je bute sur ce foutu script pourtant simple... après de multiple tests en fait je n'obtiens jamais le bon gain...
Quelle est l'erreur dans ce code (simplifié) ?
Avec ça il me retourne la valeur Alt+. Si je sors le oldalt de la boucle "if...end" il additionne toutes les valeurs de Alt à la suite...
Je vais dormir, la nuit porte conseil
A+
Vianney
Quelle est l'erreur dans ce code (simplifié) ?
- Code:
gain = 0
oldalt = 0
alt = 0
local function run_func()
local alt = getValue("Alt")
setTelemetryValue(0120, 0, 2, gain, 9, 0, "AltG")
if alt > oldalt then
gain = gain + (alt - oldalt)
oldalt = alt
end
return 0
end
return {run=run_func}
Avec ça il me retourne la valeur Alt+. Si je sors le oldalt de la boucle "if...end" il additionne toutes les valeurs de Alt à la suite...
Je vais dormir, la nuit porte conseil
A+
Vianney
vian31- Messages : 111
Date d'inscription : 04/04/2016
Age : 41
Localisation : Toulouse
Re: [Résolu] Calculer le gain total d'altitude avec LUA ?
Allez, un petit coup de main, vu que bien des efforts ont été fait
3djc
- Code:
gain = 0
oldalt = 0
local function run_func()
local alt = getValue("Alt")
setTelemetryValue(0120, 0, 2, gain, 9, 0, "AltG")
if (getValue("thr") < -800) then
if alt > oldalt then
gain = gain + (alt - oldalt)
end
end
oldalt = alt
return 0
end
return {run=run_func}
3djc
3djc- Messages : 2871
Date d'inscription : 25/09/2016
Age : 57
Localisation : Belgique
Re: [Résolu] Calculer le gain total d'altitude avec LUA ?
Dans le simulateur ça n'a pas l'air de marcher, c'est ce que j'avais fait plus haut (je ne parle pas de la condition moteur)... Si on met respectivement les altitudes 100, 150, 80, 200 en considérant les gains (150-100) et (200-80), AltG va afficher 518m au lieu de (150-100)+(200-80)=170m.
Ca me rend dingue, sur le papier ça DOIT fonctionner
Par ailleurs le décalage de 1m entre la console de saisie des valeurs de télémétrie et le simu d'affichage radio est très pénible !! On se retrouve avec des valeurs fantaisistes qui gênent la lecture
Bon, je vais avancer le planeur...
Ca me rend dingue, sur le papier ça DOIT fonctionner
Par ailleurs le décalage de 1m entre la console de saisie des valeurs de télémétrie et le simu d'affichage radio est très pénible !! On se retrouve avec des valeurs fantaisistes qui gênent la lecture
Bon, je vais avancer le planeur...
vian31- Messages : 111
Date d'inscription : 04/04/2016
Age : 41
Localisation : Toulouse
Re: [Résolu] Calculer le gain total d'altitude avec LUA ?
Ca fonctionne parfaitement. Si tu saisie les chiffres par contre, ca pose des soucis, si tu écris 150, il va envoyer 1, puis 15, puis 150 au fur et a mesure que le chiffre s'inscrit. U
3djc
3djc
3djc- Messages : 2871
Date d'inscription : 25/09/2016
Age : 57
Localisation : Belgique
Re: [Résolu] Calculer le gain total d'altitude avec LUA ?
En effet, ça a l'air d'aller mieux en faisant des copier/coller des valeurs. En revanche il faut que je filtre les gains d'altitude pour ne pas enregistrer tous les pouillèmes dûs au pilotage/turbulences.3djc a écrit:Ca fonctionne parfaitement. Si tu saisie les chiffres par contre, ca pose des soucis, si tu écris 150, il va envoyer 1, puis 15, puis 150 au fur et a mesure que le chiffre s'inscrit. U
3djc
J'ai essayé
- Code:
if alt > oldalt AND (alt - oldalt) > 1 then -- pour variations supérieures à 1m
vian31- Messages : 111
Date d'inscription : 04/04/2016
Age : 41
Localisation : Toulouse
Re: [Résolu] Calculer le gain total d'altitude avec LUA ?
Pour la syntaxe commune au langage LUA tu as ce lien : Lua 5.2 Reference Manual
L'opérateur logique "and" doit être écrit en minuscule (paragraphe 3.4.4). Le langage LUA est sensible à la casse (paragraphe 3.1).
L'opérateur logique "and" doit être écrit en minuscule (paragraphe 3.4.4). Le langage LUA est sensible à la casse (paragraphe 3.1).
Ceeb182- Modérateur
- Messages : 2280
Date d'inscription : 29/10/2016
Age : 49
Localisation : France
Re: [Résolu] Calculer le gain total d'altitude avec LUA ?
Génial merci, je vais potasser tout ça.Ceeb182 a écrit:Pour la syntaxe commune au langage LUA tu as ce lien : Lua 5.2 Reference Manual
L'opérateur logique "and" doit être écrit en minuscule (paragraphe 3.4.4). Le langage LUA est sensible à la casse (paragraphe 3.1).
A+
Vianney
[Edit du 26 mai 2018]: Résolu avec l'aide d'un ami, voir premier post.
vian31- Messages : 111
Date d'inscription : 04/04/2016
Age : 41
Localisation : Toulouse
Page 2 sur 2 • 1, 2
Sujets similaires
» Gain : comment calculer valeur pour passer de futaba à taranis
» Problème de gain avec le S8R
» Reglage gain Gyro avec trim
» [Résolu] Fichier Log avec GPS...
» [resolu] - Difficulté de vol avec mon F550
» Problème de gain avec le S8R
» Reglage gain Gyro avec trim
» [Résolu] Fichier Log avec GPS...
» [resolu] - Difficulté de vol avec mon F550
Page 2 sur 2
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum