[Résolu] Calculer le gain total d'altitude avec LUA ?
5 participants
Page 1 sur 2
Page 1 sur 2 • 1, 2
[Résolu] Calculer le gain total d'altitude avec LUA ?
Bonjour à tous,
Je cherche à connaître pour le vol thermique le gain total d'altitude prise (différent de Alt+). Je ne crois pas que ce soit faisable directement avec OpenTx, d'où mon post: est-ce envisageable avec Lua ? Si oui j'aurai besoin d'un petit coup de pouce pour la formule.
Je songe à:
Définir un inter logique LSx où Vspd > 0,2m/s, déclarer une variable GainTot = 0, déclarer deux variables AltDepart et AltFin et y mettre tout à tour les valeurs d'altitude au passage de LSx respectivement de 0 à 1 puis de 1 à 0; faire la différence AltFin-AltDepart à chaque fois que LSx revient à 0 et ajouter le résultat à GainTot. Ca marcherait ? Ce serait pour un affichage sur un écran de télémétrie, et pourquoi pas un enregistrement dans un fichier txt pour comparaison des scores à chaque vol...
Je suis complètement néophyte en LUA. Si un programmeur passe par là, il trouvera sûrement bcp plus rapidement que moi ! Un grand merci.
Radio concernée: QX7s
A+
Vianney
[Edit du 26 mai 2018]: Résolu avec l'aide d'un ami.
Ci-dessous le code utilisé. Le seuil peut être ajusté en fonction du besoin.
Ca marche à la perfection, et 3m pour le seuil semble être une bonne valeur. Reste plus qu'à ajouter quelques fonctions comme l'enregistrement des 5 meilleurs pompes avec affichage sur un écran de télémétrie...par exemple !
Je cherche à connaître pour le vol thermique le gain total d'altitude prise (différent de Alt+). Je ne crois pas que ce soit faisable directement avec OpenTx, d'où mon post: est-ce envisageable avec Lua ? Si oui j'aurai besoin d'un petit coup de pouce pour la formule.
Je songe à:
Définir un inter logique LSx où Vspd > 0,2m/s, déclarer une variable GainTot = 0, déclarer deux variables AltDepart et AltFin et y mettre tout à tour les valeurs d'altitude au passage de LSx respectivement de 0 à 1 puis de 1 à 0; faire la différence AltFin-AltDepart à chaque fois que LSx revient à 0 et ajouter le résultat à GainTot. Ca marcherait ? Ce serait pour un affichage sur un écran de télémétrie, et pourquoi pas un enregistrement dans un fichier txt pour comparaison des scores à chaque vol...
Je suis complètement néophyte en LUA. Si un programmeur passe par là, il trouvera sûrement bcp plus rapidement que moi ! Un grand merci.
Radio concernée: QX7s
A+
Vianney
[Edit du 26 mai 2018]: Résolu avec l'aide d'un ami.
Ci-dessous le code utilisé. Le seuil peut être ajusté en fonction du besoin.
- Code:
Dplus = 0
Dmoins = 0
seuil = 3 --dénivelée mini pour commencer à comptabiliser. A modifier selon ses besoins
AltRef = 0
local function run()
local Alt = getValue("Alt")
local thrValue = getValue("ls13") --LS13: inter lié à la position du manche des gaz
setTelemetryValue(0x100, 0, 2, Dplus, 9, 0, "Gain") --Génération du capteur Gain à utiliser en télémétrie
--Calcul de la dénivelée négative (impératif pour mettre à jour AltRef)
while(AltRef - Alt > seuil) do
if thrValue == 1024 then --condition que les gaz soient à zéro pour comptabiliser le gain d'altitude
Dmoins = Dmoins + seuil
end
AltRef = AltRef - seuil
end
--Calcul de la dénivelée positive
while(Alt - AltRef > seuil) do
if thrValue == 1024 then --condition que les gaz soient à zéro pour comptabiliser le gain d'altitude
Dplus = Dplus + seuil
end
AltRef = AltRef + seuil
end
return 0
end
return {run=run}
Ca marche à la perfection, et 3m pour le seuil semble être une bonne valeur. Reste plus qu'à ajouter quelques fonctions comme l'enregistrement des 5 meilleurs pompes avec affichage sur un écran de télémétrie...par exemple !
Dernière édition par vian31 le Sam 26 Mai 2018 - 9:12, édité 2 fois
vian31- Messages : 111
Date d'inscription : 04/04/2016
Age : 41
Localisation : Toulouse
Re: [Résolu] Calculer le gain total d'altitude avec LUA ?
Tu raisonne en switch logique, mais tu parle de LUA.
En l’occurrence, le LUA me semble plus adapté, un mixer script pour être précis. Le script s’exécute toute les 50 ms, donc : (note, c'est pas du LUA donc on ne peut pas copier coller comme ça, mais le principe est la)
newalt=getvalue("alt")
if newalt > oldalt then
totalaltgain = totalaltgain + (newalt - oldalt)
end
oldalt=new alt
et encore mieux, on peut ensuite crée un senseur virtual avec ce totalaltgain avec setTelemetryValue()
Voila, je pense qu'il y a la assez d'info pour vous lancer, mon but n'étant pas de faire le taff a votre place, mais simplement guider votre apprentissage
3djc
En l’occurrence, le LUA me semble plus adapté, un mixer script pour être précis. Le script s’exécute toute les 50 ms, donc : (note, c'est pas du LUA donc on ne peut pas copier coller comme ça, mais le principe est la)
newalt=getvalue("alt")
if newalt > oldalt then
totalaltgain = totalaltgain + (newalt - oldalt)
end
oldalt=new alt
et encore mieux, on peut ensuite crée un senseur virtual avec ce totalaltgain avec setTelemetryValue()
Voila, je pense qu'il y a la assez d'info pour vous lancer, mon but n'étant pas de faire le taff a votre place, mais simplement guider votre apprentissage
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 ?
Ok, en effet on peut se passer d'un inter logique. Merci pour ton aide.
Plusieurs questions cependant:
- Peut-on appeler la variable totalaltgain sur un écran de télémétrie même si le script n'est pas dans le dossier TELEMETRY ?
- En language LUA, comment définir la précision (par exemple pas de décimales) de la variable ?
- Le script va fonctionner en permanence, est-ce que ça pose problème pour les maigres ressources de la QX7 ?
Merci beaucoup.
Plusieurs questions cependant:
- Peut-on appeler la variable totalaltgain sur un écran de télémétrie même si le script n'est pas dans le dossier TELEMETRY ?
- En language LUA, comment définir la précision (par exemple pas de décimales) de la variable ?
- Le script va fonctionner en permanence, est-ce que ça pose problème pour les maigres ressources de la QX7 ?
Merci beaucoup.
vian31- Messages : 111
Date d'inscription : 04/04/2016
Age : 41
Localisation : Toulouse
Re: [Résolu] Calculer le gain total d'altitude avec LUA ?
On ne peut pas afficher une variable LUA, ni même faire des LSW avec. C'est pour cela que je suggère de crée un senseur virtual depuis le LUA qui lui se gère comme absolument n'importe quel autre senseur. (une fois que le script tourne, il faut le découvrir comme un autre senseur et tout et tout (tm))
Il n'y a pas de type en LUA (techniquement, tout est en DOUBLE), mais lorsque l'on crée le sensuer virtuel, la on peut préciser une précision si besoin
Les ressources de la QX7 sont tout sauf maigre, en fait, elle sont supérieure a celles des x9d et x9d+ car moins de mémoire est affecté a la gestion du LCD. Un script de ce genre ne va même pas faire sourciller le processeur de la x7
3djc
Il n'y a pas de type en LUA (techniquement, tout est en DOUBLE), mais lorsque l'on crée le sensuer virtuel, la on peut préciser une précision si besoin
Les ressources de la QX7 sont tout sauf maigre, en fait, elle sont supérieure a celles des x9d et x9d+ car moins de mémoire est affecté a la gestion du LCD. Un script de ce genre ne va même pas faire sourciller le processeur de la x7
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 ?
Aller, pour mettre pied a l'étrier
Le script n'est pas complet, volontairement, mais le gros y est
Le mettre dans /SCRIPTS/MIXES, le selectionner dans l'écran 'special functions' pour qu'il soit executé, aller dans la découverte des senseurs, découvrir nouveau senseur ... un nouveau monde s'ouvre
3djc
Le script n'est pas complet, volontairement, mais le gros y est
Le mettre dans /SCRIPTS/MIXES, le selectionner dans l'écran 'special functions' pour qu'il soit executé, aller dans la découverte des senseurs, découvrir nouveau senseur ... un nouveau monde s'ouvre
3djc
- Fichiers joints
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 beaucoup, ma lanterne s'éclaire lentement mais sûrement, grâce à un prof très dévoué.3djc a écrit:Aller, pour mettre pied a l'étrier
Le script n'est pas complet, volontairement, mais le gros y est
Le mettre dans /SCRIPTS/MIXES, le selectionner dans l'écran 'special functions' pour qu'il soit executé, aller dans la découverte des senseurs, découvrir nouveau senseur ... un nouveau monde s'ouvre
3djc
Il faut que je rajoute un bout de code pour faire la différence newalt-oldalt décrite plus haut.
Est-ce que je peux essayer tout ça d'abord dans Companion ? Cela dit je ne pourrait découvrir le capteur qu'avec la radio...
On va essayer tout ça.
A très vite,
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 ?
Ça fonctionne bien sur parfaitement sur le simulateur de companion (la aussi il faut découvrir le capteur (oui oui, ça fonctionne !))
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 ?
Est-ce que je m'en approche là ? je le mets en .txt pour qu'il passe sans le mettre en .zip
- Fichiers joints
vian31- Messages : 111
Date d'inscription : 04/04/2016
Age : 41
Localisation : Toulouse
Re: [Résolu] Calculer le gain total d'altitude avec LUA ?
Je n'arrive pas à voir mes scripts dans Companion. Mon chemin de carte SD est pourtant bien déclaré. J'avais lu quelque part que le dossier local devait être à la racine de C:\
est-ce encore valable ?
est-ce encore valable ?
vian31- Messages : 111
Date d'inscription : 04/04/2016
Age : 41
Localisation : Toulouse
Re: [Résolu] Calculer le gain total d'altitude avec LUA ?
Qu'appelle tu companion ? Si tu parle de l'outil d'édition, je ne crois pas qu'il gère les fonctions spéciale (désolé, je ne l’utilise pratiquement pas)
Si tu parle de la partie simulation de la radio, alors la ça fonctionne normalement
3djc
ps : non non, tu le met ou tu veut le dossier racine, le miens est dans documents
ps2 : tel quel, ca ne vas pas marcher correctement, une histoire de old et de new ....
Si tu parle de la partie simulation de la radio, alors la ça fonctionne normalement
3djc
ps : non non, tu le met ou tu veut le dossier racine, le miens est dans documents
ps2 : tel quel, ca ne vas pas marcher correctement, une histoire de old et de new ....
Dernière édition par 3djc le Ven 16 Mar 2018 - 16:40, édité 1 fois
3djc- Messages : 2871
Date d'inscription : 25/09/2016
Age : 57
Localisation : Belgique
Re: [Résolu] Calculer le gain total d'altitude avec LUA ?
Méga Tuto !!
Tout est dans ma signature juste ci-dessous.
Comme je suis un Lapin sympa, je te donne le lien.
OpenTX en Français - Comment bien utiliser Companion 2.2
Tout est dans ma signature juste ci-dessous.
Comme je suis un Lapin sympa, je te donne le lien.
OpenTX en Français - Comment bien utiliser Companion 2.2
_________________
Pas de support par MP !! Pour garder l'esprit communautaire, on partage tout sur le forum.
Maintenant que vous avez tout lu, vous pouvez poser vos questions !
OpenTX is user friendly!!! It's just selective about who its friends are....
3djc- Messages : 2871
Date d'inscription : 25/09/2016
Age : 57
Localisation : Belgique
Re: [Résolu] Calculer le gain total d'altitude avec LUA ?
LapinFou a écrit:Méga Tuto !!
Tout est dans ma signature juste ci-dessous.
Comme je suis un Lapin sympa, je te donne le lien.
OpenTX en Français - Comment bien utiliser Companion 2.2
Salut LapinFou,
Pas trouvé la réponse dans ta vidéo...désolé !
Je dois lâcher l'ordi pour un temps, j'espère revenir bientôt.
Bon weekend et un grand merci pour votre aide.
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 ?
Ha bon ?
Je pensais expliquer le chemin de la carte SD vers les 7minutes.
Je pensais expliquer le chemin de la carte SD vers les 7minutes.
_________________
Pas de support par MP !! Pour garder l'esprit communautaire, on partage tout sur le forum.
Maintenant que vous avez tout lu, vous pouvez poser vos questions !
OpenTX is user friendly!!! It's just selective about who its friends are....
Re: [Résolu] Calculer le gain total d'altitude avec LUA ?
On est bien d'accord que c'est le chemin de la SAUVEGARDE de la carte sur un disque et non le chemin direct vers le lecteur de la carte quand la radio est connectée au PC ?LapinFou a écrit:Ha bon ?
Je pensais expliquer le chemin de la carte SD vers les 7minutes.
vian31- Messages : 111
Date d'inscription : 04/04/2016
Age : 41
Localisation : Toulouse
Re: [Résolu] Calculer le gain total d'altitude avec LUA ?
Tu indiques le chemin où tu veux stocker une copie/sauvegarde de ta carte SD (en rouge ci-dessous).
Puis tu cliques sur le bouton de synchro (en bleu ci-dessous) lorsque ta Taranis est branchée sur ton PC (en mode bootloader) afin de synchroniser le contenu de ta carte SD avec ton ordi.
Voilà.
Je me suis réécouté et je n'ai pas été clair du tout sur ce point.
Puis tu cliques sur le bouton de synchro (en bleu ci-dessous) lorsque ta Taranis est branchée sur ton PC (en mode bootloader) afin de synchroniser le contenu de ta carte SD avec ton ordi.
Voilà.
Je me suis réécouté et je n'ai pas été clair du tout sur ce point.
Re: [Résolu] Calculer le gain total d'altitude avec LUA ?
Bon, là-dessus on est en ligne. T'inquiète pas pour la vidéo, elles sont déjà une mine d'infos très bien faite. On ne peut pas penser à tout quand on s'enregistre...à moins de tout écrire avant !
Cela ne résout pas mon problème pour autant, et j'en aperçois un deuxième: dans Companion je ne vois pas l'onglet "Custom script" 10/12 que montre 3djc plus haut, alors qu'elle est bien dans la radio (j'avais bien coché les options LUA avant de compiler le firmware, et elles sont bien actives dans les paramètres de Companion).
Donc dans la radio j'arrive à sélectionner mon script que je vois bien après l'avoir copié sur la carte SD (il marche pas mais c'est un autre problème!!) Impossible de le voir par contre dans Companion, y compris dans les fonctions spéciales quand j'appelle la fonction "Exécuter script". Le champ d'après est vide.
Cela ne résout pas mon problème pour autant, et j'en aperçois un deuxième: dans Companion je ne vois pas l'onglet "Custom script" 10/12 que montre 3djc plus haut, alors qu'elle est bien dans la radio (j'avais bien coché les options LUA avant de compiler le firmware, et elles sont bien actives dans les paramètres de Companion).
Donc dans la radio j'arrive à sélectionner mon script que je vois bien après l'avoir copié sur la carte SD (il marche pas mais c'est un autre problème!!) Impossible de le voir par contre dans Companion, y compris dans les fonctions spéciales quand j'appelle la fonction "Exécuter script". Le champ d'après est vide.
vian31- Messages : 111
Date d'inscription : 04/04/2016
Age : 41
Localisation : Toulouse
Re: [Résolu] Calculer le gain total d'altitude avec LUA ?
Comme je l'ai dit plus haut, companion ne gère pas les mixer scripts il me semble, donc il faut l'activer comme je l'ai montré, sur la radio elle même, dans la page Custom Script et NUL PART AILLEURS (ou sur le simulateur de la radio, ça marche aussi). la fonction spéciale "exécuter script" n'est pas du tout destinée au mixer scripts
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 ?
OK merci, mais alors elle se destine à quels scripts ?3djc a écrit:la fonction spéciale "exécuter script" n'est pas du tout destinée au mixer scripts
3djc
Faut maintenant que j'arrive à découvrir ce nouveau capteur. Pour l'instant ça ne marche pas... Je cogite !
vian31- Messages : 111
Date d'inscription : 04/04/2016
Age : 41
Localisation : Toulouse
3djc- Messages : 2871
Date d'inscription : 25/09/2016
Age : 57
Localisation : Belgique
Re: [Résolu] Calculer le gain total d'altitude avec LUA ?
Tu a balancé quoi comme script dans Companion ? C'est ma version qui déconne je pense...
vian31- Messages : 111
Date d'inscription : 04/04/2016
Age : 41
Localisation : Toulouse
Re: [Résolu] Calculer le gain total d'altitude avec LUA ?
Celui que j'ai posté
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 confirme que j'affiche bien le script sur ma Q7 et que la découverte du capteur fonctionne.
_________________
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 ?
Oui c'est bon, j'arrive à découvrir le capteur avec le script de 3djc, mais pas le mien ! Mon code doit être merdique...Mipel a écrit:Je confirme que j'affiche bien le script sur ma Q7 et que la découverte du capteur fonctionne.
Par contre j'ai un souci avec la page Custom Scripts dans le simulateur: mon script disparaît à chaque fois que je ferme et que je relance le simu... Même si j'enregistre le modèle après l'avoir déclaré.
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 me semble avoir eu ce constat aussi mais pas trop poussé les tests non plus.
_________________
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)
Page 1 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] Problème avec ce protocole !!!
» Problème de gain avec le S8R
» Reglage gain Gyro avec trim
» [Résolu] Fichier Log avec GPS...
» [Resolu] Problème avec ce protocole !!!
Page 1 sur 2
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum