Page 2 sur 4

Re: les Lvars pour les nuls....

MessagePosté: Sam 20 Déc 2014 14:22
de taton
Message édité car n'apporte rien au sujet

Re: les Lvars pour les nuls....

MessagePosté: Sam 20 Déc 2014 14:41
de taton
idem

Re: les Lvars pour les nuls....

MessagePosté: Lun 22 Déc 2014 01:58
de taton
idem

Re: les Lvars pour les nuls....

MessagePosté: Mar 23 Déc 2014 22:15
de taton
Bonsoir!


Alors j'avance enfin dans la direction que je veux!!! chouettedoights

J'ai supprimé les 3 messages précédents car je me plantais complètement dans mon raisonnement!!!!

Suite à un petit échange avec un membre du forum A2A, il ma résolu mon problème...

voilà le LUA tant recherché:

LUA permettant d'affecter une variable proportionnellement au déplacement d'un axe, avec mise à l'échelle de la sortie

Code: Tout sélectionner
 function Cowl_Flap(control, Knob_in)

  if Knob_Out_Last == nil then Knob_Out_Last = 0 end

  Knob_Out = (round((Knob_in + 16383)/328))

    if Knob_Out < 0 then Knob_Out = 0 end

  ipc.writeLvar("L:Eng1_CowlFlapsLever", Knob_Out)

    if Knob_Out > Knob_Out_Last + 0.5 or Knob_Out < Knob_Out_Last - 0.5 then

    ipc.display("Cowl Flap = "..Knob_Out, 1) end

  Knob_Out_Last = Knob_Out

  end
 
-- rounds the integer
  function round(num)
   num = tonumber(num)
   if num == nil then return 0 end
    if num >= 0 then return math.floor(num+.5)
    else return math.ceil(num-.5) end
  end

-- Assign the Axis to "Offser Word Set" "Offset x66D4"

event.offset(0x66D4,"SW","Cowl_Flap")



Maintenant, je suis quelqu'un qui aime bien comprendre ce qu'il fait...
Alors quelqu'un pourrait-il m'expliquer la signification des termes suivants et syntaxes suivantes:


Code: Tout sélectionner
function Cowl_Flap(control, Knob_in)

pour moi: on créé une fonction du nom de "Cowl_flap" qui va analyser (control) l'entrée du potentiometre bougé (knob_in)
En gros, cette fonction va lire la valeur comprise dans la fourchette de -16384 à 16384 de mon axe.

J'ai juste?? gratgrat
Mais si oui, si jamais j'actionnes 2 axes en même temps, comment ma fonction va savoir quel axe analyser???

Code: Tout sélectionner
Knob_out

pour moi: sert a paramétrer une valeur de sortie sur mon axe, puisque la valeur de la variable s'étale seulement etre 0 et 100

Code: Tout sélectionner
Knob_out_last

pour moi: Sert à mémoriser la dernière valeur de sortie de mon axe

Code: Tout sélectionner
round

pour moi: fonction d'arrondi définie plus bas dans le code

le paramètre 1 à la fin de la commande ipc.display .... là, pas de réponse....

et le principe de fonctionnement de la partie "rounds the integer"...

J'avoue que de débuter dans le language LUA est plus compliqué que prevu....
mais je m'en sortirais....ou pas.... nonbleu


Merci d'avance.

Nathan

Re: Aide création LUA

MessagePosté: Mer 24 Déc 2014 08:57
de fab
Bonjour Nathan, c'est pas directement le fait de bouger l'axe mais le fait que la valeur de l'offset, ici $66D4 va bouger.

La fonction event.offset déclenche la fonction Cowl_Flap :
Code: Tout sélectionner
event.offset(0x66D4,"SW","Cowl_Flap")


Code: Tout sélectionner
 ipc.display("Cowl Flap = "..Knob_Out, 1)

Le 1 c'est 1 seconde ...

Un peu de llecture : http://www.google.fr/url?sa=t&rct=j&q=ipc.display%20lua&source=web&cd=2&ved=0CCsQFjAB&url=http%3A%2F%2Fwww.cityviewed.co.uk%2Fimages%2Fuploads%2Fdirectory%2Ffsuip%2FFSUIPC_Lua_Library.pdf&ei=tWSaVOvhOpXXarfVgrAH&usg=AFQjCNG6ZQT-OIHByqrDvalUm815OEY-sQ&sig2=CCQT-cbiNAJrj6b8hTnklw

Fabien

Re: Aide création LUA

MessagePosté: Mer 24 Déc 2014 09:03
de dreambox
Fab viens de te donner la réponse, c'est l'offset qui appelle la fonction et donc en fonction de l'offset choisi tu surveille la variable du potentiomètre correspondant .

La fonction ipc.display() est une fonction ajoutée au langage LUA par le module FSUIPC
La documentation en anglais est dans le répertoire de FSUIPC

Je viens de t'envoyer un petit cadeau sur ton adresse Email

Amicalement DREAMBOX

Re: Aide création LUA

MessagePosté: Mer 24 Déc 2014 09:13
de dreambox
Bon le titre de ce sujet à encore changer ! murrouge
Nathan peux tu laisser dans le titre "Lvars" entre crochets pour faciliter les recherches futures
du style {Lvars} Aide création LUA
Cordialement DREAMBOX

Re: [LVARS] Aide création LUA

MessagePosté: Mer 24 Déc 2014 09:22
de taton
je vous remercie!!

le code commence à devenir clair dans ma tête...
Seul l'argument "control" de la 1ere ligne me turlupine encore....

z'avez une explication sur cette ligne à me donner???


DreamboX, merci pour le cadeau ^^

Je vais avoir de quoi patienter en attendant le gros barbu ce soir ^^

Re: [LVARS] Aide création LUA

MessagePosté: Mer 24 Déc 2014 09:39
de fab
Dans la doc :
Déclaration de la fonction sous la forme :
Code: Tout sélectionner
fonction-name(offset, value)


Déduction : contrôle = 66D4 ...

Fabien

Salut dreamBOS ecroulerire , j'ai pas eu mon cadeau, moi !

Re: [LVARS] Aide création LUA

MessagePosté: Mer 24 Déc 2014 11:16
de taton
Bon alors j'ai eu une autre répoonse du Mr de chez A2A....

Le problème avec ces forums américains c'est que si tu pose une question le matin.... bah avec le décalage horraire, tu as la réponse que le lendemain.... et rebelotte.... alors ca avance pas vite ^^

je vous met la réponse ci dessous:



The 'control' is a pssed parameter that indicates what called (triggered) the function,.

It would be useful if one had a general purpose function that did different things depending
upon which control 'called' the function. "A" calls it and the 'control' is set as "A" so the function
then performs whatever processing is required for "A". Then "C" may call it and the function
then performs the processing needed for "C".


In the case of the script I gave you, it has no purpose other than there MUST be an entry in
the function to receive the passed control. You can not remove it. The format MUST be in the form:

function <function name>(parameter 1, parameter 2) thus we have

function Panel_Light(control, Knob_in) which could also be

function Panel_Light(dummy, data) in which case all instances of "Knob_in" would have
to be renamed "data". 'control' or 'dummy' is just an unused parameter/variable unless the
function processing needs to use it. I never had need to use it but it MUST be there.

Control or dummy or whatever the name is for the n1st parameter is a placeholder to
receive a passed parameter. Just as the 2nd parameter receives the data.

The format is dictated by Lua. This is all in the documentation for Lua scripts I am sure.

Paul