[LVARS] Aide création LUA

Planche de bord ou MIP / Instruments ou Gauges maison / Pedestal / Overhead ou Planche de bord supèrieure

Re: les Lvars pour les nuls....

Messagede taton » Sam 20 Déc 2014 14:22

Message édité car n'apporte rien au sujet
Dernière édition par taton le Mar 23 Déc 2014 22:22, édité 2 fois.
J'ai fait tous les calculs... Ils confirment l'opinion des spécialistes: notre idée est irréalisable. Il ne me reste plus qu'une chose à faire; ...la réaliser.
Avatar de l’utilisateur
taton
 
Messages: 96
Inscription: 17/12/13
Localisation: Augny (57)

Re: les Lvars pour les nuls....

Messagede taton » Sam 20 Déc 2014 14:41

idem
Dernière édition par taton le Mar 23 Déc 2014 22:20, édité 1 fois.
J'ai fait tous les calculs... Ils confirment l'opinion des spécialistes: notre idée est irréalisable. Il ne me reste plus qu'une chose à faire; ...la réaliser.
Avatar de l’utilisateur
taton
 
Messages: 96
Inscription: 17/12/13
Localisation: Augny (57)

Re: les Lvars pour les nuls....

Messagede taton » Lun 22 Déc 2014 01:58

idem
Dernière édition par taton le Mar 23 Déc 2014 22:20, édité 2 fois.
J'ai fait tous les calculs... Ils confirment l'opinion des spécialistes: notre idée est irréalisable. Il ne me reste plus qu'une chose à faire; ...la réaliser.
Avatar de l’utilisateur
taton
 
Messages: 96
Inscription: 17/12/13
Localisation: Augny (57)

Re: les Lvars pour les nuls....

Messagede taton » Mar 23 Déc 2014 22:15

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
J'ai fait tous les calculs... Ils confirment l'opinion des spécialistes: notre idée est irréalisable. Il ne me reste plus qu'une chose à faire; ...la réaliser.
Avatar de l’utilisateur
taton
 
Messages: 96
Inscription: 17/12/13
Localisation: Augny (57)

Re: Aide création LUA

Messagede fab » Mer 24 Déc 2014 08:57

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
Dernière édition par fab le Mer 24 Déc 2014 09:20, édité 2 fois.
Avatar de l’utilisateur
fab
 
Messages: 4414
Inscription: 26/12/12
Localisation: Roubaix

Re: Aide création LUA

Messagede dreambox » Mer 24 Déc 2014 09:03

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
Dernière édition par dreambox le Mer 24 Déc 2014 09:17, édité 2 fois.
Avatar de l’utilisateur
dreambox
 
Messages: 303
Inscription: 23/11/13
Localisation: F62950 Noyelles-Godault

Re: Aide création LUA

Messagede dreambox » Mer 24 Déc 2014 09:13

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
Avatar de l’utilisateur
dreambox
 
Messages: 303
Inscription: 23/11/13
Localisation: F62950 Noyelles-Godault

Re: [LVARS] Aide création LUA

Messagede taton » Mer 24 Déc 2014 09:22

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 ^^
Dernière édition par taton le Mer 24 Déc 2014 11:37, édité 1 fois.
J'ai fait tous les calculs... Ils confirment l'opinion des spécialistes: notre idée est irréalisable. Il ne me reste plus qu'une chose à faire; ...la réaliser.
Avatar de l’utilisateur
taton
 
Messages: 96
Inscription: 17/12/13
Localisation: Augny (57)

Re: [LVARS] Aide création LUA

Messagede fab » Mer 24 Déc 2014 09:39

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 !
Avatar de l’utilisateur
fab
 
Messages: 4414
Inscription: 26/12/12
Localisation: Roubaix

Re: [LVARS] Aide création LUA

Messagede taton » Mer 24 Déc 2014 11:16

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
J'ai fait tous les calculs... Ils confirment l'opinion des spécialistes: notre idée est irréalisable. Il ne me reste plus qu'une chose à faire; ...la réaliser.
Avatar de l’utilisateur
taton
 
Messages: 96
Inscription: 17/12/13
Localisation: Augny (57)

PrécédenteSuivante

Retourner vers Tableau de bord





Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 7 invités