Air-Cockpit
Air-Cockpit
Air-Cockpit
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.

Air-Cockpit

Echange et partage entre créateurs et réalisateurs de simulateurs de vol.
 
AccueilDernières imagesS'enregistrerConnexion
Aircokpit est définitivement transféré à sa nouvelle adresse http://www.aircockpit.com. Ce forum sera bientôt en lecture seule. Voir messages d'annonce dans les sujets ci-dessous. L'équipe AIRCOCKPIT
-39%
Le deal à ne pas rater :
Ordinateur portable ASUS Chromebook Vibe CX34 Flip
399 € 649 €
Voir le deal

 

 Faire clignoter une led

Aller en bas 
+2
razmott
explora
6 participants
AuteurMessage
explora

explora


Nombre de messages : 80
Date d'inscription : 06/04/2008

Faire clignoter une led Empty
MessageSujet: Faire clignoter une led   Faire clignoter une led EmptyVen 13 Fév - 16:29

Bonjour a tous
J'ai essayer de comprendre sur le site des 2 pierre mais pas moyen de faire clignoter ma led Master Warning.
Je voudrai qu'elle clignote 3 fois orsque je deconnecte AP1 ou AP2.Pour l'instant j'ai reussi a l'allumer mais c tout.
Comment faire je n'ai as compris apperement.

Voici mon code le debut et puis la fin avec la variable lie a la sortie de a led

Var 0000, Value 0
{
V0050 = CLEARBIT 23 // Pone MODO IAS
V0057 = V0004 // IAS leidas en IAS temporal
V0058 = V0005 // MATH leidas en MATH temporal
V0421 = 0 // ALT a 0
V0529 = 0 // activo 00 del ALT
V0356 = 0 // QNH a Standard
V0098 = 0 // Led Master warning eteinte
V0099 = 10
V0099 = TIMER 0 ,-1 ,50

.......


Var 0098, Link IOCARD_OUT, Output 24 // LED Master Warning

Var 0099, Value 0 // var inter pour led Master warn
{
V0098 = 0
V0100 = 0
V0100 = TIMER 0 ,-1 ,50
}

Var 0100 // led clignot
{
L1 = MOD V0100 ,2
V0098 = L1
}


Merci d'avance pour un coup de pouce.


Dernière édition par explora le Sam 21 Fév - 11:56, édité 1 fois
Revenir en haut Aller en bas
explora

explora


Nombre de messages : 80
Date d'inscription : 06/04/2008

Faire clignoter une led Empty
MessageSujet: Re: Faire clignoter une led   Faire clignoter une led EmptyVen 13 Fév - 21:12

Re...
Bon voila autrement dit, car j ai essaye pleins de choses et je n y arrive pas.Voici mon code utilisé recu d'un espagnole auquel j'ai ajoute mes reglages.
Comment a partir de celui ci puis-je faire pour faire clignoter la led Master Warning 3 fois a partir du moment ou je deconnecte le PA que se soit AP1ou AP2.Apres un exemple je pense que pour celle du Mastr Caution je devrais y arrive.

PS: Pour les airbussiens profitez du code car il faonctionne tres bien pour le FCU EFIS

Var 0000, Value 0
{
V0050 = CLEARBIT 23 // Pone MODO IAS
V0057 = V0004 // IAS leidas en IAS temporal
V0058 = V0005 // MATH leidas en MATH temporal
V0421 = 0 // ALT a 0
V0529 = 0 // activo 00 del ALT
V0356 = 0 // QNH a Standard
}

Var 0003, Link FSUIPC_IN, Offset $04F0, Length 2
{
C0 = TESTBIT V0003 ,15 // Modo MATH o IAS ?
IF C0 // MATH MODE
{
V0910 = 0
V0910 = TIMER 1 ,1 ,5 // Lanzo un timer para retardar y dar tiemp
V0402 = -999999 // Apago el valor del IAS
L0 = TESTBIT V0008 ,1 // Miro si está blank el SPD para poner o n
IF L0 = 0
{
V0516 = 1 // Enciendo el punto decimal
}
V0406 = 8 // Enciendo indicador de MACH
V0405 = -999999 // Apago el indicador de IAS
}
ELSE // IAS MODE
{
V0911 = 0
V0911 = TIMER 1 ,1 ,5 // Lanzo un timer para retardar y dar tiemp
V0407 = -999999 // Apago el valor del MACH
V0516 = 0 // Apago el punto decimal
V0406 = -999999 // Apago el indicador de MACH
V0405 = 8 // Enciendo el indicador de IAS
}
C0 = TESTBIT V0003 ,6 // Modo HDG/TRK o AP ?
IF C0 // MODO AP
{
V0403 = -999998 // Pongo los guiones en el HDG
V0517 = 1 // Enciendo el punto del HDG
}
ELSE
{
V0912 = 0
V0912 = TIMER 1 ,1 ,5 // Lanzo un timer para retardar y dar tiemp
V0517 = 0 // Apago el punto del HDG
}
C0 = TESTBIT V0003 ,0 // LUZ del AP1
IF C0 // AP1 ON
{
V0519 = 1
}
ELSE // AP1 OFF
{
V0519 = 0
}
C0 = TESTBIT V0003 ,1 // LUZ del AP2
IF C0 // AP2 ON
{
V0520 = 1
}
ELSE // AP2 OFF
{
V0520 = 0
}
C0 = TESTBIT V0003 ,11 // LUZ del ATHR
IF C0 // ATHR ON
{
V0521 = 1
}
ELSE // ATHR OFF
{
V0521 = 0
}
C0 = TESTBIT V0003 ,5 // LUZ del LOC
IF C0 // ATHR ON
{
V0522 = 1
}
ELSE // ATHR OFF
{
V0522 = 0
}
C0 = TESTBIT V0003 ,4 // LUZ del APPR
IF C0 // APPR ON
{
V0523 = 1
}
ELSE // APPR OFF
{
V0523 = 0
}
}

Var 0004, Link FSUIPC_IN, Offset $04E0, Length 2
{
CALL V0901 // Display del valor
}

Var 0005, Link FSUIPC_IN, Offset $04E8, Length 2
{
CALL V0901 // Display del valor
}

Var 0006, Link FSUIPC_IN, Offset $04F6, Length 2
{
C0 = TESTBIT V0006 ,11 // Modo HDG/TRK o VS/FPA
IF C0 // TRK y FPA
{
V0414 = 8 // Indicador TRK Encendido
V0411 = 8 // Indicador TRK FPA Encendido
V0419 = 8 // Indicador FPA Encendido
V0415 = -999999 // Indicador HDG Apagado
V0412 = -999999 // Indicador HDG V/S Apagado
V0418 = -999999 // Indicador V/S Apagado
V0912 = 0
V0912 = TIMER 1 ,1 ,5 // Lanzo un timer para retardar y dar tiemp
V0915 = 0
V0915 = TIMER 1 ,1 ,5 // Lanzo un timer para retardar y dar tiemp
}
ELSE
{
V0414 = -999999 // Indicador TRK apagado
V0411 = -999999 // Indicador TRK FPA apagado
V0419 = -999999 // Indicador FPA apagado
V0415 = 8 // Indicador HDG encendido
V0412 = 8 // Indicador HDG V/S encendido
V0418 = 8 // Indicador V/S encendido
V0912 = 0
V0912 = TIMER 1 ,1 ,5 // Lanzo un timer para retardar y dar tiemp
V0916 = 0
V0916 = TIMER 1 ,1 ,5 // Lanzo un timer para retardar y dar tiemp
}
C0 = TESTBIT V0006 ,12 // LUZ del EXPED
IF C0 // EXPED ON
{
V0524 = 1
}
ELSE // EXPED OFF
{
V0524 = 0
}
}

Var 0007, Link FSUIPC_IN, Offset $04E2, Length 2
{
CALL V0902
}

Var 0008, Link FSUIPC_IN, Offset $051C, Length 2
{
C0 = TESTBIT V0008 ,1 // Miro si está blank el SPD
IF C0
{
V0402 = -999998 // Apaga IAS y el MACH
V0407 = -999998
V0516 = 0 // Apaga punto decimal
V0518 = 1 // Enciende punto del SPD
}
ELSE
{
CALL V0913 // Pinta IAS/MACH
V0518 = 0 // Apaga punto del SPD
}
C0 = TESTBIT V0008 ,3 // Miro si QNH esta en hPa o inHg
IF C0
{
V0359 = 1
V0350 = V0351
CALL V0380 // PINTA QNH
}
ELSE
{
V0359 = 0
V0350 = V0351
CALL V0380 // PINTA QNH
}
}

Var 0009, Link FSUIPC_IN, Offset $5528, Length 2
{
C0 = TESTBIT V0006 ,11 // Modo HDG/TRK o VS/FPA
C1 = TESTBIT V0009 ,2 // Apagado / Encendido
IF C0 // TRK y FPA
{
IF C1 // FPA Apagado
{
V0526 = 1 // Enciendo . decimal
V0423 = -999999 // Apaga VS /FPA
V0528 = 1 // Enciendo el signo -
}
ELSE // FPA Encendido
{
V0915 = 0
V0915 = TIMER 1 ,1 ,5 // Lanzo un timer para retardar y dar tiemp
V0526 = 1 // Enciendo . decimal
CALL V0914 // Presento valor
}
}
ELSE // VS
{
IF C1 // VS Apagado
{
V0526 = 0 // Apago . decimal
V0527 = 11 // Apago 00 del VS
V0423 = -999999 // Apaga VS /FPA
V0528 = 1 // Enciendo el signo -
}
ELSE // VS Encendido
{
V0916 = 0
V0916 = TIMER 1 ,1 ,5 // Lanzo un timer para retardar y dar tiemp
V0527 = 0 // Enciendo 00 del VS
CALL V0914 // Presento valor
}
}
}
Revenir en haut Aller en bas
explora

explora


Nombre de messages : 80
Date d'inscription : 06/04/2008

Faire clignoter une led Empty
MessageSujet: Re: Faire clignoter une led   Faire clignoter une led EmptyVen 13 Fév - 21:13

Var 0010, Link FSUIPC_INOUT, Offset $04E6, Length 2, Type 1 // VS/FPA
{
CALL V0914
}

Var 0050, Link FSUIPC_OUT, Offset $5410, Length 4

Var 0055, Link FSUIPC_OUT, Offset $5408, Length 2

Var 0056, Link FSUIPC_OUT, Offset $540A, Length 2

Var 0057, Link FSUIPC_OUT, Offset $5406, Length 2

Var 0058, Link FSUIPC_OUT, Offset $540E, Length 2

Var 0059, Link FSUIPC_INOUT, Offset $5414, Length 4

Var 0063, Link FSUIPC_IN, Offset $5414, Length 4
{
C0 = TESTBIT V0063 ,5 // LUZ del FD
IF C0 // FD ON
{
V0555 = 1
}
ELSE // FD OFF
{
V0555 = 0
}
C0 = TESTBIT V0063 ,17 // LUZ del ILS
IF C0 // ILS ON
{
V0556 = 1
}
ELSE // ILS OFF
{
V0556 = 0
}
}

Var 0060, Link FSUIPC_OUT, Offset $540C, Length 2 // VS

Var 0214, Link IOCARD_SW, Input 19 // Bouton Master Warning
{
IF V0214 = 1
{
&led_Mast_Warn = 0
}
}

Var 0215, Link IOCARD_SW, Input 32, Type P // Boton MATH
{
V0050 = CHANGEBIT 23 ,V0215
}

Var 0216, Link IOCARD_SW, Input 37, Type P // Boton TRKFPA
{
V0059 = CHANGEBIT 29 ,V0216
}

Var 0217, Link IOCARD_SW, Input 43 // Boton Speed Push
{
IF V0217 = 1
{
V0059 = TOGGLE 20
}
}

Var 0218, Link IOCARD_SW, Input 42 // Boton Speed Pull
{
V0059 = TOGGLE 21
}

Var 0219, Link IOCARD_SW, Input 54 // Boton Heading push
{
V0059 = TOGGLE 22
}

Var 0220, Link IOCARD_SW, Input 55 // Boton Heading pull
{
V0059 = TOGGLE 23
}

Var 0221, Link IOCARD_SW, Input 51 // Boton Altitude push
{
V0059 = TOGGLE 24
}

Var 0222, Link IOCARD_SW, Input 52 // Boton Altitude pull
{
V0059 = TOGGLE 25
}

Var 0223, Link IOCARD_SW, Input 117 // Boton VS push
{
IF V0223 = 1
{
V0059 = TOGGLE 26
C0 = TESTBIT V0006 ,11 // Modo HDG/TRK o VS/FPA
IF C0 // TRK y FPA
{
V0915 = 0
V0915 = TIMER 1 ,1 ,50 // Lanzo un timer para retardar y dar tiemp
}
ELSE
{
V0916 = 0
V0916 = TIMER 1 ,1 ,50 // Lanzo un timer para retardar y dar tiemp
}
}
}

Var 0224, Link IOCARD_SW, Input 125 // Boton VS pull
{
IF V0224 = 1
{
V0059 = TOGGLE 27
C0 = TESTBIT V0006 ,11 // Modo HDG/TRK o VS/FPA
IF C0 // TRK y FPA
{
V0915 = 0
V0915 = TIMER 1 ,1 ,50 // Lanzo un timer para retardar y dar tiemp
}
ELSE
{
V0916 = 0
V0916 = TIMER 1 ,1 ,50 // Lanzo un timer para retardar y dar tiemp
}
}
}

Var 0225, Link IOCARD_SW, Input 36, Type P // Boton EXPED
{
V0059 = CHANGEBIT 28 ,V0225
}

Var 0226, Link IOCARD_SW, Input 24, Type P // Boton AP1
{
V0059 = CHANGEBIT 0 ,V0226
}

Var 0227, Link IOCARD_SW, Input 26, Type P // Boton AP2
{
V0059 = CHANGEBIT 1 ,V0227
}

Var 0228, Link IOCARD_SW, Input 25, Type P // Boton ATHR
{
V0050 = CHANGEBIT 19 ,V0228
}

Var 0229, Link IOCARD_SW, Input 23, Type P // Boton LOC
{
V0050 = CHANGEBIT 28 ,V0229
}

Var 0230, Link IOCARD_SW, Input 39, Type P // Boton APR
{
V0050 = CHANGEBIT 29 ,V0230
}

Var 0231, Link IOCARD_SW, Input 122 // Boton ALT 10/100

Var 0302, Link IOCARD_ENCODER, Input 40, Aceleration 2, Type 2 // Encoder IAS Y MATH
{
L0 = TESTBIT V0008 ,1 // Si L0 = 1 está apagado
IF L0 = 0
{
C0 = TESTBIT V0003 ,15 // Indicador MATH o IAS ?
IF C0 // MATH MODE
{
V0058 = LIMIT 0 ,99 ,V0302 // Inc o decremento el valor del MATH
}
ELSE
{
V0057 = LIMIT 0 ,500 ,V0302 // Inc o decremento el valor del IAS
}
}
}

Var 0303, Link IOCARD_ENCODER, Input 57, Aceleration 2, Type 2 // Encoder HDG
{
V0055 = ROTATE 0 ,359 ,V0303
}

Var 0304, Link IOCARD_ENCODER, Input 49, Aceleration 6, Type 2 // Encoder ALT
{
L0 = V0231 * 10 // Calculo el factor de multiplicacion
IF L0 = 0 // Como minimo debe de ser 1
{
L0 = 1
}
L2 = V0304 * L0
V0421 = LIMIT 1 ,500 ,L2
}

Var 0305, Link IOCARD_ENCODER, Input 110, Aceleration 2, Type 2 // Encoder VS/FPA
{
L0 = TESTBIT V0009 ,2 // Apagado / Encendido
IF L0 = 0
{
C0 = TESTBIT V0006 ,11 // Modo VS/FPA
IF C0 // Modo FPA
{
V0060 = LIMIT -99 ,99 ,V0305 // Inc o decremento el valor del FPA
}
ELSE // Modo VS
{
V0060 = LIMIT -99 ,99 ,V0305 // Inc o decremento el valor del VS
}
}
}

Var 0402, Link IOCARD_DISPLAY, Digit 4, Numbers 3 // IAS

Var 0403, Link IOCARD_DISPLAY, Digit 7, Numbers 3 // HEADING / TRK

Var 0405, Link IOCARD_DISPLAY, Digit 100, Numbers 1 // IAS INDICADOR

Var 0406, Link IOCARD_DISPLAY, Digit 20, Numbers 1 // MATH INDICADOR

Var 0407, Link IOCARD_DISPLAY, Digit 4, Numbers 2 // MATH

Var 0411, Link IOCARD_DISPLAY, Digit 22, Numbers 1 // TRK FPA Indicador

Var 0412, Link IOCARD_DISPLAY, Digit 21, Numbers 1 // HDG V/S Indicador

Var 0413, Link IOCARD_DISPLAY, Digit 20, Numbers 1 // LAT Indicador

Var 0414, Link IOCARD_DISPLAY, Digit 20, Numbers 1 // TRK Indicador

Var 0415, Link IOCARD_DISPLAY, Digit 23, Numbers 1 // HDG Indicador

Var 0416, Link IOCARD_DISPLAY, Digit 34, Numbers 1 // ALT Indicador

Var 0417, Link IOCARD_DISPLAY, Digit 35, Numbers 1 // LVL / CH Indicador

Var 0418, Link IOCARD_DISPLAY, Digit 36, Numbers 1 // V/S Indicador

Var 0419, Link IOCARD_DISPLAY, Digit 100, Numbers 1 // FPA Indicador

Var 0421, Link IOCARD_DISPLAY, Digit 12, Numbers 3 // ALT
{
V0056 = V0421 // Pasa el valor al PM
}

Var 0423, Link IOCARD_DISPLAY, Digit 98, Numbers 2 // VS FPA

Var 0529, Link IOCARD_DISPLAY, Digit 10, Numbers 2 // 00 del ALT

Var 0528, Link IOCARD_DISPLAY, Digit 100, Numbers 1 // - del VS

Var 0527, Link IOCARD_DISPLAY, Digit 96, Numbers 2 // oo del VS

Var 0516, Link IOCARD_OUT, Output 96 // . DECIMAL del MACH

Var 0517, Link IOCARD_OUT, Output 92 // o del HDG

Var 0518, Link IOCARD_OUT, Output 94 // o del SPD

Var 0519, Link IOCARD_OUT, Output 31 // Led AP1

Var 0520, Link IOCARD_OUT, Output 28 // Led AP2

Var 0521, Link IOCARD_OUT, Output 29 // Led A/THR

Var 0522, Link IOCARD_OUT, Output 30 // Led LOC

Var 0523, Link IOCARD_OUT, Output 26 // Led APPR

Var 0524, Link IOCARD_OUT, Output 80 // Led EXPED

Var 0525, Link IOCARD_OUT, Output 90 // o del ALT

Var 0526, Link IOCARD_OUT, Output 88 // . decimal del VS

Var 0901, Link SUBRUTINE // Pinta IAS / MATH
{
L0 = TESTBIT V0008 ,1 // Si L0 = 1 está apagado
IF L0 = 0
{
C0 = TESTBIT V0003 ,15 // Modo MATH o IAS ?
IF C0 // MATH MODE
{
V0407 = V0005 // Pone valor MATH en el display
}
ELSE
{
V0402 = V0004 // Pone valor IAS en el display
}
}
}

Var 0902, Link SUBRUTINE // Pinta HDG
{
L0 = TESTBIT V0003 ,6 // Modo HDG/TRK o AP ?
IF L0 = 0 // MODO HDG/TRK
{
V0403 = V0007 // Pone valor
}
}

Var 0910, Link SUBRUTINE, Value 0 // Timer1
{
IF V0910 <> 0
{
V0058 = V0005 // Cargo valor en temporal
CALL V0901 // Display del valor
}
}

Var 0911, Link SUBRUTINE, Value 0 // Timer2
{
IF V0911 <> 0
{
V0057 = V0004 // Cargo valor en temporal
CALL V0901 // Display del valor
}
}

Var 0912, Link SUBRUTINE, Value 0 // Timer3
{
IF V0912 <> 0
{
V0055 = V0007 // Cargo valor en su posición para el encod
CALL V0902 // Display del valor
}
}

Var 0913, Link SUBRUTINE // Pinta IAS o MACH
{
C0 = TESTBIT V0003 ,15 // Modo MATH o IAS ?
IF C0 // MATH MODE
{
V0910 = 0
V0910 = TIMER 1 ,1 ,5 // Lanzo un timer para retardar y dar tiemp
V0402 = -999999 // Apago el valor del IAS
V0516 = 1 // Enciendo el punto decimal
V0406 = 8 // Enciendo indicador de MACH
V0405 = -999999 // Apago el indicador de IAS
}
ELSE // IAS MODE
{
V0911 = 0
V0911 = TIMER 1 ,1 ,5 // Lanzo un timer para retardar y dar tiemp
V0407 = -999999 // Apago el valor del MACH
V0516 = 0 // Apago el punto decimal
V0406 = -999999 // Apago el indicador de MACH
V0405 = 8 // Enciendo el indicador de IAS
}
}

Var 0914, Link SUBRUTINE // Pinta VS / FPA
{
L1 = TESTBIT V0009 ,2 // Apagado / Encendido
IF L1 = 0 // Encendido
{
C0 = TESTBIT V0006 ,11 // Modo VS/FPA
L0 = V0010
IF C0 // FPA
{
V0527 = 11 // oo desactivado
V0526 = 1 // . decimal activado
IF L0 < 0 // Si es negativo
{
L0 = ABS L0
V0423 = L0 / 10
V0528 = 1
}
ELSE
{
V0423 = L0 / 10
V0528 = 0
}
}
ELSE // VS
{
V0527 = 0 // oo activado
V0526 = 0 // . decimal desactivado
IF L0 < 0 // Si es negativo
{
L0 = ABS L0
V0423 = L0 / 100
V0528 = 1
}
ELSE
{
V0423 = L0 / 100
V0528 = 0
}
}
}
}

Var 0915, Link SUBRUTINE, Value 0 // Timer FPA
{
IF V0915 <> 0
{
L0 = V0010 / 10
V0060 = L0 // Cargo valor de entrada en salida
}
}

Var 0916, Link SUBRUTINE, Value 0 // Timer VS
{
IF V0916 <> 0
{
L0 = V0010 / 100
V0060 = L0 // Cargo valor de entrada en salida
}
}

Var 0300, Link FSUIPC_INOUT, Offset $04F4, Length 2

Var 0061, Link FSUIPC_INOUT, Offset $04F8, Length 2

Var 0062, Link FSUIPC_INOUT, Offset $541C, Length 4
{
C0 = TESTBIT V0062 ,16 // LUZ del CSTR
IF C0 // CSTR ON
{
V0550 = 1
}
ELSE // CSTR OFF
{
V0550 = 0
}
C0 = TESTBIT V0062 ,14 // LUZ del WPT
IF C0 // WPT ON
{
V0551 = 1
}
ELSE // WPT OFF
{
V0551 = 0
}
C0 = TESTBIT V0062 ,12 // LUZ del VOR D
IF C0 // VOR D ON
{
V0552 = 1
}
ELSE // VOR D OFF
{
V0552 = 0
}
C0 = TESTBIT V0062 ,13 // LUZ del NDB
IF C0 // NDB ON
{
V0553 = 1
}
ELSE // NDB OFF
{
V0553 = 0
}
C0 = TESTBIT V0062 ,15 // LUZ del ARPT
IF C0 // ARPT ON
{
V0554 = 1
}
ELSE // ARPT OFF
{
V0554 = 0
}
}

Var 0150, Link IOCARD_SW, Input 6 // NAV
{
IF V0150 = 1
{
V0300 = 2
}
}

Var 0151, Link IOCARD_SW, Input 5 // VOR
{
IF V0151 = 1
{
V0300 = 3
}
}

Var 0152, Link IOCARD_SW, Input 4 // ILS
{
IF V0152 = 1
{
V0300 = 5
}
}

Var 0153, Link IOCARD_SW, Input 7 // ARC
{
IF V0153 = 1
{
V0300 = 1
}
}

Var 0154, Link IOCARD_SW, Input 8 // PLAN
{
IF V0154 = 1
{
V0300 = 4
}
}

Var 0155, Link IOCARD_SW, Input 9 // 10
{
IF V0155 = 1
{
V0061 = 1
}
}

Var 0156, Link IOCARD_SW, Input 10 // 20
{
IF V0156 = 1
{
V0061 = 2
}
}

Var 0157, Link IOCARD_SW, Input 11 // 40
{
IF V0157 = 1
{
V0061 = 3
}
}

Var 0158, Link IOCARD_SW, Input 12 // 80
{
IF V0158 = 1
{
V0061 = 4
}
}

Var 0159, Link IOCARD_SW, Input 13 // 160
{
IF V0159 = 1
{
V0061 = 5
}
}

Var 0160, Link IOCARD_SW, Input 14 // 320
{
IF V0160 = 1
{
V0061 = 6
}
}
Revenir en haut Aller en bas
explora

explora


Nombre de messages : 80
Date d'inscription : 06/04/2008

Faire clignoter une led Empty
MessageSujet: Re: Faire clignoter une led   Faire clignoter une led EmptyVen 13 Fév - 21:14

Var 0166, Link IOCARD_SW, Input 27, Type P // CSTR
{
IF V0166 = 1
{
V0062 = SETBIT 16
}
ELSE
{
V0062 = CLEARBIT 16
}
}

Var 0161, Link IOCARD_SW, Input 30, Type P // NDB
{
IF V0161 = 1
{
V0062 = SETBIT 13
}
ELSE
{
V0062 = CLEARBIT 13
}
}

Var 0162, Link IOCARD_SW, Input 28, Type P // WPT
{
IF V0162 = 1
{
V0062 = SETBIT 14
}
ELSE
{
V0062 = CLEARBIT 14
}
}

Var 0163, Link IOCARD_SW, Input 29, Type P // VOR
{
IF V0163 = 1
{
V0062 = SETBIT 12
}
ELSE
{
V0062 = CLEARBIT 12
}
}

Var 0164, Link IOCARD_SW, Input 31, Type P // ARPT
{
IF V0164 = 1
{
V0062 = SETBIT 15
}
ELSE
{
V0062 = CLEARBIT 15
}
}

Var 0165, Link IOCARD_SW, Input 16, Type P // ILS
{
IF V0165 = 1
{
V0059 = SETBIT 17
}
ELSE
{
V0059 = CLEARBIT 17
}
C0 = TESTBIT V0063 ,17 // LUZ del ILS
IF C0 // ILS ON
{
V0556 = 1
}
ELSE // ILS OFF
{
V0556 = 0
}
}

Var 0201, Link IOCARD_SW, Input 15, Type P // Interruptor FD
{
IF V0201 = 1
{
V0059 = SETBIT 5
}
ELSE
{
V0059 = CLEARBIT 5
}
C0 = TESTBIT V0063 ,5 // LUZ del FD
IF C0 // FD ON
{
V0555 = 1
}
ELSE // FD OFF
{
V0555 = 0
}
}

Var 0168, Link IOCARD_SW, Input 0 // ADF1
{
IF V0168 = 1
{
V0062 = SETBIT 19
}
ELSE
{
V0062 = CLEARBIT 19
V0062 = TOGGLE 20
}
}

Var 0169, Link IOCARD_SW, Input 1 // VOR1
{
IF V0169 = 1
{
V0062 = SETBIT 18
}
ELSE
{
V0062 = CLEARBIT 18
V0062 = SETBIT 20
}
}

Var 0170, Link IOCARD_SW, Input 2 // ADF2
{
IF V0170 = 1
{
V0062 = SETBIT 22
}
ELSE
{
V0062 = CLEARBIT 22
V0062 = TOGGLE 23
}
}

Var 0171, Link IOCARD_SW, Input 3 // VOR2
{
IF V0171 = 1
{
V0062 = SETBIT 21
}
ELSE
{
V0062 = CLEARBIT 21
V0062 = SETBIT 23
}
}

Var 0550, Link IOCARD_OUT, Output 36 // Led CSTR

Var 0551, Link IOCARD_OUT, Output 35 // Led WPT

Var 0552, Link IOCARD_OUT, Output 34 // Led VOR D

Var 0553, Link IOCARD_OUT, Output 33 // Led NDB

Var 0554, Link IOCARD_OUT, Output 32 // Led ARPT

Var 0555, Link IOCARD_OUT, Output 38 // Led FD

Var 0556, Link IOCARD_OUT, Output 37 // Led ILS

Var 0351, Link FSUIPC_IN, Offset $0330, Length 2 // QNH RECIBE
{
CALL V0380 // PINTA QNH
}

Var 0358, Link IOCARD_SW, Input 68 // Boton hPa / inHg
{
IF V0358 = 1
{
V0359 = 1
V0350 = V0351
CALL V0380 // PINTA QNH
}
ELSE
{
V0359 = 0
V0350 = V0351
CALL V0380 // PINTA QNH
}
}

Var 0359 // TEST QNH 2

Var 0355, Link IOCARD_SW, Input 18, Type P // QNH PUSH
{
L0 = TESTBIT V0009 ,3
IF L0 = 1
{
V0356 = 1
V0350 = V0351
CALL V0380 // PINTA QNH
}
ELSE
{
V0356 = 0
V0350 = V0351
CALL V0380 // PINTA QNH
}
IF V0355 = 1
{
V0059 = TOGGLE 18
}
ELSE
{
V0059 = TOGGLE 19
}
}

Var 0356 // TEST QNH

Var 0357, Link IOCARD_ENCODER, Input 33, Aceleration 2, Type 2 // Encoder QNH
{
IF V0356 = 1
{
L0 = V0357 * 100
L1 = L0 / 6
V0350 = ROTATE 15200 ,17145 ,L1
}
ELSE
{
V0350 = 16211
}
}

Var 0350, Link FSUIPC_OUT, Offset $0330, Length 2, Value 16211 // QNH

Var 0370, Link IOCARD_DISPLAY, Digit 0, Numbers 4

Var 0371, Link IOCARD_DISPLAY, Digit 2, Numbers 1 // Pinta S

Var 0372, Link IOCARD_DISPLAY, Digit 1, Numbers 1 // Pinta t

Var 0373, Link IOCARD_DISPLAY, Digit 0, Numbers 1 // Pinta d

Var 0374, Link IOCARD_DISPLAY, Digit 220, Numbers 1

Var 0375, Link IOCARD_DISPLAY, Digit 218, Numbers 1 // inHg Indicador

Var 0376, Link IOCARD_DISPLAY, Digit 219, Numbers 1 // hPa Indicador

Var 0380, Link SUBRUTINE // PINTA QNH
{
IF V0356 = 0
{
V0911 = 0
V0911 = TIMER 1 ,1 ,5 // Lanzo un timer para retardar y dar tiemp
V0370 = -999999
V0371 = 5 // Pone valor Std
V0372 = 13
V0373 = 14
V0374 = 10
V0375 = 10 // Borra barras
V0376 = 10 // Borra barras
}
ELSE
{
V0371 = 10 // Limpia
V0372 = 10
V0373 = 10
V0374 = 10
IF V0359 = 0
{
V0370 = V0350 / 16 // Pone valor QNH en hPa
V0375 = 10 // Borra Indicador Hg
V0376 = 8 // Enciende hPa
}
ELSE
{
L1 = V0350 / 16
L1 = L1 * 2992
V0370 = L1 / 1013 // Pone valor QNH en inHg
V0375 = 8 // Enciende Hg
V0376 = 10 // Borra Indicador hPa
}
}
}

Var 0801, Link FSUIPC_OUT, Offset $0BE8, Length 4

Var 0802, Link IOCARD_SW, Input 71 // GEAR_SW, off=0=up, on=1=dwn
{
V0801 = V0802 * 16383
}

Var 0803, Link FSUIPC_IN, Offset $0BEC, Length 4 // Nose Gear Green Offset, 0=up, 16383=dwn
{
IF V0803 = 16383
{
V0804 = 1
V0805 = 0
}
ELSE
{
IF V0803 > 0
{
V0804 = 0
V0805 = 1
}
ELSE
{
IF V0803 = 0
{
V0804 = 0
V0805 = 0
}
}
}
}

Var 0804, Link IOCARD_OUT, Output 12 // Nose Gear Green Led, 0=off, 1=on

Var 0805, Link IOCARD_OUT, Output 11 // Nose Gear Red Led, 0=off, 1=on

Var 0806, Link FSUIPC_IN, Offset $0BF4, Length 4 // Left Gear Position Offset, 0=up, 16383=d
{
IF V0806 = 16383
{
V0807 = DELAY 1 ,40 // retard 40 secondes allumage led gauche
V0808 = 0
}
ELSE
{
IF V0806 > 0
{
V0807 = 0
V0808 = 1
}
ELSE
{
V0807 = 0
V0808 = 0
}
}
}

Var 0807, Link IOCARD_OUT, Output 17 // Left Gear Green Led, 0=off, 1=on

Var 0808, Link IOCARD_OUT, Output 18 // Left Gear Red Led, 0=off, 1=on

Var 0809, Link FSUIPC_IN, Offset $0BF0, Length 4 // Right Gear Position Offset, 0=up, 16383=
{
IF V0809 = 16383
{
V0810 = 1
V0811 = 0
}
ELSE
{
IF V0809 > 0
{
V0810 = 0
V0811 = 1
}
ELSE
{
IF V0809 = 0
{
V0810 = 0
V0811 = 0
}
}
}
}

Var 0810, Link IOCARD_OUT, Output 14 // Right Gear Green Led, 0=off, 1=on

Var 0811, Link IOCARD_OUT, Output 13 // Right Gear Red Led, 0=off, 1=on

Var 0602, Link FSUIPC_OUT, Offset $5428, Length 2 // TO PROJECT MAGENTA MCDU

Var 0600 // Key input
{
IF V0600 = 4 // Tecla #23
{
V0602 = 191
}
}

Var 0098, name led_Mast_Warn, Link IOCARD_OUT, Output 24 // LED Master Warning
Revenir en haut Aller en bas
explora

explora


Nombre de messages : 80
Date d'inscription : 06/04/2008

Faire clignoter une led Empty
MessageSujet: Re: Faire clignoter une led   Faire clignoter une led EmptyVen 13 Fév - 21:15

Désolé en 3 parties car c'etait trop long.
Revenir en haut Aller en bas
razmott

razmott


Nombre de messages : 246
Date d'inscription : 15/03/2008
Localisation : Laroque des Albères (66)

Faire clignoter une led Empty
MessageSujet: Re: Faire clignoter une led   Faire clignoter une led EmptyVen 13 Fév - 21:17

Salut Explora,

pour la théorie des clignoteurs et des exemples détaillés de SIOC, tu peux voir mon site ici: http://www.simucockpit.fr/sioc.htm#sioc13
Remarque amicale: si tu nommais tes variables, la lecture de ton code bien plus facile Faire clignoter une led 347702

Claude
Revenir en haut Aller en bas
http://www.simucockpit.fr/
Daniel




Nombre de messages : 37
Date d'inscription : 26/04/2008
Age : 49
Localisation : Laval

Faire clignoter une led Empty
MessageSujet: Re: Faire clignoter une led   Faire clignoter une led EmptyVen 13 Fév - 21:54

Salut,

Pour résoudre ton problème tu dois créé des sous routine

Je te donne un exemple de programmation ça va être beaucoup plus simple.

Var 0010, name FsAutoPilot, Link FSUIPC_INOUT, Offset $07BC, Length 4 // Offset Fs pour l'autopilote
{
IF &FsAutoPilot = 0 // Si l'AutoPilot est Off
{
&Sub_LinkLed = 3 // nombre de fois que le Led doit Flashé
&Sub_LinkLed = TIMER 0 ,-1 , 50 // 0 = la valeur final de la variable Sub_LinkLed, -1 est le décrement
// et 50 est le temps entre chaque boucle.
}
}
Var 0011, name SwAutoPilot, Link IOCARD_SW, input 81 // Connection du Switch a IOCARD
{
IF &SwAutoPilot = 1 // Si la Switch est ON
{
&FsAutoPilot = 0 // Déconnection de l'autoPilote
}
}

Var 0012, name OWarning, Link IOCARD_OUT, Output 45 // Connection du LED a IOCARD

Var 5000, name Sub_LinkLed, Link SUBRUTINE // Création de la sous routine
{
L0 = MOD &Sub_LinkLed ,2 // Divise la valeur de la variable Sub_LinkLed par 2
// Si le résultat est un nombre entier LO = 1, si le résultat est une fraction LO = 0
IF L0 = 0
{
&OWarning = 0 // Le Led est éteint
}
ELSE
{
&OWarning = 1 // Le Led est allumé
}
}

Voilà ceci devrait résoudre ton problème si tu utilises cette programmation, n'oublie pas de changer les numéros de input pour tes switch, et même chose pour tes numéros de output pour tes Leds.

Bonne Chance
Daniel
Revenir en haut Aller en bas
stevelep

stevelep


Nombre de messages : 512
Date d'inscription : 16/03/2008
Age : 49
Localisation : Neuchâtel LSGN, Suisse

Faire clignoter une led Empty
MessageSujet: Re: Faire clignoter une led   Faire clignoter une led EmptyVen 13 Fév - 22:09

Salut Explora,

Publier ton code sur 3 pages ne sert à rien. Sans variables nommées comme l'a dit Claude, personne
ne va s'amuser à lire et déchiffrer autant de ligne de code.

De plus ton problème n'est pas un problème de pilote automatique mais un problème de clignotement
de LED.

Pour ce genre de défi je te conseille de créer un petit script SIOC de quelques lignes
seulement avec les instruction qui t'intéressent et laisser tes centaines de lignes de code
dans un autre fichier. Tu pourra ainsi travailler sur un petit bout de script que tu pourras
intégrer à ton script principal quand ta fonction marchera.

Ton but est donc de faire clignoter une LED 3 fois à un changement de la variable de l'AP.

Tu vas donc prendre pour ce script-test une variable switch
une variable output (LED) et une variable timer.

Voila et uniquement avec ces 3 variables tu vas les relier et les tester pour arriver à les faire clignoter
comme tu veux. En étudiant les différents exemples qui existent.

Je ne vais pas bêtement te donner le script, car il vaut mieux que tu le trouves toi même,
de plus il y a au moins 3 possibilités différentes pour y arriver


Voila

Tiens nous au courant

PS: quand ca marchera avec le switch t'auras qu'a le remplacer par la variable de l'AP ...
Revenir en haut Aller en bas
explora

explora


Nombre de messages : 80
Date d'inscription : 06/04/2008

Faire clignoter une led Empty
MessageSujet: Re: Faire clignoter une led   Faire clignoter une led EmptyVen 13 Fév - 22:29

Salut et merci a tous
Je ne suis vraiement pas un pro sur sioc et des fois je me casse la tete peut etre pour rien bon donc je vais essaye a nouveau comme tu le dis si bien stevlep c'est enssayant qu on comprend.

Merci daniel je vais voire avec ton code ce que je peux faire ,je vous tiens au courant.
Revenir en haut Aller en bas
explora

explora


Nombre de messages : 80
Date d'inscription : 06/04/2008

Faire clignoter une led Empty
MessageSujet: Re: Faire clignoter une led   Faire clignoter une led EmptyMar 17 Fév - 19:35

Bonjour
Bon ben c 'est un echec je n y arrive pas .Ca marche lorsque je deconnecte donc appuie sur AP1 la led flsh 2 fois .Mais le souci c'est lorsque AP1 est off si j appuie sur le bouton FD ou ILS ou Push du QHN ou su le Push ou Pull des bouton du FCU elle clignote aussi maitenant.De plus lorsque je passe de AP1 a AP2 elle clignote aussi et si je coupe AP2 apres ca s inverse , AP1 on elle clignote.

JE ne comprend rien.Le probeme est peut etre que je n 'est pas vraiement d'offset pour l' AP car en fait AP1 prend le bit 0 de l 'offset 5414 et AP2 le bit 1 alors comment faire d'autant que les boutons sont de type P.

Voici le code que j'ai fait mais la ca me depasse

Var 0059, Link FSUIPC_INOUT, Offset $5414, Length 4
{
C0 = TESTBIT V0059 ,0
IF C0
{
&led_Mast_Warn = 0
}
ELSE
{
&sub_linked = 3 // Nombre de flash de la led
&sub_linked = TIMER 0 ,-1 ,50
}
C1 = TESTBIT V0059 ,1
IF C1
{
&led_Mast_Warn = 0
}
ELSE
{
&sub_linked = 3 // nombre de flash
&sub_linked = TIMER 0 ,-1 ,50
}
.....

Var 0226, name AP1, Link IOCARD_SW, Input 24, Type P // Boton AP1
{
V0059 = CHANGEBIT 0 ,&AP1
}

Var 0227, Link IOCARD_SW, Input 26, Type P // Boton AP2
{
V0059 = CHANGEBIT 1 ,V0227
}

.....


Var 0917, name sub_linked, Link SUBRUTINE // Relais subroutine
{
L0 = MOD &sub_linked ,2
IF L0 = 0
{
&led_Mast_Warn = 0
}
ELSE
{
&led_Mast_Warn = 1
}

.....


Var 0098, name led_Mast_Warn, Link IOCARD_OUT, Output 24 // LED Master Warning


Voila merci d'avance
Revenir en haut Aller en bas
Daniel




Nombre de messages : 37
Date d'inscription : 26/04/2008
Age : 49
Localisation : Laval

Faire clignoter une led Empty
MessageSujet: Re: Faire clignoter une led   Faire clignoter une led EmptyMar 17 Fév - 22:12

D'abord,

Le offset 5414 représente quoi ? D'où viens t-il, ce n'est pas offset standard.

Pour changer le bit 0 ou 1 du Offset 5414 tu dois faire ceci :


Var 0226, name AP1, Link IOCARD_SW, Input 24, Type P // Boton AP1
{
IF V0226 = 1 // Si Switch On
{
V0059 = SETBIT 0 // Active le premier bit de la variable 59 donc bit 1 = 1
}
IF V0226 = 0 // Si Switch OFF
{
V0059 = CLEARBIT 0 // Désactive le premier bit de la variable 59 Donc bit 1 = 0
}
}

Var 0227, Link IOCARD_SW, Input 26, Type P // Boton AP2
{
IF V0227 = 1 // Si Switch On
{
V0059 = SETBIT 1 // Active le 2e bit de la variable 59 Donc Bit 2 = 1
}
IF V0227 = 0 // Si Switch OFF
{
V0059 = CLEARBIT 1 // Désactive le 2e bit de la variable 59 Donc Bit2 = 0
}
}

Pour le reste du code il me semble bien (même si tes variable nom pas de nom Faire clignoter une led 123628 ). Cependant de quel endroit viennent tes Offset Faire clignoter une led 432809 , car je ne peux pas voir ou comprendre ce que tu veux faire exactement Faire clignoter une led 833744 . À première vu et selon la valeur du offset ça me semble venir du MCP de projet Magenta.

Ce que je comprends, c'est que tu aimerais que tes LEDs flash quand tu enlève l'autopilote. Il faut savoir que dans Fs il y a seulement un offset pour l'activation de l'autopilote. Faire clignoter une led 47250 Donc AP1 et Ap2 n'est pas simuler de base dans Fs. Faire clignoter une led 342401

En principe avec les informations que je te demandes, je vais être en mesure de t'aider. Faire clignoter une led 347702

@+
Dan.
Revenir en haut Aller en bas
explora

explora


Nombre de messages : 80
Date d'inscription : 06/04/2008

Faire clignoter une led Empty
MessageSujet: Re: Faire clignoter une led   Faire clignoter une led EmptyMar 17 Fév - 23:12

Salut daniel et excuse pour le peu de clarte de ma part.
Alors pour plus de precision oui en effet j'uilise PM et c'est l'offset pour le FCU du 320.Donc en fait tu a tout a fait compris je voudrais que le led master warning clinote 3 fois lorsque je deconnecte soit AP1 ou AP2 ou les 2. La fonction AP1 et 2 fonctionne bien mais pour le reste je n'arrive du fait qu'AP1 et 2 sont soumis a un bit.

Voila encore merci de ton aide precieuse.
Revenir en haut Aller en bas
Daniel




Nombre de messages : 37
Date d'inscription : 26/04/2008
Age : 49
Localisation : Laval

Faire clignoter une led Empty
MessageSujet: Re: Faire clignoter une led   Faire clignoter une led EmptyMer 18 Fév - 1:27

Alors Essais ce code.

Var 0059, name PmOffset, Link FSUIPC_INOUT, Offset $5414, Length 4
{
L0 = TESTBIT &PmOffset, 0
L1 = TESTBIT &PmOffset, 1
IF L0 = 0
{
IF L1 = 0
{
&led_Mast_Warn = 0
}
}
IF L0 = 1
{
&sub_linked = 3
&sub_linked = TIMER 0 ,-1 ,50
}
IF L1 = 0
{
IF L0 = 0
{
&led_Mast_Warn = 0
}
}
IF L1 = 1
{
&sub_linked = 3
&sub_linked = TIMER 0 ,-1 ,50
}
}

Var 0098, name led_Mast_Warn, Link IOCARD_OUT, Output 24

Var 0226, name SwAP1, Link IOCARD_SW, Input 24, Type P
{
IF &SwAP1 = 1
{
&PmOffset = SETBIT 0
}
IF &SwAP1 = 0
{
&PmOffset = CLEARBIT 0
}
}

Var 0227, name SwAP2, Link IOCARD_SW, Input 26, Type P
{
IF &SwAP2 = 1
{
&PmOffset = SETBIT 1
}
IF &SwAP2 = 0
{
&PmOffset = CLEARBIT 1
}
}

Var 0917, name sub_linked, Link SUBRUTINE // Relais subroutine
{
L0 = MOD &sub_linked ,2
IF L0 = 0
{
&led_Mast_Warn = 0
}
ELSE
{
&led_Mast_Warn = 1
}
}

Avec ce code tout devrait fonctionné comme tu le veux.....

@+
Daniel
Revenir en haut Aller en bas
explora

explora


Nombre de messages : 80
Date d'inscription : 06/04/2008

Faire clignoter une led Empty
MessageSujet: Re: Faire clignoter une led   Faire clignoter une led EmptyJeu 19 Fév - 20:23

Salut daniel
Merci pour ton code .En effet il marche mais en partie car des fois c'est le contraire qu'il se passe : lorsque j appuie sur AP1 ca clignote et si tu passe de AP1 a AP2 ou inversement ca clignote aussi et en plus alors la vraiement je ne pige pas c'est que la fonction du bouton FD ILS PUSH QNH et PUSH ou PULL du FCU qui la font clignoter aussi ou l'allume simplement et elle reste allumée.Je vais essayer de creuser mais je ne comprend pas bien pourquoi ces autes boutons deja l'allume.Il est vrai que FD ou ILS par exemple sont liees a la meme variable mais VOR CSTR et autres aussi et ca ne le fait pas.
Revenir en haut Aller en bas
g'déon

g'déon


Nombre de messages : 161
Date d'inscription : 21/01/2009
Age : 51
Localisation : lacanau-ocean

Faire clignoter une led Empty
MessageSujet: Re: Faire clignoter une led   Faire clignoter une led EmptyJeu 19 Fév - 21:48

bonsoir,
Ma réponse ne va rien apportté mais pour ma modeste part voila pourquoi je ne veux pas passer par SIOC, c'est vraiment trop compliqué mais je dois quand même reconnaitre que sa doit être vraiment génial d'arriver à créer un script qui fonctionne...
Je vous souhaite bon courage et bonne continuation, pour ma part j'ai préféré cabler 100% de mon MIP AVEC LA CARTE 737mip board et je me sert de labsim comme driver /logiciel avec fonction test.
Donc en mode test met led clignotent et je peux meme choisir le nombre de clignotement asservi indépendement à la fonction AP/AT/FMC.
Bon courage bonne continuation et pardon pour cette réponse qui ne fait pas avancer le shilmmmmblick
g'déon Faire clignoter une led 230343
Revenir en haut Aller en bas
Daniel




Nombre de messages : 37
Date d'inscription : 26/04/2008
Age : 49
Localisation : Laval

Faire clignoter une led Empty
MessageSujet: Re: Faire clignoter une led   Faire clignoter une led EmptyJeu 19 Fév - 23:31

Re-Salut,

J'ai trouvé pourquoi tout ces bugs.

Après avoir regarder la liste des Offsets pour le FCU de Pm, je me suis apperçu que le Offset 5414 est un offset pour le fonctionnemement des boutons et non pour les Leds.

Alors revoici le code mais avec les corrections.

Var 0059, name PmOffset, Link FSUIPC_INOUT, Offset $5414, Length 4

Var 0060, name PmLed, Link FSUIPC_IN, Offset $04F0, Length 2
{
L0 = TESTBIT &PmLed, 0
L1 = TESTBIT &PmLed, 1
IF L0 = 0
{
IF L1 = 0
{
&led_Mast_Warn = 0
}
}
IF L0 = 1
{
&sub_linked = 3
&sub_linked = TIMER 0 ,-1 ,50
}
IF L1 = 0
{
IF L0 = 0
{
&led_Mast_Warn = 0
}
}
IF L1 = 1
{
&sub_linked = 3
&sub_linked = TIMER 0 ,-1 ,50
}
}

Var 0098, name led_Mast_Warn, Link IOCARD_OUT, Output 24

Var 0226, name SwAP1, Link IOCARD_SW, Input 24, Type P
{
IF &SwAP1 = 1
{
&PmOffset = SETBIT 0
}
IF &SwAP1 = 0
{
&PmOffset = CLEARBIT 0
}
}

Var 0227, name SwAP2, Link IOCARD_SW, Input 26, Type P
{
IF &SwAP2 = 1
{
&PmOffset = SETBIT 1
}
IF &SwAP2 = 0
{
&PmOffset = CLEARBIT 1
}
}

Var 0917, name sub_linked, Link SUBRUTINE // Relais subroutine
{
L0 = MOD &sub_linked ,2
IF L0 = 0
{
&led_Mast_Warn = 0
}
ELSE
{
&led_Mast_Warn = 1
}
}

Alors voilà, normalement tout devrait fonctionné comme il le faut. Avec ce code, Chaques boutons active ou désactive son Autopilote respectif. Les Leds vont flashé si le led allume dans PM, donc si tu désactives l'autopilote, normalement le Led dans PM allume.

@+
Daniel
Revenir en haut Aller en bas
explora

explora


Nombre de messages : 80
Date d'inscription : 06/04/2008

Faire clignoter une led Empty
MessageSujet: Re: Faire clignoter une led   Faire clignoter une led EmptyVen 20 Fév - 18:52

Salut daniel
Bon et ben non toujours les meme bugs .Je ne comprend pas du tout.Par contre je ne sais pas si c valable mais dans les offset de PMsystem il y en a 2 marque Master Warning et Master Caution.Et 2 autres boutons Master Warning et caution.Mais je ne crois que ca fonctionne avec l'airbus.
En tout cas merci et j'essai vraiement de creser le pourquoi ca marche pas comme voulu...
Revenir en haut Aller en bas
Daniel




Nombre de messages : 37
Date d'inscription : 26/04/2008
Age : 49
Localisation : Laval

Faire clignoter une led Empty
MessageSujet: Re: Faire clignoter une led   Faire clignoter une led EmptyVen 20 Fév - 21:52

Les Master Warning et Master Caution c'est pas du tout pour Autopilote.

Se sont 2 boutons qui contiennent un led chacun. sur le 737 ils sont situé Tout juste avant l'EFIS sur le rebord du MIP. Il y en a 2 boutons de chaque côté (Pilote, Co-Pilote).

Si il y a un problème minineur qui nécessite seulement une attention, le Master Caution va s'allumer. Si c'est un problème majeur, là c'est le Master Warning qui s'allume. Tous 2 sont désactivé (ou reseté) quand qu'on appuis dessus.

Le 737 à 3 annonciateurs sur le MIP qui ce r'attache à l'autopilote. un pour la navigabilité ou si tu préfères l'autopilote dans son ensemble. un autre pour l'auto throttle, et finalement le dernier pour le FMC. Donc quand l'autopilote est désactivé ce sont ces leds qui vont flashés tant et aussi longtemps que l'on appuirra pas sur le bouton en question. J'imagine que c'est la même chose pour l'airbus, et que c'est ces boutons que tu essais de faire fonctionnés et non les Master Warning et Master Cautions.

@+
Daniel
Revenir en haut Aller en bas
explora

explora


Nombre de messages : 80
Date d'inscription : 06/04/2008

Faire clignoter une led Empty
MessageSujet: Re: Faire clignoter une led   Faire clignoter une led EmptyVen 20 Fév - 22:39

Salut
Oui tout a fait j entendais bien mais je ne suis pas sur que ces fonctions soient bien simulées pour l'airbus par project magenta.Et si je ne me trompe lorsqu'on deconnecte le PA sur airbus Master Warning flash 3 fois c'est donc cea que j'essai de simuler car en tout cas ca ne l'ai pas avec PMsystem.

Mais bon merci pour le tuyau et j'espere trouver la solution aux bug car en tout cas ton code est le bon car elle clignote .Mais pourquoi se met elle aussi a fonctionner avec d'autres boutons la c'est un mystere.
Revenir en haut Aller en bas
steph737

steph737


Nombre de messages : 725
Date d'inscription : 15/03/2008
Localisation : Antananarivo

Faire clignoter une led Empty
MessageSujet: Re: Faire clignoter une led   Faire clignoter une led EmptySam 21 Fév - 6:27

Voilà les variables définies dans sys.var :

04FE .2 pmCaution
04FE .3 pmWarning

56F3 .0 Caution
56F3 .1 CautionSwitch

56F7 .0 MasterCaution
56F7 .2 MasterWarning

56F8 .0 MasterCautionSwitch
56F8 .2 MasterWarningSwitch

Les deux premières sont des variables générales de PM, les 6 autres sont propres à PM system sauf que dans pmsys320.lgc elles n'apparaissent pas. ( c'est pareil pour le 737 ).

Par contre pour le 737 on a :

5530 .0 SixPackFire
5530 .1 SixPackCaution

5540 .0 SixPackFireDisp
5540 .1 SixPackCautionDisp

qui eux fonctionnent je crois.

A vérifier mais je crois que le traitement se fait avec PM GC et PM MCP pour les deux premières variables dans le cas du 737, peut être est-ce le cas avec A320 ?

On est pas plus avancé, tout ça pour dire que PM c'est un gros m....... sur certains points !

Tu pourrais essayer de contacter directement brianwilliamson ou Matt Olieman sur mycockpit.org, qui sont deux spécialistes d'airbus.
Revenir en haut Aller en bas
http://steph737.blogspot.com
explora

explora


Nombre de messages : 80
Date d'inscription : 06/04/2008

Faire clignoter une led Empty
MessageSujet: Re: Faire clignoter une led   Faire clignoter une led EmptySam 21 Fév - 11:15

Salut seph

Merci de m'avoir eclairé sur ces variable car oui en effet elles ne fonctionnent pas apperement.Je vais efectivement essayer de contacter matt ou brian.
Revenir en haut Aller en bas
explora

explora


Nombre de messages : 80
Date d'inscription : 06/04/2008

Faire clignoter une led Empty
MessageSujet: Re: Faire clignoter une led   Faire clignoter une led EmptySam 21 Fév - 11:52

Ouf ca y est Merci encore daniel tu vais bien raison sur ton premier code j'ai essayer avec l'offset du switch de l'AP de FS et ca marche.En fait j'ai été bête sur ce coup a absolument vouloir le faire a partir de PM, mais PM interagit sur les offset de FS aussi du coup c'etait bien ca.

Merci de ton aide precieuse en tout cas car j'ai compris pas mal de choses et maintenant e peu faire clignoter une led .Seule petit bémol elle clignote que 2 fois mais je vais bien trouvé.

Bon vol....
Revenir en haut Aller en bas
Daniel




Nombre de messages : 37
Date d'inscription : 26/04/2008
Age : 49
Localisation : Laval

Faire clignoter une led Empty
MessageSujet: Re: Faire clignoter une led   Faire clignoter une led EmptySam 21 Fév - 12:23

Salut Explora,

pour que ton LED flash plus que 2 fois, tu dois simplement changer cette ligne.

&Sub_LinkLed = 4 // nombre de fois que le Led doit Flashé.

Remplace le 4 par un autre chiffre qui va correspondre au nombre de fois que tu désires faire flashé ton led. Oubile pas que tu dois divisé ce nombre par 2 ( fraction = Led Off et Entier = Led On). donc si tu veux que ton led flash 3 fois tu vas mettre un 6.

@+
Dan.
Revenir en haut Aller en bas
Contenu sponsorisé





Faire clignoter une led Empty
MessageSujet: Re: Faire clignoter une led   Faire clignoter une led Empty

Revenir en haut Aller en bas
 
Faire clignoter une led
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Faire clignoter un voyant
» de quoi se faire mal au yeux
» Comment faire fonctionner mon A30 de Wilco avec SIOC ?

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Air-Cockpit :: Réalisations électronique :: Programmations Pics , Sioc et autres-
Sauter vers:  
Ne ratez plus aucun deal !
Abonnez-vous pour recevoir par notification une sélection des meilleurs deals chaque jour.
IgnorerAutoriser