Page 2 sur 3

Re: Sioc autothrottle

MessagePosté: Dim 24 Avr 2011 23:00
de worldhugo
Ok merci pour toutes ces précisions !! rigolus rigolus rigolus

A+

Hugo

Re: Sioc autothrottle

MessagePosté: Dim 1 Mai 2011 13:43
de worldhugo
Bonjour,
je reviens vers vous car j'ai commencé un code mais il ne fonctionne pas ......
Code: Tout sélectionner
Var 0000, name INIT
{
  &CONTROL = TIMER 999 ,0 ,2
}

Var 0001, name MARGE_ERREUR, Value 5

Var 0002, name PA_ACTIF, Value 0

Var 0003, name MOTOR_1, Link USB_DCMOTOR, Output 1

Var 0004, name THR_MOTOR1_FS, Link FSUIPC_INOUT, Offset $088C, Length 2
{
  &THR_MOTOR1_LIS = &THR_MOTOR1_FS / 64.25
}

Var 0005, name POTAR_THR1, Link IOCARD_ANALOGIC, Input 1, PosL 50, PosC 125, PosR 200
{
  &DIF = &THR_MOTOR1_LIS - &POTAR_THR1
}

Var 0006, name THR_MOTOR1_LIS
{
  &DIF = &THR_MOTOR1_LIS - &POTAR_THR1
}

Var 0007, name CONTROL, Link SUBRUTINE
{
  IF &PA_ACTIF = 1
  {
    IF &DIF >= &MARGE_ERREUR
    {
      IF &DIF < 0
      {
        &MOTOR_1 = 127   
      }
      IF &DIF > 0
      {
        &MOTOR_1 = -1   
      }
    }
  }
}

Var 0008, name DIF

Re: Sioc autothrottle

MessagePosté: Dim 1 Mai 2011 17:49
de chtipilot
Bonjour Hugo,

Peux-tu mettre une photo de ton montage (mieux une vidéo) ?
Le code seul ne permet pas de voir où est le problème.
Jean-Louis

Re: Sioc autothrottle

MessagePosté: Dim 1 Mai 2011 18:14
de worldhugo
C'est bon tout est résolu :
Code: Tout sélectionner
Var 0000, name INIT

Var 0001, name MARGE_ERREUR, Value 5

Var 0002, name PA_ACTIF, Value 0

Var 0003, name MOTOR_1, Link USB_DCMOTOR, Output 1

Var 0004, name THR_MOTOR1_FS, Link FSUIPC_INOUT, Offset $088C, Length 2
{
  &THR_MOTOR1_LIS = &THR_MOTOR1_FS / 64.25
}

Var 0005, name POTAR_THR1, Link IOCARD_ANALOGIC, Input 1, PosL 50, PosC 125, PosR 200
{
  &DIF = &THR_MOTOR1_LIS - &POTAR_THR1
  IF &PA_ACTIF = 1
  {
    IF &DIF_ABSOLUE >= &MARGE_ERREUR
    {
      IF &DIF < 0
      {
        &MOTOR_1 = 127   
      }
      IF &DIF > 0
      {
        &MOTOR_1 = -1   
      }
    }
    ELSE
    {
      &MOTOR_1 = 0   
    }
  }
}

Var 0006, name THR_MOTOR1_LIS
{
  &DIF = &THR_MOTOR1_LIS - &POTAR_THR1
  IF &PA_ACTIF = 1
  {
    IF &DIF_ABSOLUE >= &MARGE_ERREUR
    {
      IF &DIF < 0
      {
        &MOTOR_1 = 127   
      }
      IF &DIF > 0
      {
        &MOTOR_1 = -1   
      }
    }
    ELSE
    {
      &MOTOR_1 = 0   
    }
  }
}

Var 0008, name DIF
{
  &DIF_ABSOLUE = ABS &DIF
}

Var 0009, name DIF_ABSOLUE

Re: Sioc autothrottle

MessagePosté: Dim 1 Mai 2011 19:51
de chtipilot
Bonsoir Hugo, applaublanc

La différence entre le code 1 et le 2 c'est juste le ELSE &motor_1=0; essai de reprendre le 1° code en insérant cette condition et ça fonctionnera. De plus ton code sera plus lisible avec la SUBRUTINE "Control".

Jean-Louis

Re: Sioc autothrottle

MessagePosté: Dim 1 Mai 2011 19:59
de worldhugo
Comment inclure une subrutine la dedans ? gratgrat gratgrat

Re: Sioc autothrottle

MessagePosté: Lun 2 Mai 2011 00:42
de chtipilot
Bonsoir Hugo,

Le premier code était bon, mais '&MOTOR_1 = -1' est remplacé par "&MOTOR_1 = 0" ce qui coupe l'alimentation du moteur.

Pour la SUBRUTINE:
La "VAR 0000" lance le timer pour la SUBRUTINE "&CONTROL" (VAR 0007) qui tourne en permanence (incrément=0), c'est ce que j'appelle moi un "SCANNER" puisque tous les 2/10° de seconde on scanne &CONTROL (on passe la main à &CONTROL).
C'est très pratique mais il ne faut pas mettre trop de "SCANNER" en marche nonbleu .
Pour la valeur absolue (VAR yyyy = ABS VAR xxxx) je te fais confiance j'ai pas vérifé...
Je pense que tu peux alléger ton code.
En espérant que cette brève explication du timer te permettra d'y voir plus clair, cligneoeil

Jean-Louis

Code: Tout sélectionner
Var 0000, name INIT
{
  &CONTROL = TIMER 999 ,0 ,2
}

Var 0001, name MARGE_ERREUR, Value 5

Var 0002, name PA_ACTIF, Value 0

Var 0003, name MOTOR_1, Link USB_DCMOTOR, Output 1

Var 0004, name THR_MOTOR1_FS, Link FSUIPC_INOUT, Offset $088C, Length 2
{
  &THR_MOTOR1_LIS = &THR_MOTOR1_FS / 64.25
}

Var 0005, name POTAR_THR1, Link IOCARD_ANALOGIC, Input 1, PosL 50, PosC 125, PosR 200
{
  &DIF = &THR_MOTOR1_LIS - &POTAR_THR1
}

Var 0006, name THR_MOTOR1_LIS
{
  &DIF = &THR_MOTOR1_LIS - &POTAR_THR1
}

Var 0007, name CONTROL, Link SUBRUTINE
{
  IF &PA_ACTIF = 1
  {
    IF &DIF >= &MARGE_ERREUR
    {
      IF &DIF < 0
      {
        &MOTOR_1 = 127   
      }
      IF &DIF > 0
      {
        &MOTOR_1 = -1   
      }
    }
  }
   ELSE
    {
      &MOTOR_1 = 0   
    }
}

Var 0008, name DIF

Re: Sioc autothrottle

MessagePosté: Lun 2 Mai 2011 01:03
de worldhugo
Merci de toutes ces précisions Jean-Louis. grandsoleil

Autre petite question, est-il possible d'allumer une led brancher sur la master par l'intermédiaire d'une pression sur un bouton du joystick ???? gratgrat

Hugo

Re: Sioc autothrottle

MessagePosté: Lun 2 Mai 2011 07:37
de chtipilot
Bonjour Hugo,

Oui, tu peux tout faire même à partir d'une pression de touche au clavier;
Il suffit de connaître l'offset (la fonction) que tu active avec le bouton du Joystick ou du clavier.... grandsoleil
par exemple si tu met un bouton Joystick pour le frein de park :

Var 0010, name Led_ParkBrake, Link IOCARD_OUT, Device 1, Output 11 // LED Frein Park
Var 0025, name FSo_parkingBrake, Link FSUIPC_OUT, Offset $0BC8, Length 2 // Frein de park
{
&Led_ParkBrake = &FSo_parkingBrake
}

Jean-Louis

Re: Sioc autothrottle

MessagePosté: Lun 2 Mai 2011 08:29
de worldhugo
Je texplique : un de mes boutons du joystick est assigne a vasfmc par lintermediaire du reseau et de fsuipc. Je voudrais allumer une led quand jappui sur le bouton