Le forum français des radios FrSKY

Teste de portée avec un script LUA

Page 3 sur 3 Précédent  1, 2, 3

Aller en bas

Re: Teste de portée avec un script LUA

Message par nicephore le Sam 30 Jan 2016 - 17:18

L'erreur viens des 2 lignes :
Code:
Table = {"ch8", -creneau, creneau, 0, 1500,0,0 }
VALUE = model.setOutput(155,Table)

Mais je ne parviens pas à trouver l'erreur.

La doc LUA nous dit pour la table:
a

table output parameters:

name (string) name
min (number) Minimum % * 10
max (number) Maximum % * 10
offset (number) Subtrim * 10
ppmCenter (number) offset from PPM Center. 0 = 1500
symetrical (number) linear Subtrim 0 = Off, 1 = On
revert (number) irection 0 = ­­­---, 1 = INV
curve
(number) Curve number (0 for Curve1)
or nil if no curve set
a écrit:
Soit 8 éléments mais tu n'en utilise que 7. J'ai donc placé nil pour le dernier mais rien n'y fait.

Comme toi je ne sais pas utiliser les model.setOutput()
Poser la question auprès de kilrah serait un bon raccourcis.

nicephore

Messages : 606
Date d'inscription : 14/06/2014
Localisation : Créteil

Revenir en haut Aller en bas

Re: Teste de portée avec un script LUA

Message par BRUN Philippe le Sam 30 Jan 2016 - 17:49

Comment fais tu pour savoir que l'erreur vient de ces 2 lignes chez moi rien ne me signale une erreur ?
kilrah surf sur le forum il va bien voir notre souci.
avatar
BRUN Philippe

Messages : 166
Date d'inscription : 31/05/2015
Age : 65
Localisation : MONTAMISE près de POITIERS

Revenir en haut Aller en bas

Re: Teste de portée avec un script LUA

Message par nicephore le Sam 30 Jan 2016 - 17:59

BRUN Philippe a écrit:Comment fais tu pour savoir que l'erreur vient de ces 2 lignes chez moi rien ne me signale une erreur ?
J'ai fait dedebug par mise en commentaire des lignes ... tous simplement et en affectant une valeur à la variable VALUE.

nicephore

Messages : 606
Date d'inscription : 14/06/2014
Localisation : Créteil

Revenir en haut Aller en bas

Re: Teste de portée avec un script LUA

Message par BRUN Philippe le Sam 30 Jan 2016 - 18:16

je ne comprend pas " J'ai fait dedebug par mise en commentaire des lignes" comment tu fais ça
avatar
BRUN Philippe

Messages : 166
Date d'inscription : 31/05/2015
Age : 65
Localisation : MONTAMISE près de POITIERS

Revenir en haut Aller en bas

Re: Teste de portée avec un script LUA

Message par nicephore le Sam 30 Jan 2016 - 19:07

Une ligne non en debug par exemple:
VALUE = model.setOutput(155,Table)
et mainteant je la mets en commentaire (grace au --) et donc l'interpreteur n'en tiendra plus compte
-- VALUE = model.setOutput(155,Table)

La différence avant et après c'est que le script sort en erreur.
Je me fait comprendre ?

nicephore

Messages : 606
Date d'inscription : 14/06/2014
Localisation : Créteil

Revenir en haut Aller en bas

Re: Teste de portée avec un script LUA

Message par BRUN Philippe le Sam 30 Jan 2016 - 20:30

Yes compris
Merci
avatar
BRUN Philippe

Messages : 166
Date d'inscription : 31/05/2015
Age : 65
Localisation : MONTAMISE près de POITIERS

Revenir en haut Aller en bas

Re: Teste de portée avec un script LUA

Message par BRUN Philippe le Sam 30 Jan 2016 - 20:57

Hello nicephore

En manipant comme tu fais
VALUE=model.setOutput(155,Table) là il sort en erreur

model.setOutput(155,Table) là il ne sort plus en erreur

mais dans les 2 cas il se passe rien en sortie.

Je crois que je vais abandonner la programmation LUA à moins que kilrah me vienne en aide
Merci encore pour ta pateince
Philippe
avatar
BRUN Philippe

Messages : 166
Date d'inscription : 31/05/2015
Age : 65
Localisation : MONTAMISE près de POITIERS

Revenir en haut Aller en bas

Re: Teste de portée avec un script LUA

Message par Sacre100 le Sam 30 Jan 2016 - 23:21

Essaie ça :
Code:
local value, delta = 0, 1
local function run()
  if value > 100 then
    delta = -1
  elseif value < -100 then
    delta = 1
  end
  value = value + delta
  return 10 * value
end
return { run=run, output={ "tmp"} }

avatar
Sacre100

Messages : 1889
Date d'inscription : 30/11/2013
Age : 61
Localisation : Blonay - Suisse

Revenir en haut Aller en bas

Re: Teste de portée avec un script LUA

Message par nicephore le Sam 30 Jan 2016 - 23:53

Pour moi mon Pb est comprendre le setOutput() et surtout avec sa table.
Lorsque que je dit que ces 2 lignes:
Code:
Table = {"ch8", -creneau, creneau, 0, 1500,0,0 }
VALUE = model.setOutput(155,Table)
donnent l'erreur, oui mais je ne sais laquelle des deux.

Maintenant le code de Sacre doit pouvoir remplir l'objectif. Non ?

nicephore

Messages : 606
Date d'inscription : 14/06/2014
Localisation : Créteil

Revenir en haut Aller en bas

Re: Teste de portée avec un script LUA

Message par Sacre100 le Dim 31 Jan 2016 - 0:43

nicephore a écrit:Pour moi mon Pb est comprendre le setOutput() et surtout avec sa table.
Lorsque que je dit que ces 2 lignes:
Code:
Table = {"ch8", -creneau, creneau, 0, 1500,0,0 }
VALUE = model.setOutput(155,Table)
donnent l'erreur, oui mais je ne sais laquelle des deux.

Le premier paramètre dans ton setOutput, c'est 155, cela voudrait dire que tu veux modifier la voie 156 or il n'y a que 32 voies sur la Taranis. La valeur du premier paramètre ne peut qu'être comprise entre 0 et 31.

Ensuite, la table doit être ainsi :
Code:
table = {name = "ch8",  min = -creneau, max = creneau, offset = 0, ppmCenter = 0, symetrical = 0, revert = 0}

Pour ppmCenter, j'ai mis 0 car la doc indique bien que c'est un offset et non le ppmCenter center (offset from PPM Center. 0 = 1500).

Ensuite la fonction setOuput retourne "nil," alors qu'OpenTx s'attend à recevoir des valeurs numériques, c'est probablement ça qui fait que tu obtiens un "Syntaxe error".


Dernière édition par Sacre100 le Dim 31 Jan 2016 - 11:15, édité 1 fois
avatar
Sacre100

Messages : 1889
Date d'inscription : 30/11/2013
Age : 61
Localisation : Blonay - Suisse

Revenir en haut Aller en bas

Re: Teste de portée avec un script LUA

Message par Sacre100 le Dim 31 Jan 2016 - 10:01

Si tu veux vraiment passer par setOutput, c'est pas très compliqué, on peut le faire avec deux function script, l'un pour modifier la programmation lors du test de portée, l'autre pour restaurer la programmation lorsque le test est terminé.

Le premier qui fait le test (test.lua à mettre dans /SCRIPTS/FUNCTIONS)
Code:
local value, delta
local function run()
  if not oldOffset then
    value = model.getOutput(7).offset
    oldOffset = value
    delta = 10
  end
  value = value + delta
  if math.abs(value) > 1000 then
    delta = -delta
    value = value + delta
  end
  model.setOutput(7, {offset = value})
end
return { run=run }

Le second qui restaure la programmation (rest.lua à mettre aussi dans /SCRIPTS/FUNCTIONS)
Code:
local function run()
  if oldOffset then
    model.setOutput(7, {offset = oldOffset})
    oldOffset = nil
  end
end
return { run=run }

Et dans les fonctions spéciales, j'ai associé ces scripts à SH.
avatar
Sacre100

Messages : 1889
Date d'inscription : 30/11/2013
Age : 61
Localisation : Blonay - Suisse

Revenir en haut Aller en bas

Re: Teste de portée avec un script LUA

Message par BRUN Philippe le Dim 31 Jan 2016 - 14:08

Hello Sacre100
Ton truc ça marche bien.
Il me reste plus qu'a bien étudier tout ça pour bien le digérer.
Si l'équipe d'OpenTx peut intégrer tous ça dans une prochaine version ça serait super. Pour l'instant il faut quand même configurer dans le modèle, si on pouvait le faire sans se serai le top.
Merci encore Sacre100
Philippe
avatar
BRUN Philippe

Messages : 166
Date d'inscription : 31/05/2015
Age : 65
Localisation : MONTAMISE près de POITIERS

Revenir en haut Aller en bas

Re: Teste de portée avec un script LUA

Message par Heisenberg le Dim 31 Jan 2016 - 14:41

BRUN Philippe a écrit:.../...Si l'équipe d'OpenTx peut intégrer tous ça dans une prochaine version ça serait super.../...
C'est déjà intégré !
Le problème, c'est qu'on ne trouve pas de Sacre100 qui soit livré en option dans la boite.
avatar
Heisenberg

Messages : 1459
Date d'inscription : 30/07/2015
Age : 45
Localisation : Lille

http://tinyurl.com/TARANIS-HEISENBERG

Revenir en haut Aller en bas

Re: Teste de portée avec un script LUA

Message par BRUN Philippe le Dim 31 Jan 2016 - 15:49

ou ça j'ai pas compris l'humour, mais des fois je suis un peu lourd
avatar
BRUN Philippe

Messages : 166
Date d'inscription : 31/05/2015
Age : 65
Localisation : MONTAMISE près de POITIERS

Revenir en haut Aller en bas

Re: Teste de portée avec un script LUA

Message par BRUN Philippe le Dim 31 Jan 2016 - 16:35

Hello Sacre100
j'ai pigé, il reste un point la variable "oldOffset" qui vient de la fonction Test est stockée ou et comment pour que la fonction Restaure aille la récupérer.
avatar
BRUN Philippe

Messages : 166
Date d'inscription : 31/05/2015
Age : 65
Localisation : MONTAMISE près de POITIERS

Revenir en haut Aller en bas

Re: Teste de portée avec un script LUA

Message par Sacre100 le Dim 31 Jan 2016 - 17:26

La variable oldOffset n'est pas déclarée "local" alors elle est "global" et ainsi elle est accessible par tous les scripts chargés dans l'environnement LUA.

J'explique la portée des variables dans LUA ici : [Vous devez être inscrit et connecté pour voir ce lien]

Au niveau des types de script, j'en parlais aussi sur le même fil de discussion : [Vous devez être inscrit et connecté pour voir ce lien]

avatar
Sacre100

Messages : 1889
Date d'inscription : 30/11/2013
Age : 61
Localisation : Blonay - Suisse

Revenir en haut Aller en bas

Re: Teste de portée avec un script LUA

Message par BRUN Philippe le Dim 31 Jan 2016 - 18:49

Merci je n'avais pas vu ces poste sur le forum.
je pioche
merci encore Sacre100
avatar
BRUN Philippe

Messages : 166
Date d'inscription : 31/05/2015
Age : 65
Localisation : MONTAMISE près de POITIERS

Revenir en haut Aller en bas

Re: Teste de portée avec un script LUA

Message par Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Page 3 sur 3 Précédent  1, 2, 3

Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum