Teste de portée avec un script LUA
+2
Heisenberg
BRUN Philippe
6 participants
Page 1 sur 3
Page 1 sur 3 • 1, 2, 3
Teste de portée avec un script LUA
Bonjour
J'essaie de me lancer dans la programmation avec LUA. Lire des données écrire du texte faire des boucle et des comparaisons simples j'y arrive. Pour écrire des données dans la radio là rien ne va. Je n'y arrive pas, malgré mes recherches et essais. Avec Model.setXxxx() ça ne veut pas fonctionner, j'ai bien la doc "OpenTX-LUAReferenceGuide" sous les yeux mais je ne comprends pas l'anglais et la doc n'est pas assez détaillé par rapport à mes connaissances.
Mon idée c'est de faire un test de portée avec la radio quand on se retrouve seul sur le terrain. Le principe serai de laisser la radio au sol et de se déplacer avec l'avion. Le programme dans la radio lui ferait bouger les servos d'une course à l'autre. Ce script serai par exemple dans le répertoire SCRIPT/MIXES/ TestPortée.
Pour ceux qui connaisse F.Thobois c'est une fonction qui était dans ces "soupertef", je trouvai ça très pratique et à ma connaissant les radios du commerce n'ont pas cette option. Si quelqu'un se sent prêt pour développer se script (moi je ne sais pas) se serai encore un plus de nos Taranis.
Philippe
J'essaie de me lancer dans la programmation avec LUA. Lire des données écrire du texte faire des boucle et des comparaisons simples j'y arrive. Pour écrire des données dans la radio là rien ne va. Je n'y arrive pas, malgré mes recherches et essais. Avec Model.setXxxx() ça ne veut pas fonctionner, j'ai bien la doc "OpenTX-LUAReferenceGuide" sous les yeux mais je ne comprends pas l'anglais et la doc n'est pas assez détaillé par rapport à mes connaissances.
Mon idée c'est de faire un test de portée avec la radio quand on se retrouve seul sur le terrain. Le principe serai de laisser la radio au sol et de se déplacer avec l'avion. Le programme dans la radio lui ferait bouger les servos d'une course à l'autre. Ce script serai par exemple dans le répertoire SCRIPT/MIXES/ TestPortée.
Pour ceux qui connaisse F.Thobois c'est une fonction qui était dans ces "soupertef", je trouvai ça très pratique et à ma connaissant les radios du commerce n'ont pas cette option. Si quelqu'un se sent prêt pour développer se script (moi je ne sais pas) se serai encore un plus de nos Taranis.
Philippe
BRUN Philippe- Messages : 223
Date d'inscription : 31/05/2015
Age : 71
Localisation : MONTAMISE près de POITIERS
Re: Teste de portée avec un script LUA
Tu peux faire autrement et plus facile.
Le challenge n'est pas le même mais...
Une boucle de comparaison d'une lecture du RSSI précédent avec l'actuel et l'affichage du plus faible. Ça, c'est assez simple.
Tu te balades sur le terrain avec ton aéronef, tu reviens à la radio et tu lis sur l'écran ton RSSI le plus faible que la radio ait reçu.
Comme avec la 2.1 on peut écrire sur la SD, tu peux aussi faire une moyenne de toutes tes mesures sans saturer la mémoire.
Navré de ne pouvoir t'aider à mettre les mains dans le cambouis, mais peu de temps devant moi en ce moment.
Le challenge n'est pas le même mais...
Une boucle de comparaison d'une lecture du RSSI précédent avec l'actuel et l'affichage du plus faible. Ça, c'est assez simple.
Tu te balades sur le terrain avec ton aéronef, tu reviens à la radio et tu lis sur l'écran ton RSSI le plus faible que la radio ait reçu.
Comme avec la 2.1 on peut écrire sur la SD, tu peux aussi faire une moyenne de toutes tes mesures sans saturer la mémoire.
Navré de ne pouvoir t'aider à mettre les mains dans le cambouis, mais peu de temps devant moi en ce moment.
Re: Teste de portée avec un script LUA
Pas besoin d'un script LUA, tu peux faire ça dans la programmation de ton modèle.
Tu peux t'inspirer de ce qui a été fait pour l'hexapode : https://frskytaranis.forumactif.org/t1387-controler-les-six-pattes-d-un-robot-hexpode-avec-une-taranis
Tu peux t'inspirer de ce qui a été fait pour l'hexapode : https://frskytaranis.forumactif.org/t1387-controler-les-six-pattes-d-un-robot-hexpode-avec-une-taranis
Sacre100- Messages : 1889
Date d'inscription : 30/11/2013
Age : 67
Localisation : Blonay - Suisse
Re: Teste de portée avec un script LUA
Merci Heisenberg et Sacre100
pour vaux tuyaux je vais piocher dans ce sens et faire un mixe de tout ça pour voir si j'arrive à mes fins. L'idée serai quand même de faire quelque chose qui soit indépendant du modèle, mais commun à tous les modèles.
pour vaux tuyaux je vais piocher dans ce sens et faire un mixe de tout ça pour voir si j'arrive à mes fins. L'idée serai quand même de faire quelque chose qui soit indépendant du modèle, mais commun à tous les modèles.
BRUN Philippe- Messages : 223
Date d'inscription : 31/05/2015
Age : 71
Localisation : MONTAMISE près de POITIERS
Re: Teste de portée avec un script LUA
Hello,
En effet. L'idéal serait de disposer d'un script qui "surcharge" le modèle afin de ne pas être obligé d'inclure la validation dans tous les mixages de tous les modèles.
Dans ce cas, il faudra prévoir un écran permettant de sélectionner les voies sur lesquelles il faut agir afin de désactiver la voie des gaz par exemple (dans le cas d'un moteur électrique).
Si j'ai un peu de temps ce week-end, je pourrais y jeter un oeil...
Coyotte
En effet. L'idéal serait de disposer d'un script qui "surcharge" le modèle afin de ne pas être obligé d'inclure la validation dans tous les mixages de tous les modèles.
Dans ce cas, il faudra prévoir un écran permettant de sélectionner les voies sur lesquelles il faut agir afin de désactiver la voie des gaz par exemple (dans le cas d'un moteur électrique).
Si j'ai un peu de temps ce week-end, je pourrais y jeter un oeil...
Coyotte
_________________
... the alien anthropologists admitted they were still perplexed.
But on eliminating every other reason for our sad demise, they logged the only explanation left :
This species has amused itself to death...
(R. Waters)
Pas de support par MP ! Nous sommes sur un forum pour échanger publiquement.
CoyotteDundee- Administrateur
- Messages : 5886
Date d'inscription : 03/03/2014
Age : 60
Localisation : Montegnée (Liège)
Re: Teste de portée avec un script LUA
Salut Coyotte
Merci pour ta réponse, et peut-être ton aide
Philippe
Merci pour ta réponse, et peut-être ton aide
Philippe
BRUN Philippe- Messages : 223
Date d'inscription : 31/05/2015
Age : 71
Localisation : MONTAMISE près de POITIERS
Re: Teste de portée avec un script LUA
Avec ton idée Heisenberg finalement dans l'écran télémétrie je sélectionne RSSI- et RSSI+ et j'ai de suite le résultat sans passer par un script. Elle est super cet radio. Pour le fun je vais quand même piocher.
Philippe
Philippe
BRUN Philippe- Messages : 223
Date d'inscription : 31/05/2015
Age : 71
Localisation : MONTAMISE près de POITIERS
Re: Teste de portée avec un script LUA
Oui pour le RSSI-, mais un test de portée doit quand même se faire en bougeant les manches (pour solliciter les servos et consommer du courant) donc ton script pour faire cela est une bonne idée.
Il est bien sur possible de faire avec de simple mixages, mais comme le dit coyotte cela demande à modifier la programmation de chaque modèle c'est pas top.
Il est bien sur possible de faire avec de simple mixages, mais comme le dit coyotte cela demande à modifier la programmation de chaque modèle c'est pas top.
Re: Teste de portée avec un script LUA
Effectivement écrire dans chaque modèle c'est pas top et si on m.... aux commandes en plein vol c'est le crache assuré.
Je pioche toujours mon LUA mais ça veux pas. j'aimerais savoir comment on peux envoyer une info au servo. j'arrive à faire varier un nombre entre 1000 et 2000 donc mon idée était d'envoyer ce nombre à la sortie ou commande du servo, mais je ne sais pas si quelqu'un connait la procédure je suis preneur.
Bon je vais aller dormir.
Je pioche toujours mon LUA mais ça veux pas. j'aimerais savoir comment on peux envoyer une info au servo. j'arrive à faire varier un nombre entre 1000 et 2000 donc mon idée était d'envoyer ce nombre à la sortie ou commande du servo, mais je ne sais pas si quelqu'un connait la procédure je suis preneur.
Bon je vais aller dormir.
BRUN Philippe- Messages : 223
Date d'inscription : 31/05/2015
Age : 71
Localisation : MONTAMISE près de POITIERS
Re: Teste de portée avec un script LUA
Voici un exemple de programmation :
Pour entrer dans le mode de test de portée, il faut pincer les manches vers l'intérieur et actionner l'interrupteur d'écolage (SH), ainsi merder en vol est peu probable. Pour en sortir il suffit d'actionner à nouveau l'interrupteur SH.
Pour entrer dans le mode de test de portée, il faut pincer les manches vers l'intérieur et actionner l'interrupteur d'écolage (SH), ainsi merder en vol est peu probable. Pour en sortir il suffit d'actionner à nouveau l'interrupteur SH.
Sacre100- Messages : 1889
Date d'inscription : 30/11/2013
Age : 67
Localisation : Blonay - Suisse
Re: Teste de portée avec un script LUA
BRUN Philippe a écrit:...Je pioche toujours mon LUA mais ça veux pas. j'aimerais savoir comment on peux envoyer une info au servo. j'arrive à faire varier un nombre entre 1000 et 2000 donc mon idée était d'envoyer ce nombre à la sortie ou commande du servo, mais je ne sais pas si quelqu'un connait la procédure je suis preneur. ...
Il faut t'inspirer des scripts existant qui contrôlent des servos, par exemple, le tracker d'antenne : https://frskytaranis.forumactif.org/t1168-traker-d-antenne-suivi-du-modele-en-lua
-
Sacre100- Messages : 1889
Date d'inscription : 30/11/2013
Age : 67
Localisation : Blonay - Suisse
Re: Teste de portée avec un script LUA
hello Sacre100,
Merci pour ton aide. Je regarde tout ça et je tiens le forum au courant de mes avancées ou de mes échecs.
A+
Merci pour ton aide. Je regarde tout ça et je tiens le forum au courant de mes avancées ou de mes échecs.
A+
BRUN Philippe- Messages : 223
Date d'inscription : 31/05/2015
Age : 71
Localisation : MONTAMISE près de POITIERS
Re: Teste de portée avec un script LUA
Yes Sacre100
Ton truc de programme radio ça marche bien. En contre partie il faut programmer chaque modèle, mais c'est un bon début pour moi pour faire des mixages, et je n'ai pas des centaines de modèles. Je débute avec ma Taranis. Je pioche le LUA pour avancer.
Merci encore
Ton truc de programme radio ça marche bien. En contre partie il faut programmer chaque modèle, mais c'est un bon début pour moi pour faire des mixages, et je n'ai pas des centaines de modèles. Je débute avec ma Taranis. Je pioche le LUA pour avancer.
Merci encore
BRUN Philippe- Messages : 223
Date d'inscription : 31/05/2015
Age : 71
Localisation : MONTAMISE près de POITIERS
Re: Teste de portée avec un script LUA
hello les spécialistes du LUA
Voilà ce que j'ai écrit:
local function tempo()
lcd.lock()
lcd.clear()
local time = getTime()% 2000
lcd.drawNumber(100,10,time,0) -- pour voir ce que fait la variable time
if time<1000 then
creneau=1000+time
--lcd.drawNumber(100,35,creneau,0) --pour débuguer compte jusqu'a 2000
end
if time>1000 then
creneau=3000-time
--lcd.drawNumber(100,45,creneau,0) --pour débuguer décompte jusqu'à 1000
end
lcd.drawNumber(100,55,creneau,0) --affiche la valeur de la variable creneau, c'est ce que je voudrais envoyer aux servos
lcd.drawGauge(0, 20, 100, 10, creneau, 2000) --affiche la jauge,
--local canal4 = {"ch4", -100, 100, 0, creneau,0,0 }
model.setOutput(151,{"ch4", -100, 100, 0, creneau,0,0 }) --ce que je croyais qui envoyait la valleur de la variable creneaux au servos
end
return{run=tempo, }
je suis surement à coté de la plaque mai bon j'essaye.
Philippe
Voilà ce que j'ai écrit:
local function tempo()
lcd.lock()
lcd.clear()
local time = getTime()% 2000
lcd.drawNumber(100,10,time,0) -- pour voir ce que fait la variable time
if time<1000 then
creneau=1000+time
--lcd.drawNumber(100,35,creneau,0) --pour débuguer compte jusqu'a 2000
end
if time>1000 then
creneau=3000-time
--lcd.drawNumber(100,45,creneau,0) --pour débuguer décompte jusqu'à 1000
end
lcd.drawNumber(100,55,creneau,0) --affiche la valeur de la variable creneau, c'est ce que je voudrais envoyer aux servos
lcd.drawGauge(0, 20, 100, 10, creneau, 2000) --affiche la jauge,
--local canal4 = {"ch4", -100, 100, 0, creneau,0,0 }
model.setOutput(151,{"ch4", -100, 100, 0, creneau,0,0 }) --ce que je croyais qui envoyait la valleur de la variable creneaux au servos
end
return{run=tempo, }
je suis surement à coté de la plaque mai bon j'essaye.
Philippe
BRUN Philippe- Messages : 223
Date d'inscription : 31/05/2015
Age : 71
Localisation : MONTAMISE près de POITIERS
Re: Teste de portée avec un script LUA
Hello Philippe,
Je dois encore regarder les scripts en Lua mais pour quelle raison calcules-tu la valeur de sortie en fonction du temps ?
Il suffit (à mon sens) d'aller de -100 à +100 par pas de 1 puis de +100 à -100 par pas de -1 avec une éventuelle pause entre les (re)pas ;-)
Comme indiqué, je vais tâcher de jeter un oeil là-dessus ce week-end...
Coyotte
Je dois encore regarder les scripts en Lua mais pour quelle raison calcules-tu la valeur de sortie en fonction du temps ?
Il suffit (à mon sens) d'aller de -100 à +100 par pas de 1 puis de +100 à -100 par pas de -1 avec une éventuelle pause entre les (re)pas ;-)
Comme indiqué, je vais tâcher de jeter un oeil là-dessus ce week-end...
Coyotte
_________________
... the alien anthropologists admitted they were still perplexed.
But on eliminating every other reason for our sad demise, they logged the only explanation left :
This species has amused itself to death...
(R. Waters)
Pas de support par MP ! Nous sommes sur un forum pour échanger publiquement.
CoyotteDundee- Administrateur
- Messages : 5886
Date d'inscription : 03/03/2014
Age : 60
Localisation : Montegnée (Liège)
Re: Teste de portée avec un script LUA
Salut Coyotte
Pour commander un cerveau on envoi un créneau comprit entre 1000 et 2000 µs. je me suis dit qu'il fallait envoyer au servo une impulsion qui dure un certain temps. je me suis lancé dans un truc qui compte mais sans trop maîtriser l'info à donner au servo. Si ça avait fonctionné j'aurai ajusté le temps de mon compteur. Dans le principe je suis surement a coté de la plaque. Tu dois avoir raison il faut plutôt envoyer un signal entre -et + 100 %. je débute en programmation et ne connait pas du tout comment fonctionne cette radio pour lui envoyer des info.
Merci encore
Philippe
Pour commander un cerveau on envoi un créneau comprit entre 1000 et 2000 µs. je me suis dit qu'il fallait envoyer au servo une impulsion qui dure un certain temps. je me suis lancé dans un truc qui compte mais sans trop maîtriser l'info à donner au servo. Si ça avait fonctionné j'aurai ajusté le temps de mon compteur. Dans le principe je suis surement a coté de la plaque. Tu dois avoir raison il faut plutôt envoyer un signal entre -et + 100 %. je débute en programmation et ne connait pas du tout comment fonctionne cette radio pour lui envoyer des info.
Merci encore
Philippe
BRUN Philippe- Messages : 223
Date d'inscription : 31/05/2015
Age : 71
Localisation : MONTAMISE près de POITIERS
Re: Teste de portée avec un script LUA
Pas besoin de radio pour ça, il y'a la télévision et les débats politiques.BRUN Philippe a écrit:Pour commander un cerveau...
Re: Teste de portée avec un script LUA
Bien vu je n'avais pas fait gaffe à mon écriture.
BRUN Philippe- Messages : 223
Date d'inscription : 31/05/2015
Age : 71
Localisation : MONTAMISE près de POITIERS
Re: Teste de portée avec un script LUA
Hello Philippe,
No stress.
Je suis d'accord que pour commander le servo, il faut une pulse entre 1 et 2 ms toutes les +- 20ms... Mais c'est OpenTx (ou la partie HF) qui se charge de ça.
A ma connaissance, nous pilotons les voies entre -100 et +100 (voire plus avec les débattement étendus) et donc je pense que faire évoluer les voies entre ces deux valeurs devrait suffire. (Kilrah, si tu passes par ici... ;-) )
Les p'tits gars d 'OpenTx nous simplifient la vie autant qu'ils le peuvent :-)
Je reviens vers toi dès que j'ai plus d'infos à ce sujet,
Coyotte
No stress.
Je suis d'accord que pour commander le servo, il faut une pulse entre 1 et 2 ms toutes les +- 20ms... Mais c'est OpenTx (ou la partie HF) qui se charge de ça.
A ma connaissance, nous pilotons les voies entre -100 et +100 (voire plus avec les débattement étendus) et donc je pense que faire évoluer les voies entre ces deux valeurs devrait suffire. (Kilrah, si tu passes par ici... ;-) )
Les p'tits gars d 'OpenTx nous simplifient la vie autant qu'ils le peuvent :-)
Je reviens vers toi dès que j'ai plus d'infos à ce sujet,
Coyotte
_________________
... the alien anthropologists admitted they were still perplexed.
But on eliminating every other reason for our sad demise, they logged the only explanation left :
This species has amused itself to death...
(R. Waters)
Pas de support par MP ! Nous sommes sur un forum pour échanger publiquement.
CoyotteDundee- Administrateur
- Messages : 5886
Date d'inscription : 03/03/2014
Age : 60
Localisation : Montegnée (Liège)
Re: Teste de portée avec un script LUA
Hello Coyotte
Merci pour tes infos et tes démarche.
A+
Merci pour tes infos et tes démarche.
A+
BRUN Philippe- Messages : 223
Date d'inscription : 31/05/2015
Age : 71
Localisation : MONTAMISE près de POITIERS
Re: Teste de portée avec un script LUA
Philippe,
En fin de programme tu devrait écrire:
En fin de programme tu devrait écrire:
- Code:
return { run=run, output={ "tempo" } }
nicephore- Messages : 612
Date d'inscription : 14/06/2014
Localisation : Créteil
Re: Teste de portée avec un script LUA
Hello nicephore
Cette écriture de programme je ne l'ai pas vu ou pas comprise dans "OpenTx Reference Guide". Je n’aurai jamais trouvé seul. J'essai tout ça et te tiens au courant.
Merci à toi pour ton aide.
Philippe
Cette écriture de programme je ne l'ai pas vu ou pas comprise dans "OpenTx Reference Guide". Je n’aurai jamais trouvé seul. J'essai tout ça et te tiens au courant.
Merci à toi pour ton aide.
Philippe
BRUN Philippe- Messages : 223
Date d'inscription : 31/05/2015
Age : 71
Localisation : MONTAMISE près de POITIERS
Re: Teste de portée avec un script LUA
hello nicephore,
Bon et bien j'ai mis return { run=run, output={ "tempo" } } mais ça me renvoi une syntax error: tente d'appeler une valeur nulle.
Je ne vois pas du tout comment je peux exploiter ce que renvoie la fonction tempo. Je suis vraiment un bleu en LUA.
Peux-tu m'en dire plus ou me faire l'exemple. Je joint mon code qui me donne l'erreur. (Je ne sais pas joindre le code comme tu fais).
Merci d'avance
Philippe
local function tempo()
lcd.lock()
lcd.clear()
local time = getTime()% 2000
if time<1000 then
creneau=1000+time
else
creneau=3000-time
end
lcd.drawGauge(0, 20, 100, 10, creneau, 2000)
Table = {"ch4", -100, 100, 0, creneau,0,0 }
output = model.setOutput(151,Table) --ce que je croyais qui envoyait la valeur de la variable creneau aux servos
end
return{run=run, output={ "tempo" } }
Bon et bien j'ai mis return { run=run, output={ "tempo" } } mais ça me renvoi une syntax error: tente d'appeler une valeur nulle.
Je ne vois pas du tout comment je peux exploiter ce que renvoie la fonction tempo. Je suis vraiment un bleu en LUA.
Peux-tu m'en dire plus ou me faire l'exemple. Je joint mon code qui me donne l'erreur. (Je ne sais pas joindre le code comme tu fais).
Merci d'avance
Philippe
local function tempo()
lcd.lock()
lcd.clear()
local time = getTime()% 2000
if time<1000 then
creneau=1000+time
else
creneau=3000-time
end
lcd.drawGauge(0, 20, 100, 10, creneau, 2000)
Table = {"ch4", -100, 100, 0, creneau,0,0 }
output = model.setOutput(151,Table) --ce que je croyais qui envoyait la valeur de la variable creneau aux servos
end
return{run=run, output={ "tempo" } }
BRUN Philippe- Messages : 223
Date d'inscription : 31/05/2015
Age : 71
Localisation : MONTAMISE près de POITIERS
Re: Teste de portée avec un script LUA
Bonjour, je crois que cela viens du fait que tempo est également le nom de ta fonction. Essaie de faire comme ça:
et la normalement le return VALUE se retrouvera en output et prendra le nom de tempo.
Masi je crois qu'il y-a un max de 4 caratères dans ce cas tu mettra par exemple temp au lieu de tempo.
Je ne peux tester, mais ce doit être ok.
- Code:
local function run()
-- déclaration de la variable
local VALUE = 0
.../...
.../...
VALUE = model.setOutput(151,Table)
return VALUE
end -- end function run()
return { run=run, output={ "tempo"} }
et la normalement le return VALUE se retrouvera en output et prendra le nom de tempo.
Masi je crois qu'il y-a un max de 4 caratères dans ce cas tu mettra par exemple temp au lieu de tempo.
Je ne peux tester, mais ce doit être ok.
nicephore- Messages : 612
Date d'inscription : 14/06/2014
Localisation : Créteil
Re: Teste de portée avec un script LUA
Hello,
Pour info, j'ai trouvé ceci hier : https://www.gitbook.com/book/opentx/opentx-lua-reference-guide/details
(C'est probablement déjà connu par certains d'entre vous)
J'imprime le PDF ce midi pour avoir une meilleure idée de ce qu'il est possible de faire...
Coyotte
Pour info, j'ai trouvé ceci hier : https://www.gitbook.com/book/opentx/opentx-lua-reference-guide/details
(C'est probablement déjà connu par certains d'entre vous)
J'imprime le PDF ce midi pour avoir une meilleure idée de ce qu'il est possible de faire...
Coyotte
_________________
... the alien anthropologists admitted they were still perplexed.
But on eliminating every other reason for our sad demise, they logged the only explanation left :
This species has amused itself to death...
(R. Waters)
Pas de support par MP ! Nous sommes sur un forum pour échanger publiquement.
CoyotteDundee- Administrateur
- Messages : 5886
Date d'inscription : 03/03/2014
Age : 60
Localisation : Montegnée (Liège)
Page 1 sur 3 • 1, 2, 3
Sujets similaires
» Pb de portée avec X6r
» test portee x9e avec x8r
» Portée insuffisante avec recepteur X4R 4ch
» Portée du signal avec TX16S
» [RESOLU] Portee radio avec mon recepteur
» test portee x9e avec x8r
» Portée insuffisante avec recepteur X4R 4ch
» Portée du signal avec TX16S
» [RESOLU] Portee radio avec mon recepteur
Page 1 sur 3
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum