// // * FileName : B200.txt par Bernard BAUQUE // * Date de début: 09/08/2009 // * // * version V1.7.R10 sous Sioc 5B05 et KA350 natif de P3DV4 // --------------------------------------------------------------- // | | // | DETAILS DES MODIFICATIONS DE CODE | // | | // --------------------------------------------------------------- // variables essais = section 1 à 20 // offsets FS = section 21 à 199 // pannes = section 200 // potentiomètres = section 250 // sous routine = section 300 // interrupteurs = section 400 // encodeurs = section 500 // affichage display = section 600 // leds alarmes = section 700 // variables individuelles = section 900 // servo moteurs = section 1000 // pedestal carte FC = section 4000 // * ----------------------------------------------------------------------------------------------------------------------------------- // * 10/2017 - remise en route du programme de rédirection des sons d'alarmes sur le second Pc // * - rajout de l'indication sonore V1 variable 984 et modif du fichier essaisound en conséquence // * - revision de l'alarme orange clignotante RVS not ready ( routine 309 ), elle ne fonctionnait plus // * - révision des routines Gaz droit et gauche 364 et 365 // * // * ----------------------------------------------------------------------------------------------------------------------------------- // * 09/2017 // * - mise à 0 des bits de la variable audio dans la routine CAD car ils ne sont pas à 0 au démarrage de P3DV4 // * // * // * ----------------------------------------------------------------------------------------------------------------------------------- // * // * 08/2017 PASSAGE SOUS P3DV4 // * // * ----------------------------------------------------------------------------------------------------------------------------------- // * ----------------------------------------------------------------------------------------------------------------------------------- // * 04/2017 // * - modification de programmation pour jouer les sons d'alarme sur l'autre pc par sioc en réseau // * avec des variables linkées IOCP // * le second Pc a maintenant un programme .ssi qui tourne en client pour les sons d'alarme // * - correction d'une anomalie qui faisait qu'on pouvait manoeuvrer le pas d'hélice avec le moteur à l'arrêt // * - rajout variable 080 ( $09e2 ) pour allumer une led sur le monitoring BFF quand le vibreur est On // * // * // * ------------------------------------------------------------------------------------------------------------------------------------ // * // * 03/2017 // * - programmation de l'index du trim par servo à partir de la var $0BC2 en attendant de voir comment je peux faire avec la carte moteur // * rajout de la coupure alim servo au bout d'une seconde pour éviter le bruit // * // * // * ------------------------------------------------------------------------------------------------------------------------------------ // * // * 02/2017 - résolution du problème fréquence standbye com1 que je n'arrivais pas à changer par fsuipc suite au changement d'encodeur // * - branchement du yoke BFF // * - les commandes de trim pour elevator et aileron sont enlevées et le servo déconnecté pour éviter de chauffer // * - le bouton rouge de désengage AP sur le yoke a été rebranché sur la carte BU836A et désengage le PA par joy 0 bouton 3 // * - suite à un problème j'ai mis le potentiomètre du palonnier sur l'input 3 de la carte servo device 14 // * // * ------------------------------------------------------------------------------------------------------------------------------------ // * // * 01/2017 - rajout clignotement des leds vertes autofeather lors du test autofeather avant décollage // * - révision de la prog dans les var 67 et 77 suite au rajout du switch de test autofeather ( position momentanée ) input 12 // * - réaffectation des variables du panneau pilot bas gauche, libération des inputs 14 et 15 par couplage des inter ice vanne // * avec les poignées rouge pour éviter le double emploi // * - affectation de l'input 14 à la commande push back du clavier ATC // * // * // * --------------------------------------------------------------------------------------------------------------------------------------- // * // * /12/2016 - Rajout beep (son 23) dans la var 958 déclenché à l'allumage du voyant Master Warning suite à la vidéo de Fabien et tests // * - révision de la routine radio_dis_cond pour intégrer le commutateur on/off de nav1 et de com1, suppression de la routine 338 aff_nav1 // * - modif mineure pour éteindre le bip master warning quand battery off // * - reprise de l'input 64 qui était pour le dme 2 sur panneau com au profit du poussoir de test des alarmes // * - programmation de toutes les alarmes rouge, orange et verte sur le poussoir de test des alarmes // * - correction d'un bug car les alarmes rvs not ready et landing s'éteignaient lors du test alarmes ( routines clignosec et demisec) // * - programmation du poussoir mode VS sur la platine FCP 65A // * - correction d'un bug dans l'affichage de l'adf (il affichait systématiquement 388 Louvigny au démarrage indépendamment du vol) // * - rajout du poussoir de test (var 4036 input 36) et écriture d'une routine de test des leds platine app65A fcp65A ( subrutine 360 ) // * - rajout de la routine 327 pour piloter le voyant jaune arm du mode alt sel du PA et orange clignotant de l'altimètre // * - rajout de la fonctionnalité de clignotement des voyants DIS pendant 5 secondes avant d'être fixes sur APP65 et FCP65 ( dans var 45 ) // * - rajout du son 24 dans la routine 327 ( alarme du sélecteur altitude ) // * - modif de la routine 354 pour éteindre les alarmes fuel press si standbye pump On ou crossfeed avion à l'arrêt avec bat on ( vu avec Fabien L ) // * et mise à off des standbye pump au démarrage dans la routine CAD // * - modif des var 4051 et 4052 pour ajustage précis des manettes prop suite aux conseils de Fabien // * - reprogrammation des manettes power pour avoir 240 de torque en position iddle ( conseil de Fabien ) // * - modification de la routine 364 pour que les alarmes autofeather restent allumées pendant le test des alarmes par le poussoir // * // * --------------------------------------------------------------------------------------------------------------------------------------- // * // * /11/2016 - rajout variable $02c8 fs_vs pour tester si on est en descente pour déclencher les sons fpa dans la var 125 // * - rajout alarme toolowgear ( son n° 18 ) si train rentré en descente en dessous de 500 pieds // * - rajout des inters firewall droit et gauche sous le panneau de carburant avec breakers en série avec input 15 et 16 condition lever // * - rajout routine 303 pour tester présence de courant si bus principal au dessus de 17 volts ($2840) // * - rajout des feux ice qui éclairent les ailes input 45 (bit 7 de lights), des strobes en bout d'ailes (bit 4 de lights) // * et du beacon (bit 1 de lights) par recopie des fichiers manquant dans le rep effects de fsx et programmation des bits // * - rajout du tail flood (bit 8 de lights) qui éclaire la queue et des recogn sur input 66 ( bit 6 de lights) // * - rajout de la routine 316 qui teste la pression du circuit hydraulique // * - réglage des manettes de gaz dans les routines gaz droit et gauche ( elles étaient un peu décalées + de puissance à gauche ) // * - toutes les inputs sont prises sur la master OC // * - Mise en place des entrées 4030 et 4031 sur la carte master FC que pilote le commutateur com1 avec le son squelch // * // * // * ---------------------------------------------------------------------------------------------------------------------------------------- // * // * /10/2016 - écriture routine 339 de self test du pa lorsqu'on l'engage suite à la mise en place de la platine fcp 65 A // * - écriture de la logique du PA et de la platine fcp 65 a avec implémentation des sons d'alarme de changement de mode // * - mise au point de la logique d'allumage du voyant ARM pour le mode NAV du PA en utilisant le bit 1 de la var $3300 // * et mise au point du voyant arm du glideslope avec déclenchement du son à la capture du glide ( routine AP_GS_ALIVE ) // * - corrections mineures sur les extinctions de voyants PA et tableau de bord lors de l'arrêt du simu // * - rajout du dimmer de l'HSI en relation avec la nouvelle jauge on/off de Fabien deheegher ( var $7307 ) // * - rajout input 4033 pour passer le hsi en mode arc depuis la platine Collins du pédestal // * - rajout des inters bleed air ( var 4010 et 4011 ) et voyants associés // * - rajout de l'alarme verte AIRCONDN1 ( routine 358 ) liée au % N1 du moteur droit ( étage basse pression ) // * - rajout routine alarme pour les alarmes vertes landing et taxi lights qui ne s'allument que lorsque le train est rentré // * et que les lumières sont restées allumées // * - étalonnage variable 4051 potar pas d'hélice droit suite à changement du potar ( course 130 à 255 ) // * - modification des routines des jauges ampérage et voltage overhead 333 et 334 qui incluent maintenant // * les 2 calculs et un timer pour une montée plus lente du servo lors du test voltage pour plus de réalisme // * - correction anomalie de fonctionnement autofeather arm, la var 110 était en IN au lieu de INOUT // * - rajout des alarmes rouges bleed air fail avec variables de pression 206c et 216c + routine // * - programmation de la jauge d'altitude cabine et différentiel pression ( variable $0318 ) + servo sur device 3 ( var 0991 ) // * - modification du code pour avoir des sons réglables en volume par un potentiomètre avec setsound // * // * ---------------------------------------------------------------------------------------------------------------------------------------- // * // * /09/2016 - portage du B200 Aéroworx sur Fsx // * - rajout variable 110 ($31E4) pour calcul radio altitude et déclencher avion au sol car le B200 Aéroworx teste cette variable // * pour enclencher les reverses et fsx ne l'a remet pas à 1 // * - correction bug sur poussoir validation alarmes warning et caution // * - rajout des sons pour le GPWS dansla variable 110 et corrections des volumes dans sioc.ini // * - installation et réglage du gensun V1.02 de Fabien Dehhegher // * - programmation son stall warning et rajout test avec l'inter panneau bas copilote // * - optimisation du code du rappel alarme orange du sélecteur d'altitude // * - rajout des inter bleed air sur panneau bas copilote et programmation des voyants verts bleed air off // * - rajout des variables N1_rengine et N1_lengine pour intégrer la baisse de rpm dans le déclenchement de l'alarme train // * - rajout var 4012 sur switch hight level condition moteur droit ( input 12 carte france cockpit) // * ---------------------------------------------------------------------------------------------------------------------------------------- // * /08/2016 - étude programmation soleil mobile // * ---------------------------------------------------------------------------------------------------------------------------------------- // * /07/2016 - modif des routines calc_l_volts et calc_r_volts pour affichage des tensions génératrices gauche et droite // * quand on appuie sur les poussoirs des jauges du panneau bas de l'overhead // * - rajout servo de la jauge affichage tension AC et fréquence de l'inverter (jauge de droite panneau bas overhead) // * + poussoir de la jauge pour fréquence 400 hz // * // * ---------------------------------------------------------------------------------------------------------------------------------------- // * /06/2016 - rajout carte d'extension 32 IN , 32 OUT de Fabien Deheegher // * - programmation des leds de la platine APP65A, autopilote, Yaw damper et fail trim // * - programmation des poussoirs Yawdamper et PA sur platine APP65A // * - implémentation N1 ou N2 par poussoir sur jauge DME avec variable $0378 et power on/off var $9000 // * - modification du code charge des génératrices // * ---------------------------------------------------------------------------------------------------------------------------------------- // * /03/2016 - rajout d'un potentiomètre sur carte steeper pour le réglage de la compensation du compas (var 266) // * // * ---------------------------------------------------------------------------------------------------------------------------------------- // * /02/2016 - correction anomalie alarmes pression fuel qui ne s'allumaient pas au démarrage batterie (routine 354) // * - modification du codage de l'inverter pour utiliser une Lvar dans une macro FSUIPC au lieu de autohotkey // * // * ---------------------------------------------------------------------------------------------------------------------------------------- // * /01/2016 - passage sous sioc 5b05 // * - correction bug affichage compas par calage du 0 // * - programmation de l'inverter par un nouveau fichier autohotkey et dimensionnement automatique de la fenêtre latérale gauche // * - mise en place de la jauge rmi de Fabien Deheeger // * ---------------------------------------------------------------------------------------------------------------------------------------- // * /11/2015 - modification du code pour l'allumage du voyant Master caution jaune, on appuie sur le voyant poussoir pour valider l'alarme // * et donc éteindre le voyant jusqu'au prochain déclenchement d'alarme jaune, le clignotement demi seconde est dans la var 911 // * // * // * ---------------------------------------------------------------------------------------------------------------------------------------- // * /10/2015 - modification du code pour l'allumage du voyant Master Warning rouge, on appuie sur le voyant poussoir pour valider l'alarme // * et donc éteindre le voyant jusqu'au prochain déclenchement d'alarme rouge, le clignotement demi seconde est dans la var 911 // * // * // * ---------------------------------------------------------------------------------------------------------------------------------------- // * /08/2015 - installation du nouveau palonnier et étalonnage // * // * ---------------------------------------------------------------------------------------------------------------------------------------- // * /07/2015 - rajout du test avionic On pour le turn and bank // * - supression routine 359 al_icing, remplacée par PAN_sondepitot et rajout de la routine dans sec_fs ( var 21) // * - rajout de la programmation des freins différentiels sur le palonnier sur carte usb servo entrées analogiques 1 et 2 ( var 261 et 262 ) // * ---------------------------------------------------------------------------------------------------------------------------------------- // * /05/2015 - modif du code des manettes propeller pour calibrage précis des potentiomètres // * - modif du code des manettes power pour calibrage précis des potentiomètres // * - rajout de la touche push back sur le boitier ATC // * - modif du code pour intégrer la diminution de régime moteur de 10 % si ICE vannes enclenchées // * /05/2015 - modif du code des manettes propeller pour calibrage précis des potentiomètres // * - modif du code des manettes power pour calibrage précis des potentiomètres // * - rajout de la touche push back sur le boitier ATC // * - modif du code pour intégrer la diminution de régime moteur de 10 % si ICE vannes enclenchées // * ---------------------------------------------------------------------------------------------------------------------------------------- // * /04/2015 - rajout du clignotement 1/2 seconde pour l'alarme orange rvs not ready // * - programmation compas sur variable 070 ( mise au point ) // * - modif du code pour que le remplissage des réservoirs ne se fasse que si l'avion est au sol ( dans var 021) // * et moteurs éteints // * - variables fsuipc réordonnées par numéros // * - modification du code du palonnier pour une meilleure calibration // * - rajout routine 337 AFF_NAV1 qui prend en compte l'inter on/off sur le boitier nav1 // * ---------------------------------------------------------------------------------------------------------------------------------------- // * /03/2015 - rajout poussoirs sur input 28 et 32 pour faire le plein des réservoirs main et aux , programmé dans la var 96 secondes fs // * - remontage du trottle // * - programmation du servo indicateur de position du trim var 984 dans la variable 264 // * // * ---------------------------------------------------------------------------------------------------------------------------------------- // * /02/2015 - programmation du potentiomètre de trim elevator sur var 265 input 1 analogic // * - programmation encodeur VS sur input 40 et 41 pour piloter la nouvelle jauge de Fabien // * - rajout son gear_warning si fsx ( sound 7 dans sioc.ini ) dans al_gear subrutine 352 // * - correction icing_led pour qu'elle ne s'allume pas si bat off et rajout dans CAD // * - rajout du témoin d'arrêt du turn and bank sur output 40 et dans routine CAD // * - rajout poussoir prise de vue sous fsx sur la touche rouge Horn silence de la platine efis input 19 sur joystick virtuel // * - rajout inter beacon sur input 27 et strobe sur 31 et lampe rouge beacon sur output 26 // * - programmation des jauges carburant avec l'interface FDBUS et des voyants no transfert (output 34 et 35) // * - alarme verte crossfeed + inter crossfeed (input 36 et 37) // * - rajout programmation des pompes carburant les pompes carbu sont sur $3125 lenght 1 bit 1 gauche bit 2 droite // * // * ---------------------------------------------------------------------------------------------------------------------- // * /01/2015 - passage en version SIOC 3 7B1 // * - passage de l'encodeur ADF sur carte Léo Bodnar (encodeur double, libération input 39,40 et 41) // * - suppression des parties de code pour les encodeurs adf et gps // * - tout le gps est sur Léo Bodnar, libération input 36,37,38 // * - Modification du code pour les voyants d'alarmes orange DC GEN, ils sont testés sur 141 et 143 $2880 et $2890 // * - modification code pour le freinage sous fsx, les différentiels étaient activés quand le yocke n'était pas centré ? // * - programmation du potentiomètre du trim de profondeur sur var 264 input 2 analogic // * - révision de l'alarme rvs not ready et autofeather et passage alarme autofeather sur output 40 et 41 master OC // * pour résoudre le problème d'extinction intempestive. // * - programmation du potentiomètre de trim direction sur var 266 input 4 analogic // * - révision des alarmes autoignition // * - révision des alarmes vanne ice avec rajout des leds vertes ICE VANE EXT et des inters 12 et 13 sur tdb // * - rajout alarme verte Beacon // * - mise à jour firmware carte FC Master en version 2, cela résoud les problèmes d'alarmes // * - passage de l'encodeur nav1 sur Léo Bodnar et cablage du commutateur on/off de nav 1 sur input 20 // * - rajout de la fonction cold and dark sur poussoir Fast erect sur input 18 // * - passage de l'encodeur com1 sur léo bodnar et mise à jour du code // * ----------------------------------------------------------------------------------------------------------------------- // * /11/2014 programmation de la touche enter du pavé numérique par joystick virtuel sur fsuipc // * rajout jauge vsi de Fab // * mise au point et réglage du turn and bank // * rajout jauge airspeed de Fab // * ----------------------------------------------------------------------------------------------------------------------- // * /10/2014 programmation du poussoir direct Hdg sur la platine course et HDG du PA input 19 // * programmation des sons 4,5 et 6 pour outer,middle et inner marker // * // * ----------------------------------------------------------------------------------------------------------------------- // * /09/2014 programmation du flag rouge de mise en route turn and bank sur output 43 // * // * ----------------------------------------------------------------------------------------------------------------------- // * /07/2014 programmation du clavier de comm atc // * // * ----------------------------------------------------------------------------------------------------------------------- // * /01/2014 bascule fuel cutt off trottle sur master France cockpit var 423 input 15 (libération input 23 sur oc) // * bascule flaps sur master FC (libération input 42,43, 44 sur oc ) // * bascule pas d'hélice sur master fc // * programmation mise en drapeau manuelle et alame rvs not ready // * révision de l'alarme du train // * ----------------------------------------------------------------------------------------------------------------------- // * /01/2013 implémentation des clignotants 1/4 et 1/8 de seconde ( var 918 et 919 ) // * // * ----------------------------------------------------------------------------------------------------------------------- Var 0000, name INIT, Value 0 // Variable d'initialisation { &ACFT_ON_GND = 1 // avion au sol call &DISP_OAT_COND call &led_train call &boot_alarmes call &al_press_huile call &ini_sw // subrutine 300 call &AL_PRK_BRK // subroutine 351 call &calc_L_amps call &calc_r_amps call &al_pressfuel // subroutine 320 call &AL_AP call &cad // cold and dark } var 014, name fs_lbl_airpsi, link fsuipc_inout, offset $206c, length 8 { call &al_bleedair } var 015, name fs_rbl_airpsi, link fsuipc_inout, offset $216c, length 8 { call &al_bleedair } var 016, name fs_bleedmode, link fsuipc_inout, offset $0b50, length 1 var 017, name al_bleedair, link subrutine // gestion des alarmes rouges et verte bleed air { IF &BATTERY = 1 { if &fs_rbl_airpsi < 18 { &RBLAIR_FAILled = 1 } else // si j'ai de la pression d'air à droite { if &Test_alarm_sw = 0 // pour éviter que l'alarme s'éteigne lors du test { &RBLAIR_FAILled = 0 // j'éteins l'alarme rouge droite } if &RBLEEDAIR_SW = 0 // si l'inter bleed air valves droit est à OFF { &RBLAIROFF_LED = 1 // allume l'indicateur vert &rblairofledtmp = 1 } else { if &Test_alarm_sw = 0 // pour éviter que l'alarme s'éteigne lors du test { &RBLAIROFF_LED = 0 &rblairofledtmp = 0 } } } if &fs_lbl_airpsi < 18 { &LBLAIR_FAILled = 1 } else { if &Test_alarm_sw = 0 // pour éviter que l'alarme s'éteigne lors du test { &LBLAIR_FAILled = 0 } if &LBLEEDAIR_SW = 0 // si l'inter bleed air valves gauche est à OFF { &lBLAIROFF_LED = 1 // allume l'indicateur vert &lblairofledtmp = 1 } else { if &Test_alarm_sw = 0 // pour éviter que l'alarme s'éteigne lors du test { &lBLAIROFF_LED = 0 &lblairofledtmp = 0 } } } } } // --------------------------------------------------------------- // | | // | SECTION VARIABLES FSUIPC | // | | // --------------------------------------------------------------- Var 0021, name sec_fs, Link FSUIPC_INOUT, Offset $023a, Length 1 // secondes de FS { &clignoseconde = MOD &sec_fs ,2 &clignodemisec = 1 &clignodemisec = delay 0, 50 call &PAN_sondepitot if &battery = 1 // si battery on { if &ACFT_ON_GND = 1 // si l'avion est au sol { c0 = &L_ENG_FIRING = 0 c1 = &R_ENG_FIRING = 0 if c0 AND c1 // moteurs éteints { if &LEV_M_AUX_SW = 1 // si inter fuel quantity sur main { if &plein_ltank_sw = 1 // on remplit les réservoirs principaux { &left_tank = &left_tank + 40000 &tmp_l_tank = &left_tank } if &plein_rtank_sw = 1 { &right_tank = &right_tank + 40000 &tmp_r_tank = &right_tank } } if &LEV_M_AUX_SW = 0 // inter fuel quantity sur Aux { if &plein_ltank_sw = 1 // on remplit les réservoirs auxilliaires { &aux_ltank = &aux_ltank + 40000 &tmp_l_tank = &aux_ltank } if &plein_rtank_sw = 1 { &aux_rtank = &aux_rtank + 40000 &tmp_r_tank = &aux_rtank } } } } } } Var 0022, name PAUSE, Link FSUIPC_OUT, Offset $0262, Length 2, Value 0 // P Var 0023, name PITOT, Link FSUIPC_INOUT, Offset $029C, Length 1 // Commande réchauffage Pitot Var 0024, name fs_devcompas, Link FSUIPC_IN, Offset $02A0, Length 2 // deviation compas Var 0025 name speed_aircraft, Link FSUIPC_IN, Offset $02BC, Length 4 // vitesse de l'avion en knot * 128 { L0 = &speed_aircraft / 128 if L0 > 110 // c'est V1 { IF &ACFT_ON_GND = 1 // si l'avion est au sol { &flag_V1 = 1 // pour déclencher le son V1.wav } } else { &flag_V1 = 0 } } Var 0026, name fs_VS, Link FSUIPC_IN, Offset $02C8, Length 4 // Vertical speed de FS Var 0027, name fs_compas, Link FSUIPC_IN, Offset $02CC, Length 8 // cap compas { l0 = &fs_compas L1 = &compensateur &compas_step = l0 * 100 &compas_step = &compas_step - L1 // avec -4000 je suis juste sur le cap hsi 36000 pour un tour IF &Compas_step < 36000 // correction nécessitée par l’ajustement du point 0 { &compas_step = 36000 + &compas_step } } var 028, name fs_press_cab, link fsuipc_inout, offset $0318, length 4 { if &fs_press_cab < 5000 { l0 = &fs_press_cab / 1000 l1 = -20.6 * l0 // ax l2 = l1 + 1043 // ax + b l2 = limit 0 1023 0 &servo_altcab = l2 } else { if &fs_press_cab < 10000 { l0 = &fs_press_cab / 1000 l1 = -15.8 * l0 // ax l2 = l1 + 999 // ax + b l2 = limit 0 1023 0 &servo_altcab = l2 } else { if &fs_press_cab < 15000 { l0 = &fs_press_cab / 1000 l1 = -16.8 * l0 // ax l2 = l1 + 925 // ax + b l2 = limit 0 1023 0 &servo_altcab = l2 } else { if &fs_press_cab < 20000 { l0 = &fs_press_cab / 1000 l1 = -13.4 * l0 // ax l2 = l1 + 824 // ax + b l2 = limit 0 1023 0 &servo_altcab = l2 } else { if &fs_press_cab < 25000 { l0 = &fs_press_cab / 1000 l1 = -9.6 * l0 // ax l2 = l1 + 738 // ax + b l2 = limit 0 1023 0 &servo_altcab = l2 } else { if &fs_press_cab < 30000 { l0 = &fs_press_cab / 1000 l1 = -8 * l0 // ax l2 = l1 + 682 // ax + b l2 = limit 0 1023 0 &servo_altcab = l2 } else { if &fs_press_cab < 35000 { l0 = &fs_press_cab / 1000 l1 = -8.4 * l0 // ax l2 = l1 + 644 // ax + b l2 = limit 0 1023 0 &servo_altcab = l2 } } } } } } } } Var 0029, name X_ADF1High Link FSUIPC_INOUT Offset $034C Length 2 // Offset chiffres hauts de l'adf { if &BATT_SW = 0 // si l'inter batt est off { &D_adf1 = -999999 // afficheurs éteints } if &AVNCS_SW = 0 // si l'inter avionics est off { &D_adf1 = -999999 // afficheurs éteints } L0 = FROMBCD &X_ADF1High IF &ADF1High <> L0 // block values coming from rotary { &ADF1High = L0 &ADF1HighR = DIV &ADF1High 10 CALL &CalcADF1LowR CALL &CalcADF1Freq } } Var 0030, name COM1, Link FSUIPC_inOUT, Offset $034E, Length 2 // OUT COM1 { call &radio_dis_cond // L0 = frombcd &com1 // &com1_active = L0 + 10000 } var 0031, name Fs_nav1, link fsuipc_inout, offset $0350, Length 2 // affichage nav1 actif { call &radio_dis_cond } Var 0032, name NAV2, Link FSUIPC_OUT, Offset $0352, Length 2 // OUT NAV2 Var 0033, name XPDR, Link FSUIPC_OUT, Offset $0354, Length 2 // Transpondeur OUT Var 0034, name XPDR_OUT, Link FSUIPC_IN, Offset $0354, Length 2 // Transpondeur IN Var 0035, name X_ADF1Low Link FSUIPC_INOUT Offset $0356 Length 2 // Offset chiffres bas de l'adf { IF &X_ADF1Low <> &ADF1Low // block values coming from rotary { &ADF1Low = &X_ADF1Low CALL &CalcADF1LowR CALL &CalcADF1Freq } } Var 0036, name ACFT_ON_GND, Link FSUIPC_OUT, Offset $0366, Length 2 // Détection avion au sol/en l'air { IF &ACFT_ON_GND = 1 { // &CHECK_BANK = 0 // mises à 0 pour le gpws &CHECK_FLAPS = 0 &CHECK_GEARS = 0 // &CHECK_TER_LAND = 0 &CHECK_GLIDE = 0 } } Var 0037, name STALL, Link FSUIPC_INOUT, Offset $036C, Length 1, Value 0 // Détection du décrochage { // l'alarme est déportée sur le second pc } Var 0038, name bill_turncoord, Link FSUIPC_INOUT, Offset $036E, Length 1, Type 1 // bille du coordinateur de virage { // equation y=-0.608x + 631 // si besoin d'ajuster la bille au centre &B5 = 0 L1 = -0.608 * &bill_turncoord L1 = L1 + 631 // si besoin d'ajuster la bille au centre L1 = L1 + &B5 IF L1 >= 707 { L1 = 707 } IF L1 <= 555 { L1 = 555 } &servo_bille = L1 // servo sur output 4 } Var 0039, name nav1or2, Link FSUIPC_INout, Offset $0374, Length 2, value 256 // switch nav1= 256 nav2=512 { call &APSYS } Var 0040, name DME_SELECT, Link FSUIPC_INOUT, Offset $0378, Length 2, Value 1 // Sélection DME1/DME2 Var 0041, name turn_rate, Link FSUIPC_INOUT, Offset $037C, Length 2 { IF &turn_rate >= 0 { L0 = &turn_rate } IF &turn_rate > 60000 { L0 = &turn_rate - 65535 } // equation y=0.211x + 735 L1 = 0.211 * L0 L1 = L1 + 735 L2 = L1 - 85 // - 30 si besoin d'ajuster la position zéro (centre) L2 = LIMIT 400 750 0 if &AVNCS_SW = 1 { &servo_turn = L2 // aiguille turn sur servo } } var 0042, name alti, link fsuipc_inout, offset $0574, length 4 // altitude en mètres utilisée pour l'alarme du sélecteur d'altitude { call &AP_ALT_SEL // routine pour le voyant arm du mode alt sel du PA et orange de l'altimètre call &al_rvsnotready // routine pour déclencher l'alarme rvs not ready } Var 0043, name heading, Link FSUIPC_IN, Offset $0580, Length 4 // cap { } Var 0044, name SLEW, Link FSUIPC_OUT, Offset $05DC, Length 2, Value 0 // Y Var 0045, name AP, Link FSUIPC_INOUT, Offset $07BC, Length 4 // Commande du P.A. { IF &AP = 1 { &AP_DISC_LED = 0 // alarme rouge AP DISC éteinte &AP_APP65_LED = 1 // VOYANT VERT PA ENGAGE APP65A &AP_APP65tmp = 1 &AP_FCP65LED = 1 // VOYANT VERT AP FCP65A &AP_FCP65tmp = 1 } ELSE { IF &BATTERY = 1 { &AP_DISC_LED = 1 &cliapdis65 = 1 // fait clignoter le voyant AP disengage APP65 et fcp65 pendant 5 secondes dans var 911 &cliapdis65 = delay 0, 500 &APDISAPP65_LED = delay 1, 550 // VOYANT JAUNE PA DISENGAGE APP65A &APDISAPP65tmp = 1 &DIS_FCP65LED = delay 1, 550 // voyant jaune PA disengage sur FCP 65 A &DIS_FCP65tmp = 1 &AP_APP65_LED = 0 // VOYANT VERT PA ENGAGE APP65A &AP_FCP65LED = 0 // VOYANT VERT AP FCP65A &AP_FCP65tmp = 0 &AP_APP65tmp = 0 } } } Var 0046, name AP_HDG_LOCK, Link FSUIPC_INOUT, Offset $07C0, Length 4 // Wing Leveler Var 0047, name AP_NAV, Link FSUIPC_INOUT, Offset $07C4, Length 4, Value 0 // Commande PA mode NAV { &NAV_FCP65LED = &AP_NAV // LE VOYANT VERT NAV FCP65A SUIT LE MODE if &ap_nav = 1 { L0 = TESTBIT &Fs_NAV_capt ,1 // le bit 1 à 1 indique que nav1 est reçue if L0 = 0 // si nav1 est non capté { &NAV_ARMFCPLED = 1 // allumer voyant ambre ARM SUR FCP 65 } else // sinon si capté { &NAV_ARMFCPLED = 0 // éteindre voyant ambre ARM SUR FCP 65 } } else // si le mode nav n'est pas en fonction { &NAV_ARMFCPLED = 0 // éteindre voyant ambre ARM SUR FCP 65 } } Var 0048, name AP_HDG, Link FSUIPC_INOUT, Offset $07C8, Length 4, Value 0 // Commande PA mode HDG { &HDG_FCP65LED = &ap_hdg // VOYANT VERT HDG FCP65A } Var 0049, name HDG_SEL, Link FSUIPC_INOUT, Offset $07CC, Length 2 // Sélection de Cap { } Var 0050, name PA_ALT_SEL, Link FSUIPC_INOUT, Offset $07D0, Length 4 // Commande PA altitude selectionnée { call &AP_ALT_SEL } Var 0051, name ALT_SEL, Link FSUIPC_INOUT, Offset $07D4, Length 4, value 200 // sélection Altitude var 0052, name alert_alti, link fsuipc_inout, offset $07d6, length 2 // en metres { call &AP_ALT_SEL } Var 0053, name PA_ALT, Link FSUIPC_INOUT, Offset $07D8, Length 4 // Commande PA altitude actuelle { &ALT_FCP65LED = &PA_ALT // VOYANT VERT ALT FCP65A } Var 0054, name AP_VS, Link FSUIPC_INOUT, Offset $07EC, Length 2 // Commande PA V/S { &VS_FCP65LED = &AP_VS // VOYANT VERT VS FCP65A } Var 0055, name VERT_SPEED_SEL, Link FSUIPC_INOUT, Offset $07F2, Length 2 // sélection de vitesse verticale V/S Var 0056, name AP_GS_CAPT, Link FSUIPC_INOUT, Offset $07FC, Length 4, Value 0 // Commande capture de Glide { } Var 0057, name AP_APPR, Link FSUIPC_INOUT, Offset $0800, Length 4, Value 0 // Commande PA mode APPR { &APPR_FCP65LED = &ap_appr // VOYANT VERT APPR FCP65A call &AP_GS_ALIVE // voir si glideslope reçu } Var 0058, name AP_BC, Link FSUIPC_INOUT, Offset $0804, Length 4, Value 0 // Commande PA mode Back Course { } Var 0059, name AP_YD, Link FSUIPC_INOUT, Offset $0808, Length 4, Value 0 // Commande PA Yaw Damper { if &POWER_PA_SW = 1 { if &AP_YD = 1 { &YAW_APP65_LED = 1 &YAW_APP65tmp = 1 &YAWDAPP65_LED = 0 &YAWDAPP65tmp = 0 } else { &cliYAWDAPP65 = 1 &cliYAWDAPP65 = delay 0, 500 &YAWDAPP65_LED = delay 1, 550 &YAWDAPP65tmp = 1 &YAW_APP65_LED = 0 &YAW_APP65tmp = 0 } } else { &YAWDAPP65_LED = 0 &YAWDAPP65tmp = 0 &YAW_APP65_LED = 0 &YAW_APP65tmp = 0 } } Var 0060, name L_ENG_THROTTLE, Link FSUIPC_INOUT, Offset $088C, Length 2 // variable gaz moteur gauche { } Var 0061, name l_prop, Link FSUIPC_inout, Offset $088e, Length 2 // Commande propeller gauche { call &al_rvsnotready } Var 0062, name L_ENG_FFLOW, Link FSUIPC_INOUT, Offset $0890, Length 2 // Fuel Flow moteur 1 (gauche) { } Var 0063, name L_ENG_START, Link FSUIPC_INOUT, Offset $0892, Length 2 // Allumage moteur 1 (gauche) { IF &BATTERY = 1 { IF &L_ENG_START = 1 { // voyant no transfert gauche s'allume et s'éteint après 20 secondes &Lstbyp_led = 1 &Lstbyp_led = delay 0,2000 &L_notransf_led = 1 &L_notransf_led = delay 0,2000 } } } Var 0064, name L_ENG_FIRING, Link FSUIPC_INOUT, Offset $0894, Length 2 // Moteur 1 (gauche) en marche { CALL &DISCHLED_TEST CALL &HYDR_PRESSURE } Var 0065, name L_OIL_PRESS, Link FSUIPC_INOUT, Offset $08BA, Length 2 // Pression d'huile moteur gauche { CALL &al_press_huile } Var 0066, name L_HYDR_PRESS, Link FSUIPC_INOUT, Offset $08D8, Length 4 // Pression hydraulique moteur gauche { // CALL &HYDR_PRESSURE si je le met, les alarmes pression oil et fuel clignotent ? } Var 0067, name L_ENG_TORQUE, Link FSUIPC_INOUT, Offset $08F4, Length 4 // Couple du moteur gauche { CALL &AL_LAUTO_IGNI if &tstautofeat_sw = 1 // si le switch de test autofeather est enclenché je lance la routine de test { call &tst_autofeath } else { CALL &L_AUTOFEATHER // je lance la routine normale } CALL &al_air_cond_n1 // alarme air conditionné } Var 0068, name l_press_fuel, Link FSUIPC_INOUT, Offset $08F8, Length 4 // pression carburant moteur 1 (gauche) { call &al_pressfuel } Var 0069, name L_FUEL_FLOW, Link FSUIPC_IN, Offset $0918, Length 8, Numbers 2 // Débit de carburant gauche PPH x 100 { } Var 0070, name R_ENG_THROTTLE, Link FSUIPC_INOUT, Offset $0924, Length 2 // variable gaz moteur droit { } Var 0071, name r_prop, Link FSUIPC_INOUT, Offset $0926, Length 2 // Commande propeller droit { call &al_rvsnotready } Var 0072, name R_ENG_FFLOW, Link FSUIPC_INOUT, Offset $0928, Length 2 // Fuel Flow moteur 2 (droit) { } Var 0073, name R_ENG_START, Link FSUIPC_INOUT, Offset $092A, Length 2 // Allumage moteur 2 (droit) { IF &BATTERY = 1 { IF &R_ENG_START = 1 { // voyant no transfert droit s'allume et s'éteint après 20 secondes &R_notransf_led = 1 &R_notransf_led = delay 0,2000 } ELSE { &R_notransf_led = 0 } IF &R_ENG_START = 2 // générateur droit ON { &BATTCHARG_LED = 1 // l'alarme orange BATT CHG s'allume &BATTCHARG_LED = DELAY 0 ,6000 // puis s'éteint après 1 minute &BATCHARGLEDtmp = 1 // l'alarme tempo s'allume &BATCHARGLEDtmp = DELAY 0 ,6000 // puis s'éteint après 1 minute } } } Var 0074, name R_ENG_FIRING, Link FSUIPC_INOUT, Offset $092C, Length 2 // Moteur 2 (droit) en marche { CALL &DISCHLED_TEST CALL &HYDR_PRESSURE } Var 0075, name R_OIL_PRESS, Link FSUIPC_INOUT, Offset $0952, Length 2 // Pression d'huile moteur droit { CALL &al_press_huile } Var 0076, name R_HYDR_PRESS, Link FSUIPC_INOUT, Offset $0970, Length 4 // Pression hydraulique moteur droit { CALL &HYDR_PRESSURE } Var 0077, name R_ENG_TORQUE, Link FSUIPC_INOUT, Offset $098C, Length 4 // Couple du moteur droit { CALL &AL_RAUTO_IGNI if &tstautofeat_sw = 1 // si le switch de test autofeather est enclenché je lance la routine de test { call &tst_autofeath } else { CALL &r_AUTOFEATHER // sinon je lance la routine normale } CALL &al_air_cond_n1 // alarme verte air conditionné } Var 0078, name r_press_fuel, Link FSUIPC_INOUT, Offset $0990, Length 4 // pression carburant moteur droit { call &al_pressfuel } Var 0079, name R_FUEL_FLOW, Link FSUIPC_IN, Offset $09B0, Length 8, Numbers 2 // Débit de carburant droit PPH x 100 { } var 0080, name shaker_bff, link fsuipc_inout, offset $09e2, length 2 // variable de smoke utilisée par fsuipc pour la mettre ON lorsque le vibreur est actif { } Var 0081 name Inner_Mkr, Link FSUIPC_IN, Offset $0BAC, Length 2 // INNER Marker { IF &Inner_Mkr = 1 { &Inner_Mkr_LED = 1 } ELSE { &Inner_Mkr_LED = 0 } } Var 0082 name Middle_Mkr, Link FSUIPC_IN, Offset $0BAE, Length 2 // MIDDLE Marker { IF &Middle_Mkr = 1 { &Middle_Mkr_LED = 1 } ELSE { &Middle_Mkr_LED = 0 } } Var 0083 name Outer_Mkr, Link FSUIPC_IN, Offset $0BB0, Length 2 // Outer Marker { IF &Outer_Mkr = 1 { &Outer_Mkr_LED = 1 } ELSE { &Outer_Mkr_LED = 0 } } Var 0084, name FS_pal, Link FSUIPC_INOUT, Offset $0BBA, Length 2 // Offset du palonnier Var 0085, name FS_elevator, Link FSUIPC_INOUT, Offset $0BB2, Length 2 // Offset elevator Var 0086, name Fs_trim_out, Link FSUIPC_OUT, Offset $0BC0, Length 2 // Offset du trim en écriture piloté par le potentiomètre { &trimrAPP65_LED = 0 if &fs_trim_out = 16383 { &trimrAPP65_LED = 1 } if &fs_trim_out = -16257 { &trimrAPP65_LED = 1 } } Var 0087, name Fs_trim_read, Link FSUIPC_IN, Offset $0BC2, Length 2 // indicateur du trim de profondeur en lecture { if &Fs_trim_read < 49000 // dans la plage UP { L0 = &Fs_trim_read * -0.031 L1 = L0 + 512 } else // dans la plage DN { L0 = &Fs_trim_read - 49152 L1 = L0 * -0.031 L1 = L1 + 1020 } L1 = limit 1 1020 0 &servo_trim = L1 &servo_trim = delay 0,1000 // pour couper l'alim du servo au bout d'une seconde &trim_fab = L1 // nouveau moteur asservi sur carte Fabien } Var 0088 name left_brake, Link FSUIPC_INOUT, Offset $0BC4, Length 2 // frein gauche Var 0089 name right_brake, Link FSUIPC_INOUT, Offset $0BC6, Length 2 // frein droit Var 0090, name PKG_BRK, Link FSUIPC_INOUT, Offset $0BC8, Length 2 // Commande de frein de parking Var 0091, name FLAPS, Link FSUIPC_INOUT, Offset $0BDC, Length 4, Value 0 // Volets { CALL &al_gear } Var 0092, name FLAPSleft, Link FSUIPC_INOUT, Offset $0BE0, Length 4 // Volets chaque changement donne la position sur la gauge // de facon lente { L0 = &flapsleft * -1 L0 = L0 + 16383 L0 = L0 / 15.4 L0 = LIMIT 85 950 0 &servo_flaps = l0 } Var 0093, name GEAR, Link FSUIPC_INOUT, Offset $0BE8, Length 4 // Commande du train { call &al_rvsnotready CALL &al_prop_sync CALL &al_gear CALL &Led_train call &al_land_light // alarmes vertes si train up avec landing ou taxi light ON IF &GEAR < 16383 // gpws { &CHECK_FLAPS = 0 &CHECK_GLIDE = 0 } ELSE { IF &GEAR = 16383 { &CHECK_GEARS = 0 } } } Var 0094, name NOSE_GEAR_POS, Link FSUIPC_IN, Offset $0BEC, Length 4 // Position du train avant { CALL &Led_train } Var 0095, name RIGHT_GEAR_POS, Link FSUIPC_IN, Offset $0BF0, Length 4 // Position du train droit { CALL &Led_train } Var 0096, name LEFT_GEAR_POS, Link FSUIPC_IN, Offset $0BF4, Length 4 // Position du train gauche { CALL &Led_train } Var 0097, name NAV1_GS_flag, Link FSUIPC_INOUT, Offset $0C4C, Length 1 // glideslope de nav1 alive si à 1 { call &AP_GS_ALIVE } Var 0098, name NAV1_GS_needle, Link FSUIPC_INOUT, Offset $0C49, Length 1 // angle de glide slope de nav1 de -119 à + 119 { call &AP_GS_ALIVE } Var 0099, name CRS_NAV1_SEL, Link FSUIPC_INOUT, Offset $0C4E, Length 2 // Sélection Course OBS1 $0c5e pour obs2 { call &apsys if &CRS_NAV1_SEL > 360 { &CRS_NAV1_SEL = &CRS_NAV1_SEL - 360 } if &CRS_NAV1_SEL <= 0 { &CRS_NAV1_SEL = &CRS_NAV1_SEL + 360 } } Var 0100, name LIGHTS, Link FSUIPC_INOUT, Offset $0D0C, Length 2 // Commande éclairages { call &al_land_light } Var 0101, name oat, Link FSUIPC_IN, Offset $0E8C, Length 2, Type 1 // température extérieure { call &PAN_sondepitot L0 = &OAT / 256 &OAT_DIS = TRUNC L0 // résultat de la division tronquée pour ne pas dépasser 4 digits if &oat < 1200 // si temp < 5° { if &battery = 1 { &icing_led = 1 &icingledtmp = 1 if &pitot = 0 // si rechauf pitot off { if &ACFT_ON_GND = 0 // si avion en l'air { &fault_pitot = DELAY 1 ,120000 // panne pitot au bout de 20 minutes &PITOTOFF_LED = 1 &pitotoffledtmp = 1 } } else { if &Test_alarm_sw = 0 // pour éviter que l'alarme s'éteigne lors du test { &PITOTOFF_LED = 0 &pitotoffledtmp = 0 } } } } else { if &Test_alarm_sw = 0 // pour éviter que l'alarme s'éteigne lors du test { &icing_led = 0 &icingledtmp = 0 } } CALL &DISP_OAT_COND } Var 0102, name gps_nav, Link FSUIPC_INout, Offset $132C, Length 4, value 0 // switch Auto pilot nav gps { call &APSYS } Var 0103, name N1_lengine, Link FSUIPC_INOUT, Offset $2000, Length 8 // pourcentage N1 moteur 1 (gauche) pour alarme du train { call &al_gear } Var 0104, name N1_rengine, Link FSUIPC_INOUT, Offset $2100, Length 8 // pourcentage N1 moteur 2 (droit) pour alarme du train et air cond { call &al_gear CALL &al_air_cond_n1 // le switch pour test de l'air conditionné n'est que sur le moteur droit d'après la doc } var 0105, name volt_bat, link FSUIPC_INOUT, Offset $2834, Length 8, Numbers 2 // Tension batterie Var 0106, name volt_main_bus, Link FSUIPC_IN, Offset $2840, Length 8, numbers 2 // valeur tension main bus { call &test_courant } Var 0107, name FS_AVBUS_VOLT, Link FSUIPC_IN, Offset $2850, Length 8, numbers 2 // valeur tension avionics bus { if &FS_AVBUS_VOLT > 1700 { &val_avio = 1 } else { &val_avio = 0 } } Var 0108, name genL_VOLTS, Link FSUIPC_IN, Offset $2880, Length 8 // voltage generatrice gauche { if &genl_volts = 28 { if &Test_alarm_sw = 0 // pour éviter que l'alarme s'éteigne lors du test { &lDC_GEN_LED = DELAY 0 ,500 // s'éteint après 5 secondes &LDC_GEN_LEDtmp = 0 } } else { &lDC_GEN_LED = 1 &LDC_GEN_LEDtmp = 1 } } Var 0109, name L_ALTAMPs, Link FSUIPC_IN, Offset $2888, Length 8, numbers 2 // valeur ampérage génératrice gauche { call &calc_L_amps } Var 0110, name genR_VOLTS, Link FSUIPC_IN, Offset $2890, Length 8 // voltage generatrice droite { if &genr_volts = 28 { if &Test_alarm_sw = 0 // pour éviter que l'alarme s'éteigne lors du test { &rDC_GEN_LED = DELAY 0 ,500 // s'éteint après 5 secondes &RDC_GEN_LEDtmp = 0 } } else { &rDC_GEN_LED = 1 &RDC_GEN_LEDtmp = 1 } } Var 0111, name R_ALTAMPS, Link FSUIPC_IN, Offset $2898, Length 8, numbers 2 // ampérage génératrice droite { call &calc_r_amps } Var 0112, name ALTerna_static, Link FSUIPC_INOUT, Offset $029b, Length 1 // alternate static source Var 0113, name AUTOFEATHER, Link FSUIPC_INOUT, Offset $2E88, Length 2 // Offset Autofeather { CALL &L_AUTOFEATHER CALL &R_AUTOFEATHER } Var 0114, name Fs_aileron_tab, Link FSUIPC_OUT, Offset $2EB0, Length 8, Numbers 2 // OUT Trim elevator Var 0115, name Fs_rudder_tab, Link FSUIPC_OUT, Offset $2EC0, Length 8, Numbers 2 // OUT Trim Direction Var 0116, name PROP_SYNC, Link FSUIPC_INOUT, Offset $2EC8, Length 1 // Commande synchro hélices { CALL &al_prop_sync } Var 0117, name AP_FD, Link FSUIPC_INOUT, Offset $2EE0, Length 4, Value 0 // Commande PA Flight Director var 0118, name fs_poids, link FSUIPC_INOUT, Offset $30C0, Length 8, Numbers 2 // poids de l'avion Var 0119, name BATTERY, Link FSUIPC_INOUT, Offset $3102, Length 1, Value 0 // Commande Master Battery { &BATTERY = &BATT_SW // Concordance FS/cockpit IF &BATTERY = 1 { &OVH_12V = 0 // amène le 12 volt à l'overhead par la carte relai, le relai est inversé if &avncs = 0 { &flag_turnbank = 1 } else { &flag_turnbank = 0 } &LIGHTS = clearBIT 5 // instruments au min de luminosité if &l_eng_start = 0 // si moteur gauche non démarré { if &r_eng_start = 0 // et moteur droit non démarré { CALL &boot_alarmes // routine 350 } } if &genl_volts = 0 { &lDC_GEN_LED = 1 } if &genr_volts = 0 { &rDC_GEN_LED = 1 } } ELSE { &LIGHTS = CLEARBIT 5 &OVH_12V = 1 // coupe le 12 volt à l'overhead par la carte relai &inverter_LED = 0 // alarme rouge INVERTER éteinte &INVERTERLEDtmp = 0 &AP_DISC_LED = 0 &AP_DISC_LEDtmp = 0 &pwrdme_LED = 0 &rvs_LED = 0 &rDC_GEN_LED = 0 &lDC_GEN_LED = 0 &LIGNITION_LED = 0 &RIGNITION_LED = 0 &LANDING_LED = 0 &TAXILIGHT_LED = 0 &BEACON_LED = 0 &STROBES_LED = 0 &NAVLIGHT_LED = 0 &LICEVAN_LED = 0 &LICVANEXT_LED = 0 &RICEVAN_LED = 0 &RICVANEXT_LED = 0 &flag_turnbank = 0 &PITOTOFF_LED = 0 &AP_APP65_LED = 0 // VOYANT VERT PA ENGAGE APP65A éteint &APDISAPP65_LED = 0 // VOYANT JAUNE PA DISENGAGE APP65A éteint &APDISAPP65tmp = 0 &DIS_FCP65LED = 0 // voyant jaune PA disengage fcp65a éteint &DIS_FCP65tmp = 0 &AP_FCP65LED = 0 // VOYANT VERT AP FCP65A éteint &AP_APP65tmp = 0 &AP_FCP65tmp = 0 &VS_FCP65LED = 0 &YAW_APP65_LED = 0 &YAW_APP65tmp = 0 &YAWDAPP65_LED = 0 &YAWDAPP65tmp = 0 // &dmeonoff = 0 // coupe le dme &BATTCHARG_LED = 0 &select_alt_LED = 0 &HDG_FCP65LED = 0 // VOYANT VERT HDG FCP65A &LBLAIROFF_LED = 0 &RBLAIROFF_LED = 0 &LEFT_GEAR_LED = 0 &RBLAIR_FAILled = 0 &LBLAIR_FAILled = 0 &AIRCNDOFF_LED = 0 &HYDFLUID_LED = 0 // sera remplacé par un voyant orange hyd fluid low &valid_warning = 1 // pour stopper le bip d'alarme Master warning } CALL &DISCHLED_TEST CALL &RADIO_DIS_COND call &calc_L_amps call &calc_r_amps call &led_train call &al_press_huile call &al_prk_brk call &al_pressfuel call &al_bleedair call &al_prop_sync call &calc_disp_tank // routine de mise en marche des jauges carburants CALL &HYDR_PRESSURE } Var 0120, name AVNCS, Link FSUIPC_INOUT, Offset $3103, Length 1 // Commande Avionique { &AVNCS = &AVNCS_SW // Concordance FS/Cockpit CALL &RADIO_DIS_COND if &avncs = 0 // si avionics off { &flag_turnbank = 1 // on allume l'indicateur rouge OFF du turn and bank sur output 40 } else { &flag_turnbank = 0 } } Var 0121, name QNH, Link FSUIPC_OUT, Offset $3110, Length 4 // offset de commande FS qui me sert pour le qnh (version Nico) Var 0122 name COM2, Link FSUIPC_OUT, Offset $3118, Length 2 // OUT COM2 Var 0123, name Fs_comstby, Link FSUIPC_INout, Offset $311A, Length 2 // com1 standbye { L0 = frombcd &Fs_comstby L0 = L0 + 10000 &COM1_DIS = L0 } Var 0124, name AUDIO, Link FSUIPC_INOUT, Offset $3122, Length 1 // Ecoute radios Var 0125, name FS_pompes, Link FSUIPC_INOUT, Offset $3125, Length 1 // Pompes carburant Var 0126, name FS_ground_alti, Link FSUIPC_INOUT, Offset $31E4, Length 4 // Offset radio altitude sol { // alarmes GPWS déportées sur le second PC } Var 0127, name Fs_NAV_capt, Link FSUIPC_IN, Offset $3300, Length 2 // Offset capture nav { L0 = TESTBIT &Fs_NAV_capt ,1 // le bit 1 à 1 indique que nav1 est reçue if &ap_nav = 1 // si autopilote en mode nav // et non réception de nav1 { if L0 = 0 { &NAV_ARMFCPLED = 1 // allumer voyant ambre ARM SUR FCP 65 } else // si réception { &NAV_ARMFCPLED = 0 // éteindre voyant ambre ARM SUR FCP 65 } } } Var 0129, name V_JOYSTICK, Link FSUIPC_OUT, Offset $3340, Length 2 // joystick virtuel pour l'atc Var 0132, name fs_NAV_ADF_RMI, Link FSUIPC_OUT, Offset $7301, Length 1 // passage nav -> adf pour les aiguilles du RMI Var 0133, name fs_ehsi, Link FSUIPC_OUT, Offset $7307, Length 1 // var pour mode ehsi (hsi arc ou map) Var 0134, name fs_lumehsi, Link FSUIPC_OUT, Offset $7308, Length 1 // luminosité ehsi Var 0136, name airspeed_1, Link FSUIPC_out, Offset $9001, Length 2 // seconde aiguille sur jauge airspeed de Fabien Var 0137, name trim_fab, Link FSUIPC_out, Offset $9002, Length 2 // var pour trim elevator carte moteur var 0138, name trim_elev_cl, Link FSUIPC_INout, Offset $66FA, Length 8 // var qui permet l'écriture de l'élevator trim de BFF_CL var 0139, name sound_alti, Link FSUIPC_INout, Offset $2254, Length 4, value 0 // var qui permet le déclenchement du son de l'alarme selecteur alti // --------------------------------------------------------------- // | | // | SECTION VARIABLES PANNES | // | | // --------------------------------------------------------------- Var 0200 name fault_pitot, Link FSUIPC_INOUT, Offset $3BE3, Length 2 // panne pitot // --------------------------------------------------------------- // | | // | SECTION POTENTIOMETRES | // | | // --------------------------------------------------------------- Var 0261, name pot_L_brake, Link usb_analogic, device 2, Input 1, PosL 0, PosC 50, PosR 121 // Potentiomètre frein gauche 0 à 121 sur carte servo device 14 { l0 = &pot_L_brake * 205 l0 = limit 0 16384 0 &left_brake = l0 } Var 0262, name pot_R_brake, Link usb_analogic, device 2, Input 2, PosL 0, PosC 47, PosR 95 // Potentiomètre frein droit 0 à 95 sur carte servo device 14 { l0 = &pot_r_brake * 215 l0 = limit 0 16384 0 &right_brake = l0 } var 0265,name PALONNIER,link usb_analogic, device 2, input 3,posL 0,posC 127,posR 255 // potentiomètre commande du palonnier (va de 107 à 180) sur carte servo device 14 { // L1 = 16383 * 2 32766 // L1 = L1 / 74 = 442 L1 = 230 L0 = &palonnier - 65 // 207 à fond pédale droite 65 à fond gauche // C0 = &palonnier > 140 // C1 = &palonnier < 155 // if C0 and C1 // plage de centrage // { // &fs_pal = 0 // } // else // { L0 = L0 * L1 L0 = L0 - 16383 L0 = LIMIT -16383 16383 0 &fs_pal = L0 // &fs_pal = 16384 // } } Var 0266, name pot_ruddertab, Link iocard_analogic, Input 4, PosL 0, PosC 128, PosR 255 // Pot Trim Direction { L0 = &pot_ruddertab * 155 L0 = L0 - 19530 &Fs_rudder_tab = L0 / 1000 } Var 0267, name pot_compens, Link usb_analogic, Input 1, PosL 0, PosC 128, PosR 255 // Pot compensateur du compas { L0 = &pot_compens * 30 &compensateur = L0 l2 = &fs_compas L1 = &compensateur &compas_step = l2 * 100 &compas_step = &compas_step - L1 // avec -4000 je suis juste sur le cap hsi 36000 pour un tour IF &Compas_step < 36000 // correction nécessitée par l’ajustement du point 0 { &compas_step = 36000 + &compas_step } } var 268,name pot_rprop,link iocard_analogic, device 1,input 2,posL 0,posC 127,posR 255 // course potar 23 à 157 { // l0 = &pot_Rprop - 23 // remise à zéro // l1 = l0 * 1.9 // facteur de multiplication pour pot à 255 // if l0 < 10 // { // // &r_prop = -4096 // } // else // { // &r_prop = l1 * 64.25 // } // &r_prop = limit -4096 16383 0 } var 269,name pot_lumehsi,link usb_analogic,input 3,posL 0,posC 127,posR 255 // potar luminosité de l'ehsi { &fs_lumehsi = &pot_lumehsi } var 270,name pot_son,link usb_analogic,device 2, input 4, posL 0,posC 127,posR 255 // potar essai variation volume carte servo device 14 { &vol_son1 = &pot_son / 2 &vol_son1 = limit 0 100 0 } var 271, name vol_son1 // --------------------------------------------------------------- // | | // | SECTION SOUS ROUTINES | // | | // --------------------------------------------------------------- Var 0300, name ini_sw, Link SUBRUTINE // conformité interrupteurs avec variables { &GEAR = &GEAR_SW * 16383 &BATTERY = &BATT_SW &AVNCS = &AVNCS_SW &PKG_BRK = &PKG_BRK_SW * 32767 &PROP_SYNC = &PROP_SYNC_SW } Var 0301, name STAB_FLAPS_SND, Link SUBRUTINE // Alarme chauff stab/volets Var 0302, name test_courant, Link SUBRUTINE // détermine si courant d'après tension bus { IF &volt_main_bus = 2800 // Si 1 (ou 2) génératrice ON { &courant = 1 // le courant est ON ... } ELSE { IF &batt_sw = 1 // Si l'inter batterie est ON { IF &volt_main_bus > 1700 // et si la tension est suffisante { &courant = 1 // le courant est ON ... } ELSE { &courant = 0 // sinon le courant = 0 si batterie déchargée } } ELSE { &courant = 0 // ou le courant = 0 si le switch battery est OFF } } } Var 303, name DISP_OAT_COND, Link SUBRUTINE // Conditions d'affichage Displays OAT { IF &BATTERY = 1 // la batterie est sur ON { IF &AVNCS = 1 { IF &oat_CouF_P = 1 { L0 = &oat / 256 L0 = L0 * 9 L1 = L0 / 5 L2 = L1 + 32 // conversion C° en Farenheit &OAT_DIS = trunc L2 // affichage en farenheit &oat_CouF = 8 // affichage du F } ELSE { L0 = &OAT / 256 &OAT_DIS = trunc L0 // affichage en C° &oat_CouF = 9 // affichage du C } } ELSE { &OAT_DIS = -999999 // Afficheurs éteints &oat_CouF = -999999 // Afficheur C ou F éteint } } ELSE { &OAT_DIS = -999999 // Afficheurs éteints &oat_CouF = -999999 // Afficheur C ou F éteint } } Var 0304, name L_FEATHERING, Link SUBRUTINE // mise en drapeau manuelle { // if &l_feather_sw = 1 // micro switch manette gauche // { // if &l_eng_throttle < 2000 // { // if &l_eng_fflow <= 7000 // low iddle // { // // &l_prop = -4096 // } // } // } } Var 0305, name R_FEATHERING, Link SUBRUTINE // mise en drapeau manuelle { // if &r_feather_sw = 1 // micro switch manette gauche // { // if &r_eng_throttle < 2000 // { // if &r_eng_fflow <= 7000 // low iddle // { // // &r_prop = -4096 // } // } // } } Var 0306, name R_AUTOFEATHER, Link SUBRUTINE // Commande de l'ALARME AUTOFEATHER DROIT { IF &AUTOFEATHER = 1 // Autofeather armé { IF &R_ENG_TORQUE > 14745 // soit 90% de N1 moteur droit { &RAUTOFEAT_LED = 1 &rautofealedtmp = 1 } ELSE // si le Torque est <90% { if &Test_alarm_sw = 0 // pour éviter que l'alarme s'éteigne lors du test { &RAUTOFEAT_LED = 0 &rautofealedtmp = 0 } } } ELSE // inter Autofeather sur OFF { if &Test_alarm_sw = 0 // pour éviter que l'alarme s'éteigne lors du test { &RAUTOFEAT_LED = 0 &rautofealedtmp = 0 } } } Var 0307, name L_AUTOFEATHER, Link SUBRUTINE // Commande de l'ALARME AUTOFEATHER GAUCHE { IF &AUTOFEATHER = 1 // Autofeather armé { IF &L_ENG_TORQUE > 14745 // soit 90% de N1 moteur gauche { &LAUTOFEAT_LED = 1 &LAUTOFEALEDtmp = 1 } ELSE // si le Torque est <90% { if &Test_alarm_sw = 0 // pour éviter que l'alarme s'éteigne lors du test { &LAUTOFEAT_LED = 0 &LAUTOFEALEDtmp = 0 } } } ELSE // inter Autofeather sur OFF { if &Test_alarm_sw = 0 // pour éviter que l'alarme s'éteigne lors du test { &LAUTOFEAT_LED = 0 &LAUTOFEALEDtmp = 0 } } } Var 0308, name Led_train, link subrutine { IF &BATTERY = 1 // la batterie est sur ON { IF &NOSE_GEAR_POS = 16383 { &NOSE_GEAR_LED = 1 &GEAR_TRANS_LED = 0 } ELSE { IF &NOSE_GEAR_POS >= 1 { &NOSE_GEAR_LED = 0 &GEAR_TRANS_LED = 1 } ELSE { IF &NOSE_GEAR_POS = 0 { &NOSE_GEAR_LED = 0 &GEAR_TRANS_LED = 0 } } } IF &RIGHT_GEAR_POS = 16383 { &GEAR_TRANS_LED = 0 &RIGHT_GEAR_LED = DELAY 1 ,80 } ELSE { IF &RIGHT_GEAR_POS >= 1 { &RIGHT_GEAR_LED = 0 &GEAR_TRANS_LED = 1 } ELSE { IF &RIGHT_GEAR_POS = 0 { &RIGHT_GEAR_LED = 0 &GEAR_TRANS_LED = 0 } } } IF &LEFT_GEAR_POS = 16383 { &GEAR_TRANS_LED = 0 &LEFT_GEAR_LED = DELAY 1 ,160 } ELSE { IF &LEFT_GEAR_POS >= 1 { &LEFT_GEAR_LED = 0 &GEAR_TRANS_LED = 1 } ELSE { IF &LEFT_GEAR_POS = 0 { &LEFT_GEAR_LED = 0 &GEAR_TRANS_LED = 0 } } } } ELSE { &NOSE_GEAR_LED = 0 &RIGHT_GEAR_LED = 0 &LEFT_GEAR_LED = 0 &GEAR_TRANS_LED = 0 } } Var 0309, name al_rvsnotready, Link SUBRUTINE // alarme orange RVS NOT READY { if &gear = 16383 // si le train sorti { L0 = &l_prop + &R_PROP // ne doit pas être inférieur à 32000 L1 = &R_ENG_FFLOW + &L_ENG_FFLOW // = le total des manettes conditions lever 6000 + 6000 avec les 2 moteurs en route L2 = L0 + L1 IF L2 > 44000 { &rvs_led = 0 &rvsledtmp = 0 } else { if L1 > 11000 { &rvs_led = 1 &rvsledtmp = 1 } } } else { &rvs_led = 0 &rvsledtmp = 0 } } Var 0310, name HYDR_PRESSURE, Link SUBRUTINE // Alarme circuits hydrauliques { L0 = &L_HYDR_PRESS L1 = &R_HYDR_PRESS L2 = L0 + L1 IF L2 < 5000 { if &battery = 1 // car la routine est lancée dans battery et cela allume le voyant même battery éteinte { &HYDFLUID_LED = 1 // alarme jaune HYD FLUID LOW &hydfluidledtmp = 1 } } ELSE { IF L2 >= 5000 { if &Test_alarm_sw = 0 // pour éviter que l'alarme s'éteigne lors du test { &HYDFLUID_LED = DELAY 0, 500 &hydfluidledtmp = 0 } } } } Var 0311, name DISCHLED_TEST, Link SUBRUTINE // Conditions pour la led BATT_DISCH_LED { IF &BATTERY = 1 // la batterie est sur ON { IF &R_ENG_FIRING = 1 // et le moteur DROIT est en marche { } ELSE // si le moteur droit est arrêté { } } ELSE // si la batterie est sur OFF { } } Var 0312, name AVIONIQUE, Link SUBRUTINE // Mise en route des instruments seulement si courant { &AVIONIQUE = &L_ENG_FIRING + &R_ENG_FIRING IF &AVIONIQUE >= 1 // Si un des 2 moteurs en route { &AVNCS = &AVNCS_SW // Ecrans allumés si inter ON } ELSE { &AVNCS = 0 // Les 2 moteurs arrêtés = écrans éteints } } Var 0313, name RADIO_DIS_COND, Link SUBRUTINE // Conditions affichage boitiers com1, nav1 et adf { IF &BATTERY = 0 // Si général off { &COM1_DIS = -999999 // Affichage off &com1_active = -999999 &Display_nav1 = -999999 // Affichage OFF &D_ADF1 = -999999 // Affichage OFF } IF &BATTERY = 1 // Si général on { IF &AVNCS = 0 // Si avionics off { l0 = &on_com1_sw l1 = &sq_com1_sw l2 = l0 + l1 if l2 > 0 // si commutateur com1 ou squelch est ON { &COM1_DIS = -999998 // Affichage com1 stbye ----- &com1_active = -999998 // Affichage com1 active ----- } else { &COM1_DIS = -999999 // Affichage com1 stbye off &com1_active = -999999 // Affichage com1 active off } if &POWER_NAV1_SW = 1 // si commutateur power nav1 ON { &Display_nav1 = -999998 // Affichage nav1 ----- } else // si commutateur power nav1 OFF { &Display_nav1 = -999999 // Affichage nav1 OFF } &D_ADF1 = -999998 // Affichage ADF ---- } } IF &BATTERY = 1 // Si général on { IF &AVNCS = 1 // Si avionics on { l0 = &on_com1_sw l1 = &sq_com1_sw l2 = l0 + l1 if l2 > 0 { L0 = frombcd &com1 &com1_active = L0 + 10000 &com1_dis = 12170 // Affichage ground louvigny } else { &COM1_DIS = -999999 // Affichage com1 stbye off &com1_active = -999999 // Affichage com1 active off } if &POWER_NAV1_SW = 1 // si commutateur power nav1 ON { l0 = frombcd &fs_nav1 // on affiche nav1 &Display_nav1 = l0 + 10000 } else // si commutateur power nav1 OFF { &Display_nav1 = -999999 // Affichage nav1 OFF } &D_ADF1 = &ADF1Freq } } } Var 0314,name cal_cod_alti link subrutine // calcul du codeur altimétrique { if &cal_cod_alti > 300 { &cal_cod_alti = 300 } if &cal_cod_alti < 0 { &cal_cod_alti = 0 } l0 = &cal_cod_alti * 1997537 &ALT_SEL = l0 } Var 0315,name calc_course, link subrutine // calcul course { if &calc_course > 360 { &calc_course = &calc_course - 360 } if &calc_course <= 0 { &calc_course = &calc_course + 360 } &CRS_NAV1_SEL = &calc_course } Var 0316,name CAL_PROP, link subrutine // calcul du prop { } var 0317, name CalcADF1Freq Link Subrutine { L0 = &ADF1High * 10 // high * 10 &ADF1Freq = L0 + &ADF1Low // + decimal CALL &OutADF1 } Var 0318, name OutADF1 Link SUBRUTINE { &D_ADF1 = &ADF1Freq } var 0319, name CalcADF1LowR Link Subrutine { L0 = MOD &ADF1High 10 L0 = L0 * 10 &ADF1LowR = L0 + &ADF1Low } var 0320, name CalcADF1High Link Subrutine { L0 = DIV &ADF1LowR 10 L1 = &ADF1HighR * 10 &ADF1High = L0 + L1 } Var 0321, name calc_r_amps, Link subrutine // calcul charge et voltage droite { if &L_GAUGE_SW = 0 // si le poussoir gauche n'est pas enfoncé on affiche l'ampérage { L0 = &r_altamps * -1 // exemple pour 1600, çà donne - 1600 L0 = L0 / 100 // çà donne - 16 l0 = l0 * 7.2 // 7.2 c'est la course totale divisée par 100 çà donne - 115.2 if &r_altamps <> 0 { L0 = L0 + 920 // pour la décaller un peu plus à droite je prend 920 } else { L0 = L0 + 1020 // pour bien la mettre à zéro } L0 = LIMIT 300 1020 0 &r_gauge_volt = l0 } else // si le poussoir est enfoncé on affiche le voltage { L0 = &genr_VOLTS * -1 l0 = l0 * 24 // la course totale servo 1020 - 300 divisée par le nombre de graduations 30 çà donne 24 L0 = L0 + 1020 L0 = LIMIT 300 1020 0 &r_gauge_volt = TIMER l0,-3,1 // pour que le servo se déplace lentement c'est plus réaliste } } Var 0322, name calc_l_amps, Link subrutine // calcul charge et voltage generatrice gauche { if &L_GAUGE_SW = 0 // si le poussoir n'est pas enfoncé on affiche l'ampérage { L0 = &l_altamps * -1 // exemple pour 1600, çà donne - 1600 L0 = L0 / 100 // çà donne - 16 l0 = l0 * 7.2 // 7.2 c'est la course totale divisée par 100 çà donne - 115.2 if &l_altamps <> 0 { L0 = L0 + 920 // pour la décaller un peu plus à droite je prend 920 } else { L0 = L0 + 1020 // pour bien la mettre à zéro } L0 = LIMIT 300 1020 0 &l_gauge_volt = l0 } else // si le poussoir est enfoncé on affiche le voltage { L0 = &genL_VOLTS * -1 l0 = l0 * 24 // la course totale servo 1020 - 300 divisée par le nombre de graduations 30 çà donne 24 L0 = L0 + 1020 L0 = LIMIT 300 1020 0 &l_gauge_volt = TIMER l0,-4,1 // pour que le servo se déplace lentement c'est plus réaliste } } Var 0323 name CALC_HDG, link subrutine // calcul hdg { if &CALC_HDG > 360 { &CALC_HDG = &CALC_HDG - 360 } if &CALC_HDG <= 0 { &CALC_HDG = &CALC_HDG + 360 } l1 = &CALC_HDG * 182.04444 l0 = l1 + 1 &HDG_SEL = l0 } Var 0324, name APSYS, Link subrutine // routine pour le switch gps nav autopilot { &gps_nav = &GPS_NAV_SW if &gps_nav = 1 // mode gps { &Display_nav1 = -999998 } else // mode nav { if &nav1or2 = 256 { l0 = frombcd &fs_nav1 // on affiche nav1 &Display_nav1 = l0 + 10000 } } } var 0325, name self_test_pa, link subrutine // routine de self test du PA quand on appuie sur le bouton PA ENG de la platine APP 65 A { &AP_APP65_LED = 1 // VOYANT VERT PA ENGAGE APP65A &AP_APP65tmp = 1 &AP_FCP65LED = 1 // VOYANT VERT AP FCP65A &AP_FCP65tmp = 1 &DIS_FCP65LED = 1 // VOYANT JAUNE DIS FCP65A &DIS_FCP65tmp = 1 &DIS_FCP65LED = delay 0,200 // VOYANT JAUNE DIS FCP65A &DIS_FCP65tmp = 0 &APDISAPP65_LED = 1 // VOYANT JAUNE PA DISENGAGE APP65A &APDISAPP65_LED = delay 0,200 // VOYANT JAUNE PA DISENGAGE APP65A &APDISAPP65tmp = 0 &trimrAPP65_LED = 1 // VOYANT ROUGE TRIM APP65A &trimrAPP65_LED = delay 0,200 // VOYANT ROUGE TRIM APP65A &REDAP_FCP65LED = 1 // VOYANT ROUGE AP FCP65A &REDAP_FCP65LED = delay 0,200 // VOYANT ROUGE AP FCP65A } Var 0326, name AP_GS_ALIVE, Link SUBRUTINE // ce qu'il y a à faire si réception glide slope { if &nav1_gs_flag = 1 // si réception du glideslope nav1 { if &AP_APPR = 1 // si le mode approche est enclenché { if &NAV1_GS_needle > 50 // si l'angle est compris entre 50 et 250 { if &NAV1_GS_needle < 250 { &GS_ARMFCPLED = 1 // allume VOYANT JAUNE GS ARM FCP65A &GS_ARMFCPtmp = 1 &GS_FCP65LED = 1 // allume la led verte GS } } else // le glide est capturé { &GS_ARMFCPLED = 0 // éteint VOYANT JAUNE GS ARM FCP65A &GS_ARMFCPtmp = 0 &play_sound = 21 // déclenche son glideslope } &GS_FCP65LED = 1 // allume la led verte GS &AP_GS_CAPT = 1 // passe le PA en mode capture de glide } } else { &GS_FCP65LED = 0 &AP_GS_CAPT = 0 // annule le mode capture de glide &GS_ARMFCPLED = 0 // éteint VOYANT JAUNE GS ARM FCP65A &GS_ARMFCPtmp = 0 } } Var 0327, name AP_ALT_SEL, Link SUBRUTINE // ce qu'il y a à faire si altitude sélectionnée est atteinte avec le mode alt sel enclenché { if &PA_ALT_SEL = 1 // si le mode alt sel est enclenché { l0 = &alti l1 = l0 - &alert_alti // altitude avion en mètres - altitude sélectionnée en mètres l2 = abs L1 if l2 > 300 // si la différence d'altitude excède 1000 pieds { &ALT_ARMFCPLED = 1 // allume VOYANT JAUNE ALT ARM FCP65A &ALTSEL_FCPLED = 1 // allume le voyant vert ALT &select_alt_LED = 0 // éteint le rappel d'alarme orange sur l'altimètre } if l2 > 98 // si la différence d'altitude excède 300 pieds mais est inférieure à 1000 pieds le voyant doit s'allumer { if l2 < 300 { if &select_alt_LED = 0 { &sound_alti = 1 // &play_sound = 24 // le son alarm_selectalti doit être joué une fois // &play_sound = 0 } &ALT_ARMFCPLED = 1 // allume VOYANT JAUNE ALT ARM FCP65A &ALTSEL_FCPLED = 1 // allume le voyant vert ALT &select_alt_LED = 1 // allume le rappel d'alarme orange sur l'altimètre } } else // si la différence est inférieure à 300 pieds { &ALT_ARMFCPLED = 0 // éteint VOYANT JAUNE ALT ARM FCP65A &ALTSEL_FCPLED = 1 // allume le voyant vert ALT &select_alt_led = 0 // éteint le rappel d'alarme orange sur altimètre } if l2 = 0 // si l'altitude sélectionné = altitude de l'avion { &select_alt_LED = 1 &select_alt_LED = delay 0, 500 // s'éteint au bout de 5 secondes } } else { &ALTSEL_FCPLED = 0 // éteint le voyant vert ALT &ALT_ARMFCPLED = 0 // éteint VOYANT JAUNE ALT ARM FCP65A &select_alt_led = 0 } } var 0328,name cal_PALO, Link SUBRUTINE { L1 = 230 L0 = &palonnier - 65 // 207 à fond pédale droite 65 à fond gauche L0 = L0 * L1 L0 = L0 - 16383 L0 = LIMIT -16383 16383 0 &fs_pal = L0 } // --------------------------------------------------------------- // | | // | SECTION SOUS ROUTINES ALARMES | // | | // --------------------------------------------------------------- Var 0350, name boot_alarmes, Link SUBRUTINE // démarrage des voyant alarmes et beep batterie { IF &BATTERY = 1 // la batterie est sur ON { &AP_DISC_LED = 1 &AP_DISC_LEDtmp = 1 &L_OIL_PRES_LED = 1 &R_OIL_PRES_LED = 1 &LOILPRESLEDtmp = 1 &ROILPRESLEDtmp = 1 &LFUEL_PRES_LED = 1 &LFUELPRESStmp = 1 &RFUEL_PRES_LED = 1 &RFUELPRESStmp = 1 &INVERTER_LED = 1 &INVERTERLEDtmp = 1 &PKG_BRK_LED = 1 &PROP_SYNC_LED = 1 &propsyncLEDtmp = 1 } else { &AP_DISC_LED = 0 &AP_DISC_LEDtmp = 0 &L_OIL_PRES_LED = 0 &R_OIL_PRES_LED = 0 &LOILPRESLEDtmp = 0 &ROILPRESLEDtmp = 0 &LFUEL_PRES_LED = 0 &LFUELPRESStmp = 0 &RFUEL_PRES_LED = 0 &RFUELPRESStmp = 0 &INVERTER_LED = 0 &INVERTERLEDtmp = 0 &PKG_BRK_LED = 0 &PROP_SYNC_LED = 0 &propsyncLEDtmp = 0 &lDC_GEN_LED = 0 &rDC_GEN_LED = 0 &select_alt_LED = 0 // rappel d'alarme orange du sélecteur d'altitude sur altimètre } } Var 0351, name TEST_LEDS, Link SUBRUTINE { &AP_DISC_LED = &Test_alarm_sw OR &AP_DISC_LEDtmp &PKG_BRK_LED = &Test_alarm_sw OR &PKG_BRK // >la LED prend la valeur 32767 !!!! OK &INVERTER_LED = &Test_alarm_sw OR &INVERTERLEDtmp &L_OIL_PRES_LED = &Test_alarm_sw OR &LOILPRESLEDtmp &R_OIL_PRES_LED = &Test_alarm_sw OR &ROILPRESLEDtmp &RBLAIR_failled = &test_alarm_sw OR &RBL_FAILledtmp &LBLAIR_failled = &test_alarm_sw OR &LBL_FAILledtmp &PROP_SYNC_LED = &Test_alarm_sw OR &propsyncLEDtmp &rvs_LED_temp = &Test_alarm_sw OR &rvs_LED &icing_led = &test_alarm_sw OR &icingledtmp &licevan_led = &test_alarm_sw OR &licevan_ledtmp &ricevan_led = &test_alarm_sw OR &ricevan_ledtmp &battcharg_led = &test_alarm_sw OR &batchargledtmp &EXTPOWER_LED = &test_alarm_sw OR &EXTPOWERLEDtmp &PITOTOFF_LED = &test_alarm_sw OR &pitotoffledtmp &LAUTOFEAT_LED = &test_alarm_sw OR &LAUTOFEALEDtmp &rAUTOFEAT_LED = &test_alarm_sw OR &rAUTOFEALEDtmp &LFUEL_PRES_LED = &Test_alarm_sw OR &LFUELPRESStmp &RFUEL_PRES_LED = &Test_alarm_sw OR &RFUELPRESStmp &FIRE_LEFT_LED = &Test_alarm_sw // OR &L_FIRE_SW &FIRE_RIGHT_LED = &Test_alarm_sw // OR &R_FIRE_SW &BEACON_LED = &test_alarm_sw OR &BEACON_LEDtmp &TRIMOFF_LED = &test_alarm_sw OR &TRIMOFF_LEDtmp &AIRCNDOFF_LED = &test_alarm_sw OR &AIRCNDOFLEDtmp &STROBES_LED = &test_alarm_sw OR &STROBES_LEDtmp &ricvanext_led = &test_alarm_sw OR &ricvanexledtmp &licvanext_led = &test_alarm_sw OR &licvanexledtmp &PASSOXYON_LED = &test_alarm_sw OR &PASSOXYLEDtmp &cli_landingled = &test_alarm_sw OR &clilandledtmp &navlight_led = &test_alarm_sw OR &navlightledtmp &cli_taxiled = &test_alarm_sw OR &clitaxiledtmp &LIGNITION_LED = &test_alarm_sw OR &lignitiledtmp &rIGNITION_LED = &test_alarm_sw OR &rignitiledtmp &lblairoff_led = &test_alarm_sw OR &lblairofledtmp &rblairoff_led = &test_alarm_sw OR &rblairofledtmp &CAUTLGND_LED = &test_alarm_sw OR &CAUTLGNDLEDtmp &FUELCROSS_LED = &test_alarm_sw OR &FUELCROSLEDtmp &LDC_GEN_LED = &test_alarm_sw OR &LDC_GEN_LEDtmp &RDC_GEN_LED = &test_alarm_sw OR &RDC_GEN_LEDtmp &HYDFLUID_LED = &test_alarm_sw or &hydfluidledtmp } Var 0352, name al_gear, Link SUBRUTINE // alarme du train { if &N1_rengine < 70 // si % rpm turbine inférieur à 70 et train rentré on déclenche l'alarme { if &flaps > 0 { if &gear = 0 { &play_sound = 7 &play_sound = 0 &GEAR_TRANS_LED = 1 } } } if &N1_lengine < 70 { if &flaps > 0 { if &gear = 0 { &play_sound = 7 &play_sound = 0 &GEAR_TRANS_LED = 1 } } } IF &FLAPS = 16383 // Flaps DN { if &gear = 0 // et train rentré { &GEAR_TRANS_LED = 1 // alarme ON &play_sound = 7 &play_sound = 0 } } IF &GEAR = 16383 { if &flaps = 0 { &GEAR_TRANS_LED = 0 } } } Var 0353, name al_prop_sync, Link SUBRUTINE // Alarme orange PROP SYNC ON { if &battery = 1 { IF &PROP_SYNC = 1 { IF &GEAR = 16383 { &PROP_SYNC_LED = 1 // Alarme orange &propsyncLEDtmp = 1 } IF &GEAR = 0 { &PROP_SYNC_LED = 0 &propsyncLEDtmp = 0 } } ELSE // si inter Prop Sync OFF { &PROP_SYNC_LED = 0 &propsyncLEDtmp = 0 } } else // si batterie off { &PROP_SYNC_LED = 0 &propsyncLEDtmp = 0 } } var 0354, name al_pressfuel, link subrutine // alarmes rouge pour la pression de carburant { if &battery = 1 { IF &l_press_fuel < 10 // selon manuel l'alarme rouge s'allume dès que la haute pression fuel tombe en dessous de 10 +- 1 psi { if &Lpompe_SW = 0 // et si standbye pomp = off input 42 { &LFUEL_PRES_LED = 1 &LFUELPRESStmp = 1 } else // sinon la standbye pump gauche est enclenchée -> alarme éteinte { // si coupe circuit on quand il ne seront plus en série avec les condition lever &LFUEL_PRES_LED = 0 &LFUELPRESStmp = 0 } if &r_XFEED_SW = 1 { &LFUEL_PRES_LED = 0 // les 2 voyants doivent s'éteindre si cross feed ON car cela active les 2 standbye pump &LFUELPRESStmp = 0 &rFUEL_PRES_LED = 0 &rFUELPRESStmp = 0 } } ELSE // si fluel flow gauche > 60 { if &Test_alarm_sw = 0 // pour éviter que l'alarme s'éteigne lors du test { &LFUEL_PRES_LED = 0 &LFUELPRESStmp = 0 } } IF &r_press_fuel < 10 { if &rpompe_sw = 0 // et si standbye pomp = off input 40 { &RFUEL_PRES_LED = 1 &RFUELPRESStmp = 1 } else { &RFUEL_PRES_LED = 0 &RFUELPRESStmp = 0 } if &l_XFEED_SW = 1 { &LFUEL_PRES_LED = 0 &LFUELPRESStmp = 0 &rFUEL_PRES_LED = 0 &rFUELPRESStmp = 0 } } ELSE // si fuel flow > 10 { if &Test_alarm_sw = 0 // pour éviter que l'alarme s'éteigne lors du test { &RFUEL_PRES_LED = 0 &RFUELPRESStmp = 0 } } } else // si la batterie est off { &LFUEL_PRES_LED = 0 &LFUELPRESStmp = 0 &RFUEL_PRES_LED = 0 &RFUELPRESStmp = 0 } } Var 0355,name AL_PRK_BRK, link subrutine // alarme orange parkink brake { IF &BATTERY = 0 // Si général off { &PKG_BRK_LED = 0 // led parking éteinte } else { IF &PKG_BRK_SW = 1 { &PKG_BRK_LED = 1 } else { &PKG_BRK_LED = 0 } } } var 0356, name al_press_huile, link subrutine // alarmes rouge pression huile moteurs { if &battery = 1 { IF &L_OIL_PRESS < 15000 { &L_OIL_PRES_LED = 1 &LOILPRESLEDtmp = 1 } ELSE { if &Test_alarm_sw = 0 // pour éviter que l'alarme s'éteigne lors du test { &L_OIL_PRES_LED = 0 &LOILPRESLEDtmp = 0 } } IF &R_OIL_PRESS < 15000 { &R_OIL_PRES_LED = 1 &ROILPRESLEDtmp = 1 } ELSE { if &Test_alarm_sw = 0 // pour éviter que l'alarme s'éteigne lors du test { &R_OIL_PRES_LED = 0 &ROILPRESLEDtmp = 0 } } } else { &L_OIL_PRES_LED = 0 &R_OIL_PRES_LED = 0 &LOILPRESLEDtmp = 0 &ROILPRESLEDtmp = 0 } } Var 0357,name AL_AP, link subrutine // alarme rouge autopilot disconnect { IF &BATTERY = 0 // Si général off { &AP_DISC_LED = 0 // led autopilot disconnect éteinte &AP_DISC_LEDtmp = 0 } else // Si général on { IF &AP = 1 // et autopilot on { &AP_DISC_LED = 0 // led autopilot disconnect éteinte &AP_DISC_LEDtmp = 0 } else // si autopilot off { &AP_DISC_LED = 1 // led autopilot disconnect allumée &AP_DISC_LEDtmp = 1 &play_sound = 20 &play_sound = 0 } } } Var 0358, name al_air_cond_n1, Link SUBRUTINE // Alarme verte AIR COND N1 LOW { IF &BATTERY = 1 // Si général on { if &LBLEEDAIR_SW = 1 { if &N1_rengine < 62 // d'après la doc le switch pour N1 low n'est que sur le moteur droit { &AIRCNDOFF_LED = 1 &AIRCNDOFLEDtmp = 1 } else { if &Test_alarm_sw = 0 // pour éviter que l'alarme s'éteigne lors du test { &AIRCNDOFF_LED = 0 &AIRCNDOFLEDtmp = 0 } } } else { if &Test_alarm_sw = 0 // pour éviter que l'alarme s'éteigne lors du test { &AIRCNDOFF_LED = 0 &AIRCNDOFLEDtmp = 0 } } if &RBLEEDAIR_SW = 1 { if &N1_rengine < 62 { &AIRCNDOFF_LED = 1 &AIRCNDOFLEDtmp = 1 } else { if &Test_alarm_sw = 0 // pour éviter que l'alarme s'éteigne lors du test { &AIRCNDOFF_LED = 0 &AIRCNDOFLEDtmp = 0 } } } else { if &LBLEEDAIR_SW = 1 { &AIRCNDOFF_LED = 1 &AIRCNDOFLEDtmp = 1 } else { if &Test_alarm_sw = 0 // pour éviter que l'alarme s'éteigne lors du test { &AIRCNDOFF_LED = 0 &AIRCNDOFLEDtmp = 0 } } } } else { if &Test_alarm_sw = 0 // pour éviter que l'alarme s'éteigne lors du test { &AIRCNDOFF_LED = 0 &AIRCNDOFLEDtmp = 0 } } } var 0359, name PAN_sondepitot , link subrutine // fonction test sonde pitot grillée { if &ACFT_ON_GND = 1 // si avion au sol { if &pitot = 1 // si réchauffage pitot { &fault_pitot = DELAY 1 ,60000 // sonde pitot grillée au bout de 10mn &sonde_grillee = 1 } } if &ACFT_ON_GND = 0 // si avion est en l'air { if &fault_pitot = 1 // si pitot bouché { if &pitot = 1 // mais réchauffage enclenché { if &sonde_grillee = 0 // et sonde non grillée { &fault_pitot = DELAY 0 ,6000 // annule défaut pitot bouché au bout de 5mn test 1 mn si la sonde pas grillée } } } } } Var 0360, name test_fcp65A, Link SUBRUTINE // test des leds platines app65A et fcp65A { &YAW_APP65_LED = &test_fcp65_sw OR &YAW_APP65tmp // VOYANT VERT YAW ENGAGE APP65A &YAWDAPP65_LED = &test_fcp65_sw OR &YAWDAPP65tmp // VOYANT JAUNE YAW DISENGAGE APP65A &AP_APP65_LED = &test_fcp65_sw OR &AP_APP65tmp // VOYANT VERT PA ENGAGE APP65A &APDISAPP65_LED = &test_fcp65_sw OR &APDISAPP65tmp // VOYANT JAUNE PA DISENGAGE APP65A &trimrAPP65_LED = &test_fcp65_sw // VOYANT ROUGE TRIM APP65A &A_AP_APP65_LED = &test_fcp65_sw // VOYANT JAUNE A APP65A &R_APP65_LED = &test_fcp65_sw // VOYANT JAUNE R DROIT APP65A &RE_APP65_LED = &test_fcp65_sw // VOYANT JAUNE E DROIT APP65A &120_APP65_LED = &test_fcp65_sw // VOYANT VERT 1/2 TOUR APP65A &SRAPP65_LED = &test_fcp65_sw // VOYANT VERT SR APP65A &trimjAPP65_LED = &test_fcp65_sw // VOYANT JAUNE TRIM APP65A &trimrAPP65_LED = &test_fcp65_sw // VOYANT ROUGE TRIM APP65A &GS_ARMFCPLED = &test_fcp65_sw OR &GS_ARMFCPtmp // VOYANT JAUNE GS ARM FCP65A &APPRARMFCPLED = &test_fcp65_sw OR &APPRARMFCPtmp // VOYANT JAUNE APPR ARM FCP65A &ALT_ARMFCPLED = &test_fcp65_sw OR &ALT_ARMFCPtmp // VOYANT JAUNE ALT ARM FCP65A &NAV_ARMFCPLED = &test_fcp65_sw OR &NAV_ARMFCPtmp // VOYANT JAUNE NAV ARM FCP65A &DSC_FCP65LED = &test_fcp65_sw OR &DSC_FCP65tmp // VOYANT VERT DSC FCP65A &CLM_FCP65LED = &test_fcp65_sw OR &CLM_FCP65tmp // VOYANT VERT CLM FCP65A &GS_FCP65LED = &test_fcp65_sw OR &GS_FCP65tmp // VOYANT VERT GS FCP65A &VS_FCP65LED = &test_fcp65_sw OR &VS_FCP65tmp // VOYANT VERT VS FCP65A &ALTSEL_FCPLED = &test_fcp65_sw // VOYANT VERT ALT SEL FCP65A &ALT_FCP65LED = &test_fcp65_sw // VOYANT VERT ALT FCP65A &120_FCP65LED = &test_fcp65_sw // VOYANT VERT 1/2 0 FCP65A &VNAV_FCP65LED = &test_fcp65_sw // VOYANT VERT VNAV FCP65A &BC_FCP65LED = &test_fcp65_sw // VOYANT VERT BC FCP65A &APPR_FCP65LED = &test_fcp65_sw // VOYANT VERT APPR FCP65A &NAV_FCP65LED = &test_fcp65_sw // VOYANT VERT NAV FCP65A &HDG_FCP65LED = &test_fcp65_sw // VOYANT VERT HDG FCP65A &AP_FCP65LED = &test_fcp65_sw OR &AP_FCP65tmp // VOYANT VERT AP FCP65A &DIS_FCP65LED = &test_fcp65_sw OR &DIS_FCP65tmp // VOYANT JAUNE DIS FCP65A &REDAP_FCP65LED = &test_fcp65_sw // VOYANT ROUGE AP FCP65A } Var 0361, name AL_LAUTO_IGNI, Link SUBRUTINE // Alarme Auto Ignition gauche { IF &L_AUTO_IGNISW = 1 { IF &L_ENG_TORQUE < 3276 // valeur pour Torque=400 { &LIGNITION_LED = 1 // alarme verte L IGNITION ON } ELSE // si Torque >400 { if &Test_alarm_sw = 0 // pour éviter que l'alarme s'éteigne lors du test { &LIGNITION_LED = 0 } } } ELSE // inter sur OFF { if &Test_alarm_sw = 0 // pour éviter que l'alarme s'éteigne lors du test { &LIGNITION_LED = 0 } } } Var 0362, name AL_RAUTO_IGNI, Link SUBRUTINE // Alarme Auto Ignition droite { IF &R_AUTO_IGNISW = 1 { IF &R_ENG_TORQUE < 3276 // valeur pour Torque=400 { &RIGNITION_LED = 1 // alarme verte R IGNITION ON } ELSE // si Torque >400 { if &Test_alarm_sw = 0 // pour éviter que l'alarme s'éteigne lors du test { &RIGNITION_LED = 0 } } } ELSE // inter sur OFF { if &Test_alarm_sw = 0 // pour éviter que l'alarme s'éteigne lors du test { &RIGNITION_LED = 0 } } } Var 0363, name CAD, Link SUBRUTINE // fonction cold and dark qui initialise le simu { IF &CAD_SW = 1 { IF &PKG_BRK_SW = 1 { &PKG_BRK = 32767 // Frein de parking ON } ELSE { &PKG_BRK = 0 } IF &BATTERY = 1 { &OVH_12V = 0 // amène le 12 volt à l'overhead par la carte relai if &avncs = 0 { &flag_turnbank = 1 } else { &flag_turnbank = 0 } // &LIGHTS = SETBIT 5 instruments au max de luminosité if &l_eng_start = 0 // moteur gauche non démarré { if &r_eng_start = 0 // moteur droit non démarré { CALL &boot_alarmes // routine 350 } } if &genl_volts = 0 { &lDC_GEN_LED = 1 } if &genr_volts = 0 { &rDC_GEN_LED = 1 } } ELSE { &LIGHTS = CLEARBIT 5 &OVH_12V = 1 // coupe le 12 volt à l'overhead par la carte relai &INVERTER_LED = 0 // alarme rouge INVERTER éteinte &INVERTERLEDtmp = 0 &AP_DISC_LED = 0 &AP_DISC_LEDtmp = 0 &pwrdme_LED = 0 &rvs_LED = 0 &rvsledtmp = 0 &rDC_GEN_LED = 0 &lDC_GEN_LED = 0 &LANDING_LED = 0 &TAXILIGHT_LED = 0 &strobes_led = 0 // alarme verte strobe &STROBES_LEDtmp = 0 &NAVLIGHT_LED = 0 &navlightledtmp = 0 &LICEVAN_LED = 0 &licevan_ledtmp = 0 &LICVANEXT_LED = 0 &licvanexledtmp = 0 &RICEVAN_LED = 0 &ricevan_ledtmp = 0 &ricvanexledtmp = 0 &RICVANEXT_LED = 0 &PASSOXYON_LED = 0 &PASSOXYLEDtmp = 0 &R_ENG_FFLOW = 0 // Position "CutOff" et Firewall CutOff &L_ENG_FFLOW = 0 // Position "CutOff" et Firewall CutOff &icing_led = 0 &icingledtmp = 0 &flag_turnbank = 0 &light_beacon = 0 // lumière rouge beacon &PITOTOFF_LED = 0 // alarme orange pitot off &pitotoffledtmp = 0 &FUELCROSS_LED = 0 // alarme verte FUEL CROSSFEED &FUELCROSLEDtmp = 0 &PROP_SYNC_LED = 0 &propsyncLEDtmp = 0 &YAW_APP65_LED = 0 &YAW_APP65tmp = 0 &BATTCHARG_LED = 0 &batchargledtmp = 0 &extpower_led = 0 &extpowerledtmp = 0 &select_alt_led = 0 // rappel d'alarme orange du sélecteur d'altitude sur altimètre &RBLAIR_FAILled = 0 // alarme rouge bleed air fail &LBLAIR_FAILled = 0 // alarme rouge bleed air fail &RBL_FAILledtmp = 0 &LBL_FAILledtmp = 0 &AIRCNDOFF_led = 0 &AIRCNDOFLEDtmp = 0 &HYDFLUID_led = 0 // sera remplacé par un voyant orange hyd fluid low &hydfluidledtmp = 0 &LAUTOFEAT_LED = 0 &LAUTOFEALEDtmp = 0 &rAUTOFEAT_LED = 0 &rAUTOFEALEDtmp = 0 &BEACON_LED = 0 // alarme verte beacon &BEACON_LEDtmp = 0 &TRIMOFF_LED = 0 &TRIMOFF_LEDtmp = 0 &clilandledtmp = 0 &clitaxiledtmp = 0 &LIGNITION_LED = 0 &RIGNITION_LED = 0 &lignitiledtmp = 0 &rignitiledtmp = 0 &lblairoff_led = 0 &rblairoff_led = 0 &lblairofledtmp = 0 &rblairofledtmp = 0 &CAUTLGND_LED = 0 &CAUTLGNDLEDtmp = 0 &VS_FCP65LED = 0 &AUDIO = CHANGEBIT 1 ,0 // mise à 0 des inters com panel audio pour P3DV4 &AUDIO = CHANGEBIT 2 ,0 &AUDIO = CHANGEBIT 3 ,0 &AUDIO = CHANGEBIT 4 ,0 &AUDIO = CHANGEBIT 6 ,0 &AUDIO = CHANGEBIT 7 ,0 } CALL &DISCHLED_TEST CALL &RADIO_DIS_COND call &calc_L_amps call &calc_r_amps call &led_train call &al_press_huile call &al_prk_brk call &al_pressfuel call &al_prop_sync &gauge_110Volts = 1022 // init de la jauge inverter à 0 &l_gauge_volt = 1020 // init de la jauge volts gauche à 0 &FS_pompes = 0 // éteint les pompes &play_sound = 0 // évite le son master warning au démarrage } } Var 0364, name GAZ_DROIT , Link SUBRUTINE // fonction de calcul de la commande gaz moteur droit potar de 54 à 255 177 en iddle 91 en butée avant reverse { l0 = &POT_R_power - 91 // pour remettre le potar à zéro // facteur de multiplication = 99.90 16384 / 164 = 99.90 164 = l'ampleur du potar (255 - 91) if &POT_R_power < 177 { l1 = l0 * 51 } else { l1 = l0 * 99.90 } if &r_eng_antice = 0 { &R_ENG_THROTTLE = l1 } else // si vanne ice enclenchée moteur - 10 % { &R_ENG_THROTTLE = l1 * 0.9 } IF &POT_R_power < 85 { if &ACFT_ON_GND = 1 // si avion au sol { &R_ENG_THROTTLE = 61441 } } } Var 0365, name GAZ_GAUCHE , Link SUBRUTINE // fonction de calcul de la commande gaz moteur gauche pot de 41 à 255 160 en iddle 74 en butée avant reverse { l0 = &POT_L_power - 74 // pour remettre le potar à zéro // facteur de multiplication = 90.51 16384 / 181 = 90.51 181 = l'ampleur du potar (255 - 74) if &POT_L_power < 160 { l1 = l0 * 51 } else { l1 = l0 * 90.51 } if &l_eng_antice = 0 { &L_ENG_THROTTLE = l1 } else // si vanne ice enclenchée moteur - 10 % { &L_ENG_THROTTLE = l1 * 0.9 } IF &POT_L_power < 70 { if &ACFT_ON_GND = 1 // si avion au sol { &L_ENG_THROTTLE = 61441 } } } var 0369, name al_land_light, link subrutine // allume les alarmes vertes landing et taxi light si train UP et lumières allumées { IF &GEAR < 16383 // si le train est rentré { C0 = TESTBIT &LIGHTS ,2 // si les feux d'atterrissage sont allumés C1 = testbit &lights ,3 // si les feux taxi sont allumés if c0 { &LANDING_LED = delay 1,1000 } else { &LANDING_LED = 0 } if c1 { &TAXILIGHT_LED = delay 1, 1000 } else { &TAXILIGHT_LED = 0 } } else // si train sorti { &LANDING_LED = 0 &TAXILIGHT_LED = 0 } } var 370, name tst_autofeath, link subrutine // routine pour le test autofeather elle n'est lancée que si l'inter test autofeather est On { c0 = &L_ENG_TORQUE > 4000 c1 = &r_ENG_TORQUE > 4000 if c0 and c1 { &LAUTOFEAT_LED = 1 // alarme autofeather gauche allumé &LAUTOFEALEDtmp = 1 &rAUTOFEAT_LED = 1 // alarme droite autofeather allumée &rAUTOFEALEDtmp = 1 } else { if c0 { if &r_ENG_TORQUE < 2000 { if &Test_alarm_sw = 0 // pour éviter que l'alarme s'éteigne lors du test { &LAUTOFEAT_LED = 0 // alarme autofeather gauche éteinte &LAUTOFEALEDtmp = 0 } &rAUTOFEAT_LED = 1 // alarme droite autofeather clignotante &rAUTOFEALEDtmp = 1 } } else { if c1 { if &l_ENG_TORQUE < 2000 { &LAUTOFEAT_LED = 1 // alarme autofeather gauche clignotante &LAUTOFEALEDtmp = 1 if &Test_alarm_sw = 0 // pour éviter que l'alarme s'éteigne lors du test { &rAUTOFEAT_LED = 0 // alarme droite autofeather éteinte &rAUTOFEALEDtmp = 0 } } } else { if &Test_alarm_sw = 0 // pour éviter que l'alarme s'éteigne lors du test { &LAUTOFEAT_LED = 0 // alarme autofeather gauche éteinte &LAUTOFEALEDtmp = 0 &rAUTOFEAT_LED = 0 // alarme droite autofeather éteinte &rAUTOFEALEDtmp = 0 } } } } } // --------------------------------------------------------------- // | | // | SECTION INTERRUPTEURS | // | | // --------------------------------------------------------------- Var 0400, name BATT_SW, Link IOCARD_SW, Input 0 // Inter Master Battery { &BATTERY = &BATT_SW } Var 0401, name AVNCS_SW, Link IOCARD_SW, Input 1 // Inter Avionique { &AVNCS = &AVNCS_SW call &avionique call &DISP_OAT_COND // &dmeonoff = &avncs_sw if &avncs_sw = 1 { &QNH = 65569 &QNH = DELAY 0 ,10 // raz après 100 msec } } Var 0402, name INVERTER_SW, Link IOCARD_SW, Input 2 // Commande Inverter { IF &BATTERY = 1 // Si général on { IF &INVERTER_SW = 1 { &KEYS = 6 // génère un shift + A qui lance la macro 0 B200.mcro fsuipc contenant la Lvar inverter avec paramètre 1 &KEYS = delay 0,100 // ré-initialisation génère un shift + o &INVERTER_LED = 0 // alarme rouge INVERTER éteinte &INVERTERLEDtmp = 0 &gauge_110Volts = timer 810, -2, 1 } ELSE { &KEYS = 7 // génère un shift + Z qui lance la macro 0 B200.mcro fsuipc contenant la Lvar inverter avec paramètre 0 &KEYS = delay 0,100 &INVERTER_LED = 1 &INVERTERLEDtmp = 1 &gauge_110Volts = 1022 } } } Var 0403, name R_ENG_ANTICE, Link IOCARD_SW, Input 3 // Engine anti ice droit { IF &BATTERY = 1 { &RICEVAN_LED = &R_ENG_ANTICE // alarme orange &ricevan_ledtmp = &r_eng_antice &RICVANEXT_LED = delay &R_ENG_ANTICE,1200 // alarme verte &ricvanexledtmp = delay &r_eng_antice,1200 call &GAZ_DROIT // recalcule le régime des gaz } else { &RICEVAN_LED = 0 // alarme orange &ricevan_ledtmp = 0 &RICVANEXT_LED = 0 // alarme verte &ricvanexledtmp = 0 } } Var 0404, name L_ENG_ANTICE, Link IOCARD_SW, Input 4 // Engine anti ice gauche { IF &BATTERY = 1 { &LICEVAN_LED = &L_ENG_ANTICE // alarme orange &licevan_ledtmp = &l_eng_antice &LICVANEXT_LED = delay &L_ENG_ANTICE,1000 // alarme verte &licvanexledtmp = delay &l_eng_antice,1000 call &GAZ_GAUCHE // recalcule le régime des gaz } else { &LICEVAN_LED = 0 &licevan_ledtmp = 0 &LICVANEXT_LED = 0 // alarme verte &licvanexledtmp = 0 } } Var 0405, name L_AUTO_IGNISW, Link IOCARD_SW, Input 5 // Engine autoignition gauche { call &AL_LAUTO_IGNI } Var 0406, name R_AUTO_IGNISW, Link IOCARD_SW, Input 6 // Engine autoignition droit { call &AL_RAUTO_IGNI } Var 0407, name L_GEN_SW, Link IOCARD_SW, Input 7 // Inter générateur gauche { IF &L_GEN_SW = 1 { IF &BATTERY = 1 { &L_ENG_START = 2 // Géné 1 ON } } ELSE { &L_ENG_START = 0 } } Var 0408, name R_GEN_SW, Link IOCARD_SW, Input 8 // Inter générateur droit { IF &R_GEN_SW = 1 { IF &BATTERY = 1 { &R_ENG_START = 2 // Géné 2 ON call &calc_r_amps } } ELSE { &R_ENG_START = 0 } } Var 0409, name R_ENG_START_SW, Link IOCARD_SW, Input 9 // Inter démarrage moteur droit (2) { IF &R_ENG_START_SW = 1 { &R_ENG_START = 1 // Démarrage moteur droit &rIGNITION_LED = delay 1,300 } ELSE { &R_ENG_START = 0 if &Test_alarm_sw = 0 // pour éviter que l'alarme s'éteigne lors du test { &rIGNITION_LED = 0 } } } Var 0410, name L_ENG_START_SW, Link IOCARD_SW, Input 10 // Inter démarrage moteur gauche (1) { IF &L_ENG_START_SW = 1 { &L_ENG_START = 1 // démarrage moteur gauche &lIGNITION_LED = delay 1,300 } ELSE { &L_ENG_START = 0 if &Test_alarm_sw = 0 // pour éviter que l'alarme s'éteigne lors du test { &lIGNITION_LED = 0 } } } Var 0411, name AUTOFEATHER_SW, Link IOCARD_SW, Input 11 // Inter Autofeather { IF &BATTERY = 1 // Si général on { IF &AUTOFEATHER_SW = 1 // position ARM { &AUTOFEATHER = 1 // Autofeather armé } ELSE { &AUTOFEATHER = 0 // Autofeather off } } else // battery off { &AUTOFEATHER = 0 // Autofeather off } } Var 0412, name tstautofeat_sw, Link IOCARD_SW, Input 12 // inter test autofeather Var 0413, name AC_GAUGE_SW, Link IOCARD_SW, Input 13 // Poussoir de la gauge AC volts { IF &INVERTER_SW = 1 { if &ac_gauge_sw = 1 { &gauge_110Volts = 750 } else { &gauge_110Volts = 810 } } } Var 0414, name PUSHBACK_SW, Link IOCARD_SW, Input 14 // Commande du push back sur clavier ATC { IF &BATTERY = 1 // Si général on { if &pushback_sw = 1 { &KEYS = 11 // génère un shift + i pour push back cette combinaison de touche est déclarée dans les commandes FS &KEYS = 0 // ré-initialisation } } } Var 0415, name L_GAUGE_SW, Link IOCARD_SW, Input 15, type I // Poussoir de la gauge génératrice gauche { call &calc_L_amps call &calc_r_amps } var 0416, name PKG_BRK_SW, Link IOCARD_SW, Input 16 // Inter Parking Brake { IF &PKG_BRK_SW = 1 { &PKG_BRK = 32767 // Frein de parking ON } ELSE { &PKG_BRK = 0 } call &AL_PRK_BRK // subroutine 351 } Var 0417, name GEAR_SW, Link IOCARD_SW, Input 17 // Inter manette de train { &GEAR = &GEAR_SW * 16383 // train sorti } Var 0418, name CAD_SW,Link IOCARD_SW, input 18 , type p // poussoir fast erect qui appelle la fonction 363 cold and dark { call &cad } Var 0419, name photo_SW, Link IOCARD_SW, Input 19 // poussoir prise de vue sur platine efix aux power { &V_JOYSTICK = CHANGEBIT 2 ,&photo_sw } Var 0420, name POWER_NAV1_SW, Link IOCARD_SW, Input 20 // Commande de l'allumage de NAV1 { call &RADIO_DIS_COND } // clavier de l'atc Var 0421, name CLAV_ATC1, Link IOCARD_SW, Input 21 // touche 1 du clavier ATC { IF &BATTERY = 1 // Si général on { IF &CLAV_ATC1 = 1 { &KEYS = 21 // génère un &pour ATC &KEYS = 0 // ré-initialisation } ELSE { &KEYS = 21 &KEYS = 0 } } } Var 0422, name CLAV_ATC3, Link IOCARD_SW, Input 22 // touche 3 du clavier ATC { IF &BATTERY = 1 // Si général on { IF &CLAV_ATC3 = 1 { &KEYS = 23 // génère un " pour ATC &KEYS = 0 // ré-initialisation } ELSE { &KEYS = 23 &KEYS = 0 } } } Var 0423, name CLAV_ATC4, Link IOCARD_SW, Input 23 // touche 4 du clavier ATC { IF &BATTERY = 1 // Si général on { IF &CLAV_ATC4 = 1 { &KEYS = 24 // génère un ' pour ATC &KEYS = 0 // ré-initialisation } ELSE { &KEYS = 24 &KEYS = 0 } } } Var 0424, name CLAV_ATC5, Link IOCARD_SW, Input 24 // touche 5 du clavier ATC { IF &BATTERY = 1 // Si général on { IF &CLAV_ATC5 = 1 { &KEYS = 25 // génère un ( pour ATC &KEYS = 0 // ré-initialisation } ELSE { &KEYS = 25 &KEYS = 0 } } } Var 0425, name CLAV_ATC6, Link IOCARD_SW, Input 25 // touche 6 du clavier ATC { IF &BATTERY = 1 // Si général on { IF &CLAV_ATC6 = 1 { &KEYS = 26 // génère un - pour ATC &KEYS = 0 // ré-initialisation } ELSE { &KEYS = 26 &KEYS = 0 } } } Var 0426, name AtcWindow, Link IOCARD_SW, Input 26 // ouverture de la fenêtre ATC { &V_JOYSTICK = CHANGEBIT 0 ,&AtcWindow } Var 0428, name plein_ltank_sw, Link IOCARD_SW, Input 28, Type i // bouton poussoir de plein réservoir gauche { // chaque seconde de fs dans la variable 096 on rajoute 40000 à la variable left_tank } Var 0429, name sw_com1_mem, Link IOCARD_SW, Input 29, Type P // Inter de défilement des fréquences mémorisée pour comm1 { IF &BATTERY = 1 // Si général on { IF &AVNCS = 1 // Si avionics on { &cpteur_com1 = rotate 1, 5 , 1 if &cpteur_com1 = 1 { &com1_dis = 12170 // lorraine sol &Fs_comstby = tobcd &com1_dis } if &cpteur_com1 = 2 { &com1_dis = 12210 // ground frescaty &Fs_comstby = tobcd &com1_dis } if &cpteur_com1 = 3 { &com1_dis = 11820 // lorraine tour &Fs_comstby = tobcd &com1_dis } if &cpteur_com1 = 4 { &com1_dis = 11935 // bale approche &Fs_comstby = tobcd &com1_dis } if &cpteur_com1 = 5 { &com1_dis = 12160 // bale tower &Fs_comstby = tobcd &com1_dis } } } } Var 0430, name comm1_act_sw, Link IOCARD_SW, Input 30, Type P // Inter de bascule comm 1 active standbye { IF &BATTERY = 1 // Si général on { IF &AVNCS = 1 // Si avionics on { L0 = frombcd &com1 &COM1 = TOBCD &COM1_DIS &com1_active = &com1_dis &com1_dis = L0 &Fs_comstby = tobcd &com1_dis // il faut que FSCOMstbye prenne la valeur de com1 } } } Var 0432, name plein_rtank_sw, Link IOCARD_SW, Input 32, Type i // bouton poussoir de plein réservoir droit { // chaque seconde de fs dans la variable 096 on rajoute 40000 à la variable right_tank } Var 0433, name PROP_SYNC_SW, Link IOCARD_SW, Input 33 // Inter synchro hélices { &PROP_SYNC = &PROP_SYNC_SW CALL &al_prop_sync } // Var 0434 , Link IOCARD_SW, Input 34 Encodeur QNH // Var 0435 , Link IOCARD_SW, Input 35 Encodeur QNH // input 36 crossfeed gauche vers droite // input 37 crossfeed droite vers gauche // input 38 libre pompe gauche // input 39 libre pompe droite Var 0440, name Rpompe_SW, Link IOCARD_SW, Input 40 // pompe carburant droit { if &battery = 1 { &fs_pompes = changebit 1 &Rpompe_sw } call &al_pressfuel // pour éteindre l'alarme rouge si standbye pump On } Var 0441, name LEV_M_AUX_SW, Link IOCARD_SW, Input 41 // inter bascule lecture niveau main ou aux { call &calc_disp_tank } Var 0442, name Lpompe_SW, Link IOCARD_SW, Input 42 // standbye pompe gauche { if &battery = 1 { &fs_pompes = changebit 0 &Lpompe_sw } call &al_pressfuel } // input 43 encodeur VS // input 44 encodeur Vs // input 45 et 46 encodeur selecteur altitude Var 0447, name LEFT_RMI_SW, Link IOCARD_SW, Input 47 // INTER GAUCHE DU RMI { IF &BATTERY = 1 // Si général on { IF &left_rmi_sw = 1 { &fs_NAV_ADF_RMI = CHANGEBIT 0 &LEFT_RMI_SW // passage NAV1 et ADF aiguille jaune du rmi } } } Var 0448, name RESETWARN_SW,Link IOCARD_SW, input 48 , type p // poussoir pour validation alarme warning rouge, ce poussoir remet valid_warning à 1 { &valid_warning = 1 } Var 0449, name RSTCAUTION_SW,Link IOCARD_SW, input 49 , type p // poussoir pour validation alarme caution jaune, ce poussoir remet valid_caution à 1 { if &rstcaution_sw = 1 { &valid_caution = 1 } } Var 0450, name MODE_DME_SW Link IOCARD_SW, Input 50, Type P // bouton poussoir on off du dme { IF &BATTERY = 1 { &dmeMode = CHANGEBITN 0 &dmeMode } } Var 0451, name stall_SW Link IOCARD_SW, Input 51 Type i // INTER test stall warning { if &battery = 1 { if &stall_sw = 1 { &stall = 0 } if &stall_sw = 0 { &stall = 1 } } } Var 0452, name NOSMOKEFSB_SW Link IOCARD_SW, Input 52, Type i // INTER NO SMOKE ET FSB { IF &BATTERY = 1 { IF &NOSMOKEFSB_SW = 1 { l0 = 1 l0 = setsound -1, &vol_son1, -1 &PLAY_SOUND = 1 // son n°1 &PLAY_SOUND = 0 // ràz } ELSE { l0 = 2 l0 = setsound -1, &vol_son1, -1 &PLAY_SOUND = 2 // son n°2 &PLAY_SOUND = 0 // ràz } } } Var 0453, name oat_CouF_P, Link IOCARD_SW, Input 53, Type P // bouton poussoir de l'OAT pou C° ou F° { IF &AVNCS = 1 { IF &oat_CouF_P = 1 { L0 = &oat / 256 L0 = L0 * 9 L1 = L0 / 5 L2 = L1 + 32 // conversion C° en Farenheit &OAT_DIS = trunc L2 // affichage en farenheit &oat_CouF = 8 // affichage du F } ELSE { L0 = &OAT / 256 &OAT_DIS = trunc L0 // affichage en C° &oat_CouF = 9 // affichage du C } } } // de 54 à 62 1er groupe de fils du panneau bas droit pilote // Var 0454, name SELECT_DME_SW Link IOCARD_SW, Input 54 Type P // bouton poussoir select dme1 ou 2 débranché de 54 // { // if &dmeonoff = 1 // si le dme est allumé // { // if &SELECT_DME_SW = 1 // { // &DME_SELECT = 1 // } // else // { // &DME_SELECT = 2 // } // } // } Var 0454, name strobelight_sw, Link IOCARD_SW, Input 54 // inter feux strobe { &STROBES_LED = &strobelight_sw &STROBES_LEDtmp = &strobelight_sw IF &BATTERY = 1 { IF &strobelight_SW = 1 { &LIGHTS = SETBIT 4 } ELSE { &LIGHTS = CLEARBIT 4 } } } Var 0455, name beaconlight_SW, Link IOCARD_SW, Input 55 // inter allumage feux beacon { if &battery = 1 { &BEACON_LED = &beaconlight_sw // alarme verte &beacon_ledtmp = &beaconlight_sw &light_beacon = &beaconlight_sw // lampe rouge beacon clignotante 1/2 seconde IF &beaconlight_SW = 1 { &LIGHTS = SETBIT 1 } ELSE { &LIGHTS = CLEARBIT 1 } } else { &light_beacon = 0 // lampe rouge beacon clignotante éteinte } } Var 0456, name LANDING_SW, Link IOCARD_SW Input 56 // Inter feux landing { IF &BATTERY = 1 { IF &LANDING_SW = 0 { &LIGHTS = SETBIT 2 } ELSE { &LIGHTS = CLEARBIT 2 } } call &al_land_light } Var 0457, name TAXI_SW, Link IOCARD_SW, Input 57 // Inter feux taxi { IF &BATTERY = 1 { IF &TAXI_SW = 0 { &LIGHTS = SETBIT 3 } ELSE { &LIGHTS = CLEARBIT 3 } } call &al_land_light } Var 0458, name ice_light_sw, Link IOCARD_SW, Input 58 // feux d'ailes pour détection de glace { IF &BATTERY = 1 // Si général on { IF &ice_light_sw = 0 { &LIGHTS = SETBIT 7 } ELSE { &LIGHTS = CLEARBIT 7 } } } Var 0459, name NAV_SW, Link IOCARD_SW, Input 59 // Inter feux navigation { IF &BATTERY = 1 { IF &nav_SW = 0 { &LIGHTS = SETBIT 0 &navLIGHT_LED = 1 &navlightledtmp = 1 } ELSE { &LIGHTS = CLEARBIT 0 &navLIGHT_LED = 0 &navlightledtmp = 0 } } } Var 0460, name recogn_sw, Link IOCARD_SW, Input 60 // inter feux de reconnaissance sur les ailes { IF &BATTERY = 1 // Si général on { IF &recogn_sw = 0 { &LIGHTS = SETBIT 6 } ELSE { &LIGHTS = CLEARBIT 6 } } } Var 0461, name tail_light_sw, Link IOCARD_SW, Input 61 // inter feux tail flood { IF &BATTERY = 1 { IF &tail_light_SW = 0 { &LIGHTS = SETBIT 8 } ELSE { &LIGHTS = CLEARBIT 8 } } } Var 0462, name PITOT_SW, Link IOCARD_SW Input 62, Type I // Inter réchauffage pitot { IF &BATTERY = 1 { &PITOT = &PITOT_SW call &PAN_sondepitot } } Var 0463, name ADF_AUDIO_SW, Link IOCARD_SW, Input 63, Type i // Audio ADF { // rajouter condition bus volt > 1700 if &FS_AVBUS_VOLT > 1700 { // emettre un son } &AUDIO = CHANGEBIT 0 ,&ADF_AUDIO_SW // Ecoute ADF } Var 0464, name Test_alarm_sw, Link IOCARD_SW, Input 64 // Poussoir de test de toutes les alarmes { IF &BATTERY = 1 // Si général on { CALL &TEST_LEDS } } Var 0465, name DME_AUDIO_SW, Link IOCARD_SW, Input 65, Type I // Audio DME { if &dme_AUDIO_SW = 1 { &AUDIO = CHANGEBIT 1 ,1 // Ecoute dme } else { &AUDIO = CHANGEBIT 1 ,0 } } Var 0467, name MKR_AUDIO_SW, Link IOCARD_SW, Input 67, Type i // Audio MKR { if &mkr_AUDIO_SW = 1 { &AUDIO = CHANGEBIT 2 ,1 // Ecoute mkr } else { &AUDIO = CHANGEBIT 2 ,0 } } Var 0468, name NAV2_AUDIO_SW, Link IOCARD_SW, Input 68, Type i // Audio NAV2 { // rajouter test bus volts > 1700 &AUDIO = CHANGEBIT 3 ,&NAV2_AUDIO_SW // Ecoute nav2 } Var 0469, name NAV1_AUDIO_SW, Link IOCARD_SW, Input 69,Type I // Audio NAV1 { if &NAV1_AUDIO_SW = 1 { &AUDIO = CHANGEBIT 4 ,1 // Ecoute nav1 } else { &AUDIO = CHANGEBIT 4 ,0 } } Var 0470, name COM2_AUDIO_SW, Link IOCARD_SW, Input 70 ,Type I // Audio COM2 { if &com2_AUDIO_SW = 1 { &AUDIO = CHANGEBIT 6 ,1 // Ecoute com2 } else { &AUDIO = CHANGEBIT 6 ,0 } } Var 0471, name COM1_AUDIO_SW, Link IOCARD_SW, Input 71 ,Type I // Audio COM1 { if &com1_AUDIO_SW = 1 { &AUDIO = CHANGEBIT 7 ,1 // Ecoute com1 } else { &AUDIO = CHANGEBIT 7 ,0 } } Var 0472, name RIGHT_RMI_SW, Link IOCARD_SW, device 2, Input 60 // non actif INTER DROIT DU RMI { IF &BATTERY = 1 // Si général on { IF &right_rmi_sw = 1 { &fs_NAV_ADF_RMI = CHANGEBIT 1 &right_rmi_sw // passage NAV2 et ADF aiguille verte du rmi } } } // --------------------------------------------------------------- // | | // | SECTION ENCODEURS | // | | // --------------------------------------------------------------- Var 0502, name vs_ROT, Link IOCARD_ENCODER, Input 43, Aceleration 2, Type 2 // Encodeur vs { IF &BATTERY = 1 // Si général on { l0 = &vs_rot * 100 &VERT_SPEED_SEL = &Vert_speed_sel + L0 &PLAY_SOUND = 3 // son n°3 clic vs &PLAY_SOUND = 0 // ràz } } Var 0504, name QNH_ROT, Link IOCARD_ENCODER, Input 34, Aceleration 2, Type 2 // Encodeur QNH by Nico entrée 34 { L0 = &QNH_ROT IF L0 > 0 // à droite { &QNH = 65883 &QNH = DELAY 0 ,10 // raz après 100 msec } ELSE { IF L0 < 0 // à gauche { &QNH = 65884 &QNH = DELAY 0 ,10 } } } Var 0506 name RO_ALT_SEL Link IOCARD_encoder, input 45, Aceleration 2, Type 2 // encodeur sélection altitude { l0 = &RO_ALT_SEL * 1 &CALC_CODALT = &CALC_CODALT + L0 } Var 0510 name CALC_CODALT link subrutine // calcul du codeur altimétrique { if &CALC_CODALT > 300 { &CALC_CODALT = 300 } if &CALC_CODALT < 0 { &CALC_CODALT = 0 } l0 = &CALC_CODALT * 1997537 &ALT_SEL = l0 } // --------------------------------------------------------------- // | | // | SECTION AFFICHAGE DISPLAY | // | | // --------------------------------------------------------------- Var 0601, name Display_nav1 Link IOCARD_DISPLAY Digit 0 Numbers 5 // affichage display nav1 { // call &apsys } Var 0602, name D_ADF1 Link IOCARD_DISPLAY Digit 5 Numbers 4 // affichage adf Var 0603, name COM1_DIS, Link IOCARD_DISPLAY, Digit 16, Numbers 5 // affichage COM1 STANDBYE Var 0604, name COM1_ACTIVE, Link IOCARD_DISPLAY, Digit 21, Numbers 5 // affichage COM1 ACTIVE Var 0605, name oat_CouF, Link IOCARD_DISPLAY, Digit 26, Numbers 1 // Affichage lettre Cou F Temp extérieure Var 0606, name OAT_DIS, Link IOCARD_DISPLAY, Digit 27, Numbers 4 // Affichage Temp. extérieure // --------------------------------------------------------------- // | | // | SECTION LED | // | | // --------------------------------------------------------------- // Var 0712, name R_BLAIR_FAIL, Link IOCARD_OUT,Output 12 // Alarme rouge r bleed air fail Var 0713, name RFUEL_PRES_LED, Link IOCARD_OUT,Output 13 // Alarme rouge pression carburant droite { &MASTER_WARNING = CHANGEBIT 1 ,&RFUEL_PRES_LED if &RFUEL_PRES_LED = 1 { &valid_warning = 0 // pour allumer la led warning en attentant la validation de l'alarme par le poussoir } } Var 0714, name FIRE_RIGHT_LED, Link IOCARD_OUT, Output 14 // Alarme rouge FIRE RIGHT ENG { &MASTER_WARNING = CHANGEBIT 2 ,&FIRE_RIGHT_LED if &FIRE_RIGHT_LED = 1 { &valid_warning = 0 // pour allumer la led warning en attentant la validation de l'alarme par le poussoir } } Var 0715, name R_OIL_PRES_LED, Link IOCARD_OUT,Output 15 // Alarme rouge R OIL PRESS { &MASTER_WARNING = CHANGEBIT 3 ,&R_OIL_PRES_LED if &R_OIL_PRES_LED = 1 { &valid_warning = 0 // pour allumer la led warning en attentant la validation de l'alarme par le poussoir } } // Var 0716, name l_eng_antice_LED, Link IOCARD_OUT, device 0, Output 16 // Alarme rouge FIRE RIGHT ENG // { // } Var 0717, name AP_DISC_LED, Link IOCARD_OUT,Output 17 // Alarme rouge AP DISC { &MASTER_WARNING = CHANGEBIT 4 ,&AP_DISC_LED if &AP_DISC_LED = 1 { &valid_warning = 0 // pour allumer la led warning en attentant la validation de l'alarme par le poussoir } } Var 0718, name INVERTER_LED, Link IOCARD_OUT,Output 18 // Alarme rouge INVERTER { &MASTER_WARNING = CHANGEBIT 5 ,&INVERTER_LED if &INVERTER_LED = 1 { &valid_warning = 0 // pour allumer la led warning en attentant la validation de l'alarme par le poussoir } } Var 0719, name L_OIL_PRES_LED, Link IOCARD_OUT, Output 19 // Alarme rouge L OIL PRESS { &MASTER_WARNING = CHANGEBIT 6 ,&L_OIL_PRES_LED if &L_OIL_PRES_LED = 1 { &valid_warning = 0 // pour allumer la led warning en attentant la validation de l'alarme par le poussoir } } Var 0721, name APTRIMFAIL_LED, Link IOCARD_OUT, Output 21 // Alarme rouge AP TRIM FAIL Var 0722, name ALT_WARN_LED, Link IOCARD_OUT, Output 22 // Alarme rouge ALTITUDE ALERTE pour la pressurisation cabine Var 0723, name RBLAIR_FAILled, Link IOCARD_OUT,Output 23 // Alarme rouge r bleed AIR fail { &MASTER_WARNING = CHANGEBIT 7 ,&RBLAIR_FAILled if &RBLAIR_FAILled = 1 { &valid_warning = 0 // pour allumer la led warning en attentant la validation de l'alarme par le poussoir } } Var 0724, name LBLAIR_FAILled, Link IOCARD_OUT,Output 24 // Alarme rouge l bleed AIR fail Var 0725, name LFUEL_PRES_LED, Link IOCARD_OUT,Output 25 // Alarme rouge pression carburant gauche { &MASTER_WARNING = CHANGEBIT 8 ,&LFUEL_PRES_LED if &LFUEL_PRES_LED = 1 { &valid_warning = 0 // pour allumer la led warning en attentant la validation de l'alarme par le poussoir } } Var 0726, name light_beacon, Link IOCARD_OUT,Output 26 // lumière rouge clignotante beacon Var 0727, name GEAR_TRANS_LED, Link IOCARD_OUT, Output 27 // Voyant rouge train en transit Var 0728, name NOSE_GEAR_LED, Link IOCARD_OUT, Output 28 // Voyant vert train avant sorti Var 0729, name LEFT_GEAR_LED, Link IOCARD_OUT, Output 29 // Voyant vert train gauche sorti Var 0730, name RIGHT_GEAR_LED, Link IOCARD_OUT, Output 30 // Voyant vert train droit sorti Var 0731, name WARNING_LED, Link IOCARD_OUT, Output 31 // Alarme Master Warning { } Var 0732, name OVH_12V, Link IOCARD_OUT, Output 32 // 12 volts sur l'overhead si batt on Var 0733, name FIRE_LEFT_LED, Link IOCARD_OUT,Output 33 // Alarme rouge FIRE LEFT ENG var 0734, name R_notransf_led, Link IOCARD_OUT,Output 34 // voyant no transfert droit sur panneau carburant var 0735, name L_notransf_led, Link IOCARD_OUT,Output 35 // voyant no transfert gauche sur panneau carburant Var 0740, name flag_turnbank, Link IOCARD_OUT,Output 40 // flag rouge arrêt du turn and bank Var 0743, name select_alt_LED, Link IOCARD_OUT, Output 42 // LED alerte selecteur altitude Var 0744, name Outer_Mkr_LED, Link IOCARD_OUT, Output 44 // LED Outer Marker Var 0745, name Middle_Mkr_LEd, Link IOCARD_OUT, Output 45 // LED Middle Marker Var 0746, name Inner_Mkr_LED, Link IOCARD_OUT, Output 46 // LED Inner Marker Var 0747, name pwrdme_LED, Link IOCARD_OUT, Output 47 // voyant power dme Var 0749, name O_nav1DP Link IOCARD_OUT, Device 1, Output 62 // point decimal nav 1 Var 0750, name CAUTION_LED, Link IOCARD_OUT, Output 33 // Renvoi d'alarme Master Caution jaune clignotant sur glareshield // --------------------------------------------------------------- // | | // | SECTION VARIABLES INDIVIDUELLES | // | | // --------------------------------------------------------------- Var 0900, name WNDSHLD_TIMER, Value 0 // Temporisateur pour chauff pare-brise Var 0901, name cligno_alti, Value 0 // clignotant rapide pour l'alarme orange du codeur altimétrique Var 0902, name dmeMode // 0 = Low, 1 = High pour bascule allumage dme { IF &DMEmode = 1 { // &dmeonoff = 1 &pwrdme_LED = 1 } ELSE { // &dmeonoff = 0 &pwrdme_LED = 0 } } Var 0904, name WING_DEICE // Dégivrage des ailes Var 0905, name L_ICE_VANE // Volet anti-glace moteur gauche { IF &L_ICE_VANE = 1 { } ELSE // si l'inter ICE VANE est sur OFF { } } Var 0906, name R_ICE_VANE // Volet anti-glace moteur droit { IF &R_ICE_VANE = 1 { } ELSE { } } var 0907, name YAW_DA_Mode // variable pour bascule YAW DAMPER { &AP_YD = &YAW_DA_MODE } Var 0908, name MASTER_WARNING // Commande de l'alarme WARNING Var 0909, name CAUTION_WARN // Commande de l'alarme CAUTION var 0910, name clignoseconde { } var 0911, name clignodemisec // clignotant 1/2 seconde { &clignoquartsec = 1 &clignoquartsec = delay 0, 15 if &battery = 1 { if &valid_warning = 0 // si le poussoir n'a pas été poussé pour valider l'alarme rouge { IF &MASTER_WARNING > 1 // si au moins 1 alarme rouge ON la led Warning clignote à la demi seconde { &WARNING_LED = &clignodemisec } } else // si le poussoir a été enfoncé pour valider l'alarme { &WARNING_LED = 0 } if &valid_caution = 0 // si le poussoir n'a pas été poussé pour valider l'alarme jaune { IF &caution_warn > 1 // si au moins 1 alarme jaune ON la led caution clignote à la demi seconde { &CAUTION_LED = &clignodemisec } } else // si le poussoir a été enfoncé pour valider l'alarme { &CAUTION_LED = 0 } if &beaconlight_SW = 1 { &light_beacon = &clignodemisec } else { if &Test_alarm_sw = 0 // pour éviter que l'alarme l autofeather s'éteigne lors du test { &light_beacon = 0 } } if &rvs_led = 1 { &rvs_led_temp = &clignodemisec } else { if &Test_alarm_sw = 0 // pour éviter que l'alarme rvs s'éteigne lors du test { &rvs_led_temp = 0 } } if &LAUTOFEAT_LED = 1 { // &LAUTOFEALEDtmp = &clignodemisec } else { if &Test_alarm_sw = 0 // pour éviter que l'alarme l autofeather s'éteigne lors du test { // &LAUTOFEALEDtmp = 0 } } if &rAUTOFEAT_LED = 1 { // &rAUTOFEALEDtmp = &clignodemisec } else { if &Test_alarm_sw = 0 // pour éviter que l'alarme l autofeather s'éteigne lors du test { // &rAUTOFEALEDtmp = 0 } } } else { &light_beacon = 0 if &Test_alarm_sw = 0 // pour éviter que l'alarme rvs s'éteigne lors du test { &rvs_led_temp = 0 &rvsledtmp = 0 } &WARNING_LED = 0 &CAUTION_LED = 0 } } var 0912, name clignoquartsec // clignotant quart de seconde { &clignohuitsec = 1 &clignohuitsec = delay 0, 7 if &LANDING_LED = 1 { &cli_landingled = &clignoquartsec &clilandledtmp = 1 } else { if &Test_alarm_sw = 0 // pour éviter que l'alarme landing light s'éteigne lors du test { &cli_landingled = 0 &clilandledtmp = 0 } } if &TAXILIGHT_LED = 1 { &cli_taxiled = &clignoquartsec } else { if &Test_alarm_sw = 0 // pour éviter que l'alarme taxi light s'éteigne lors du test { &cli_taxiled = 0 } } if &cliapdis65 = 1 { &APDISAPP65_LED = &clignoquartsec // fait clignoter le voyant dis de la platine app65 et fcp65 pendant 5 secondes &DIS_FCP65LED = &clignoquartsec } if &cliYAWDAPP65 = 1 { &YAWDAPP65_LED = &clignoquartsec // fait clignoter le voyant dis du yawdamper de la platine app65 pendant 5 secondes } } var 0913,name clignohuitsec // clignotant huitième de seconde { call &cal_palo } var 0916, name cpteur_com1 // compteur pour incrémentation défilement fréquences com1 Var 0917, name nav1_dis Var 0921, name PLAY_SOUND, Link SOUND // Lance un fichier son Var 0922, name STOP_SOUND, Link SOUND, Type S // arrête un fichier son en boucle Var 0923, name ADF1High // FSUIPC ADF value high: 3 digits Var 0924, name ADF1Low // FSUIPC ADF value: 1 digit var 0925, name ADF1Freq // total (needed for display): 4 digits Var 0926, name ADF1HighR // higher TWO digits controlled by rotarie Var 0927, name ADF1LowR // lower TWO digits controlled by rotarie Var 0929, name comm1Mode // 0 = Low, 1 = High pour bascule entier/decimal comm1 var 0930, name calc_trim var 0931,name LFUELPRESStmp // variable tampon pour le test alarme pression carburant gauche var 0932,name RFUELPRESStmp // variable tampon pour le test alarme pression carburant droit var 0933,name INVERTERLEDtmp // variable tampon pour le test alarme inverter var 0934,name AP_DISC_LEDtmp // variable tampon pour l'alarme autopilot disconnect var 0935,name LOILPRESLEDtmp // variable tampon pour le test alarme huile var 0936,name ROILPRESLEDtmp // variable tampon pour le test alarme huile var 0937,name propsyncLEDtmp // variable tampon pour le test alarme propsync var 0938,name rvsLEDtmp // variable tampon pour le test alarme rvs not ready var 0939,name icingledtmp // variable tampon pour le test alarme icing var 0940,name licevan_LEDtmp // variable tampon pour le test alarme l ice vanne var 0941,name ricevan_LEDtmp // variable tampon pour le test alarme l ice vanne var 0942,name hydfluidledtmp // variable tampon pour le test alarme hyd fluid low var 0943,name batchargLEDtmp // variable tampon pour le test alarme batt charge var 0944,name extpowerledtmp var 0945,name pitotoffledtmp var 0946,name RAUTOFEALEDtmp var 0947,name LAUTOFEALEDtmp var 0948,name BEACON_LEDtmp var 0949,name TRIMOFF_LEDtmp var 0950,name AIRCNDOFLEDtmp var 0951,name STROBES_LEDtmp var 0952,name ricvanexledtmp var 0953,name licvanexledtmp var 0954,name passoxyledtmp var 0955,name clilandledtmp var 0956,name navlightledtmp var 0957,name clitaxiledtmp var 0958,name lignitiledtmp var 0959,name rignitiledtmp var 0960,name lblairofledtmp var 0961,name rblairofledtmp var 0962,name CAUTLGNDLEDtmp var 0963,name FUELCROSLEDtmp var 0964,name RBL_FAILledtmp // variable tampon pour alarmes rouge BLAIR FAIL var 0965,name LBL_FAILledtmp var 0966,name RDC_GEN_LEDtmp var 0967,name LDC_GEN_LEDtmp var 0968,name GS_ARMFCPtmp var 0969,name APPRARMFCPtmp var 0970,name ALT_ARMFCPtmp var 0971,name NAV_ARMFCPtmp var 0972,name DSC_FCP65tmp var 0973,name CLM_FCP65tmp var 0974,name GS_FCP65tmp var 0975,name VS_FCP65tmp var 0976,name AP_FCP65tmp var 0977,name AP_APP65tmp var 0978,name YAWDAPP65tmp var 0979,name YAW_APP65tmp var 0980,name APDISAPP65tmp var 0981,name cliapdis65 // variable pour le clignotement du voyant dis AP sur les platines APP65A et FCP65A var 0982,name DIS_FCP65tmp var 0983,name cliYAWDAPP65 // variable pour le clignotement du voyant dis du Yaw damper sur la platine APP65A var 0984,name flag_v1, value 0 var 0986,name sonde_grillee, value 0 // sonde pitot grillée var 0987,name courant var 0988,name val_avio var 0989,name blink3 // compteur pour accéleration heading sur PA var 0990,name rvs_led // variable déclenchant le clignotement de la led orange rvs not ready { if &rvs_led = 1 { &valid_caution = 0 } } Var 0991, name KEYS, Link KEYS Var 0992, name N_PITOT // voir var 415 Var 0993, name ICE_OAT // variable relais pour alarme ICING Var 0994, name valid_warning, value 1 // variable de test de la validation de l'alarme warning rouge // si cette variable est à 1 les alarmes rouge ont été validées et donc la led reste éteinte et le son stoppé jusqu'au déclenchement d'une nouvelle alarme Var 0995, name valid_caution, value 0 // variable de test de la validation de l'alarme caution jaune // si cette variable est à 1 les alarmes jaune ont été validées et donc la led reste éteinte jusqu'au déclenchement d'une nouvelle alarme Var 0996, name compensateur var 0998, name landing_led // variable déclenchant le clignotement de l'alarme verte landing light var 0999, name TAXILIGHT_LED // variable déclenchant le clignotement de l'alarme verte taxi light // --------------------------------------------------------------- // | | // | SECTION SERVO MOTEURS et MOTEURS PAS à PAS | // | | // --------------------------------------------------------------- Var 1001, name servo_flaps, Link USB_SERVOS, device 2, Output 1, PosL 1, PosC 512, PosR 1023 // servo pour l'indicateur de position des flaps Var 1002, name servo_trim, Link USB_SERVOS, device 3, Output 2, PosL 1, PosC 512, PosR 1020 // servo indicateur position trim sur carte servo device 46 Var 1003, name gauge_110Volts, Link USB_SERVOS, device 2, Output 3, PosL 1, PosC 512, PosR 1020 // servo indicateur tension fréquence 110 volts Var 1004, name servo_turn, Link USB_SERVOS, device 3, Output 3, PosL 300, PosC 650, PosR 1000 // aiguille du coordinateur de virage Var 1005, name l_Gauge_volt, Link USB_SERVOS, device 2, Output 5, PosL 1, PosC 512, PosR 1020 // gauge volt gauche Var 1006, name r_Gauge_volt, Link USB_SERVOS, device 2, Output 6, PosL 1, PosC 512, PosR 1020 // gauge volt droite var 1007, name servo_bille // ne sert pas pour l'instant si ce n'est pour la prog de l'offset $036E Var 1008, name compas_step, Link USB_Stepper, Output 1, PosL 6, PosC 0, PosR 4, type H // stepper compas Var 1009, name servo_altcab, Link USB_SERVOS, device 3, Output 1, PosL 1, PosC 512, PosR 1023 // servo pour l'indicateur d'altitude cabine // --------------------------------------------------------------- // | | // | SECTION PEDESTAL pour la carte France cockpit | // | | // --------------------------------------------------------------- var 4048, name test_lever_rl0 var 4049, name test_lever_rl1 var 4050, name test_lever_L var 4051,name R_prop_LEVER,link iocard_analogic, device 1,input 1,posL 0,posC 127,posR 255 // pas d'hélice droite course potar 142 à 255 { l0 = &R_prop_LEVER - 142 // remise à zéro l1 = l0 * 2.25 // facteur de multiplication pour pot à 255 if &R_ENG_FIRING = 1 // si le moteur est en marche pour éviter de pouvoir manoeuvrer à l'arrêt { if l1 < 8 { &r_prop = -4096 } else { &r_prop = l1 * 64.25 } &r_prop = limit -4096 16383 0 } } var 4052,name L_prop_LEVER,link iocard_analogic, device 1,input 2,posL 0,posC 127,posR 255 // pas d'hélice gauche course potar 0 à 152 { l0 = &L_prop_LEVER * 1.78 // facteur de multiplication pour amener le pot à 255 if &L_ENG_FIRING = 1 // si le moteur est en marche pour éviter de pouvoir manoeuvrer à l'arrêt { if l0 < 8 { &l_prop = -4096 } else { &l_prop = l0 * 64.25 } &l_prop = limit -4096 16383 0 } } var 4053,name POT_L_power,link IOCARD_ANALOGIC, device 1, input 3,posL 0,posC 127,posR 255 // Commande gaz moteur gauche 41 à 255 160 en iddle 74 en butée avant reverse { call &GAZ_GAUCHE } var 4054,name POT_R_power,link iocard_analogic, device 1, input 4,posL 0,posC 127,posR 255 // Commande gaz moteur droit potar 54 à 255 177 en iddle 91 en butée avant reverse { call &GAZ_DROIT } Var 4001, name hdg_sel_rot, Link IOCARD_ENCODER, device 1, Input 1, Aceleration 2, Type 2 // Encoder HDG { IF &BATTERY = 1 // Si général on { L0 = &hdg_sel_rot * 1 &calc_hdg = &calc_hdg + l0 } } // 4002 Input 2 PRISE PAR Encoder HDG Var 4003, name course_SEL_ROT, Link IOCARD_encoder, device 1, input 3, Aceleration 2, Type 2 // encodeur sélection course { IF &BATTERY = 1 // Si général on { l0 = &course_SEL_ROT * 1 &CRS_NAV1_SEL = &CRS_NAV1_SEL + l0 } } // 4004 Input 4 PRISE PAR Encoder Course Var 4005, name POWER_PA_SW, Link IOCARD_SW, device 1, Input 5 // Commande power PA { IF &BATTERY = 1 // Si général on { IF &POWER_PA_SW = 1 { // &KEYS = 10 génère un shift + o pour power pa ON à enlever car créé un problème maintenant que autohotkey est enlevé // &KEYS = 0 ré-initialisation } ELSE { &KEYS = 10 // génère un shift + o pour power pa off &KEYS = 0 &YAWDAPP65_LED = 0 // extinction led Yawdamper &YAWDAPP65tmp = 0 &YAW_APP65_LED = 0 &YAW_APP65tmp = 0 &AP_APP65_LED = 0 // extinction led PA &AP_APP65tmp = 0 &APDISAPP65_LED = 0 &APDISAPP65tmp = 0 &DIS_FCP65LED = 0 // voyant jaune PA disengage fcp65a éteint &DIS_FCP65tmp = 0 &HDG_FCP65LED = 0 // VOYANT VERT HDG FCP65A éteint &AP_FCP65LED = 0 // VOYANT VERT AP FCP65A } } } Var 4006, name FD_PA_SW, Link IOCARD_SW, device 1, Input 6,Type I // Commande FD PA { IF &BATTERY = 1 // Si général on { IF &POWER_PA_SW = 1 { &ap_fd = &fd_pa_sw } } } Var 4007, Link IOCARD_SW, device 1, Input 7, Type P // Libre Var 4008, name YAW_PA_SW, Link IOCARD_SW, device 1, Input 8 , type P // Commande YAW DAMPER PA { IF &BATTERY = 1 // Si général on { IF &POWER_PA_SW = 1 { if &yaw_pa_sw = 0 { &YAW_DA_Mode = 0 } else { &YAW_DA_Mode = 1 } } } } Var 4009, name PA_ENG_SW, Link IOCARD_SW, device 1, Input 9, Type P // Commande PA ENGAGE { IF &BATTERY = 1 // Si général on { IF &POWER_PA_SW = 1 { if &pa_eng_sw = 0 { &ap = 0 } else { call &self_test_pa // lance le self test du pa &ap = 1 } call &al_ap } } } Var 4010, name LBLEEDAIR_SW, Link IOCARD_SW, device 1, Input 10 // inter bleed air gauche (fil orange) { IF &BATTERY = 1 // Si général on { if &lbleedair_sw = 0 { &LBLAIROFF_LED = 1 } else { &LBLAIROFF_LED = 0 } CALL &al_air_cond_n1 // alarme verte air conditionné } } Var 4011, name RBLEEDAIR_SW, Link IOCARD_SW, device 1, Input 11 // inter bleed air droit (fil violet) { IF &BATTERY = 1 // Si général on { if &rbleedair_sw = 0 { &rBLAIROFF_LED = 1 } else { &rBLAIROFF_LED = 0 } CALL &al_air_cond_n1 // alarme verte air conditionné } } Var 9900, name GPS_NAV_SW, Link IOCARD_SW, device 2, Input 10, type P // Commutation gps nav sur PA // { // IF &BATTERY = 1 // Si général on // { // IF &POWER_PA_SW = 1 // { // call &apsys // } // } // } Var 4012, name R_ENG_hidle_SW, Link IOCARD_SW, device 1, Input 12 // Inter hight iddle condition moteur 2 (droit) { IF &R_ENG_hidle_SW = 1 { &R_ENG_FFLOW = 16384 // Position "hight iddle" } else { &R_ENG_FFLOW = 6000 // Position "low iddle" } } Var 4013, name VS_UP_SW, Link IOCARD_SW, device 1, Input 13, type P // poussoir up sur platine APP65A { IF &BATTERY = 1 // Si général on { IF &POWER_PA_SW = 1 { if &ap = 1 { &fs_elevator = &fs_elevator + 10 &PLAY_SOUND = 3 // son n°3 clic vs &PLAY_SOUND = 0 // ràz } } } } Var 4014, name VS_DOWN_SW, Link IOCARD_SW, device 1, Input 14, type P // poussoir down sur platine APP65A { IF &BATTERY = 1 // Si général on { IF &POWER_PA_SW = 1 { if &ap = 1 { &fs_elevator = &fs_elevator - 10 &PLAY_SOUND = 3 // son n°3 clic vs &PLAY_SOUND = 0 // ràz } } } } Var 04015, name L_ENG_CUTOF_SW, Link IOCARD_SW, device 1, Input 15 // Inter Fuel CutOff moteur 1 (gauche) en série avec firewall sur panneau breaker { IF &L_ENG_CUTOF_SW = 0 { &L_ENG_FFLOW = 0 // Position "CutOff" et Firewall CutOff } ELSE { &L_ENG_FFLOW = 6000 // valeur pour Low Idle } } Var 4016, name R_ENG_CUTOF_SW, Link IOCARD_SW, device 1, Input 16 // Inter Fuel CutOff moteur 2 (droit) en série avec firewall sur panneau breaker { IF &R_ENG_CUTOF_SW = 0 { &R_ENG_FFLOW = 0 // Position "CutOff" et Firewall CutOff } ELSE { &R_ENG_FFLOW = 6000 // Valeur pour Low Idle } } Var 04017, name FLAPS_UP_SW, Link IOCARD_SW, device 1,Input 17 // Volets position UP { IF &FLAPS_UP_SW = 1 // inter volets sur UP { &FLAPS = 0 // volets rentrés } else { &FLAPS = 8191 // volets approche } } Var 04018, name FLAPS_DN_SW, Link IOCARD_SW, device 1,Input 18 // Volets position DOWN { if &flaps_dn_sw = 1 { &FLAPS = &FLAPS_DN_SW * 16383 // Volets sortis } else { if &flaps_up_sw = 1 { &FLAPS = 0 // volets rentrés } else { &FLAPS = 8191 // volets approche } } } Var 4019 name hdg_SW, Link IOCARD_SW, device 1, Input 19 // poussoir hdg direct sur platine PA { IF &BATTERY = 1 // Si général on { IF &POWER_PA_SW = 1 // si inter principal PA on { if &hdg_sw = 1 { // il faut que la pinule aille directement sur le cap actuel pour éviter de tourner l'encodeur &HDG_SEL = &fs_compas * 182.04444 &calc_hdg = &fs_compas } } } } Var 4020, Link IOCARD_SW, device 1, Input 20, Type P // Libre Var 4021, name PA_ALTSEL_SW, Link IOCARD_SW, device 1, input 21, type P // poussoir fcp 65A mode ALT SEL { IF &BATTERY = 1 // Si général on { IF &POWER_PA_SW = 1 // si inter principal PA on { if &pa_alt_sel = 0 { &pa_alt_sel = 1 &PLAY_SOUND = 0 // ràz if &pa_alt = 1 { &pa_alt = 0 // désactivation du mode alti actuelle si enclenché } } else { &pa_alt_sel = 0 &PLAY_SOUND = 20 } } } } Var 04022, name PA_ALT_SW, Link IOCARD_SW, device 1, input 22, type P // poussoir fcp 65A mode ALT maintient l'altitude actuelle { IF &BATTERY = 1 // Si général on { IF &POWER_PA_SW = 1 // si inter principal PA on { if &pa_alt = 0 { if &pa_alt_sel = 1 { &pa_alt_sel = 0 } &pa_alt = 1 &PLAY_SOUND = 0 // ràz } else { &pa_alt = 0 &PLAY_SOUND = 20 } } } } Var 4023, Link IOCARD_SW, device 1, Input 23, Type P // Libre Var 04024, name PA_APPr_SW, Link IOCARD_SW, device 1, input 24, type P // poussoir fcp 65A mode APPR { IF &BATTERY = 1 // Si général on { IF &POWER_PA_SW = 1 // si inter principal PA on { if &ap_appr = 0 { &AP_APPR = 1 // quand on passe en mode appr on désactive le mode hdg, nav et bc ( à voir hdg actif tant que loc non capturé ? ) call &AP_GS_ALIVE &PLAY_SOUND = 0 // ràz if &ap_hdg = 1 { &ap_hdg = 0 } if &ap_nav = 1 { &ap_nav = 0 } if &pa_alt_sel = 1 { &pa_alt_sel = 0 } if &pa_alt = 1 { &pa_alt = 0 // désactivation du mode alti actuelle si enclenché } } else { &ap_appr = 0 &PLAY_SOUND = 20 } } } } Var 4025, Link IOCARD_SW, device 1, Input 25, Type P // Libre Var 4026, name PA_NAV_SW, Link IOCARD_SW, device 1, input 26, type P // poussoir fcp 65A mode NAV { IF &BATTERY = 1 // Si général on { IF &POWER_PA_SW = 1 // si inter principal PA on { if &AP_NAV = 0 { &ap_nav = 1 if &ap_hdg = 1 { &ap_hdg = 0 } if &ap_appr = 1 { &ap_appr = 0 } } else { &ap_nav = 0 &PLAY_SOUND = 20 } } } } Var 04027, name PA_hdg_SW, Link IOCARD_SW, device 1, Input 27, type P // poussoir mode hdg sur fcp 65 A { IF &BATTERY = 1 // Si général on { IF &POWER_PA_SW = 1 // si inter principal PA on { if &ap_hdg = 0 { &ap_hdg = 1 if &ap_nav = 1 { &ap_nav = 0 } if &ap_appr = 1 { &ap_appr = 0 } } else { &ap_hdg = 0 &PLAY_SOUND = 20 } } } } Var 04028, name PA_climb_sw, Link IOCARD_SW, device 1, Input 28 // poussoir mode climb sur fcp 65 a { } Var 04029, name AP_VS_SW, Link IOCARD_SW, device 1, input 29, type P // poussoir fcp 65A mode VS { IF &BATTERY = 1 // Si général on { IF &POWER_PA_SW = 1 // si inter principal PA on { if &AP_VS = 0 { &ap_vs = 1 if &ap_appr = 1 { &ap_appr = 0 } if &pa_alt = 1 { &pa_alt = 0 } if &pa_alt_sel = 1 { &pa_alt_sel = 0 } // désactiver mode approch, alt, alt sel } else { &ap_vs = 0 &PLAY_SOUND = 20 } } } // &VERT_SPEED_SEL = &AP_VS_SW } Var 4030, name Sq_com1_sw, Link IOCARD_sw, device 1, input 30 // commutateur de com1 pour squelch off { IF &BATTERY = 1 // Si général on { if &sq_com1_sw = 1 { &stop_sound = 22 &STOP_SOUND = 0 } } call &radio_dis_cond } Var 4031, name On_com1_sw, Link IOCARD_sw, device 1, input 31 // commutateur de com1 pour mise à On { IF &BATTERY = 1 // Si général on { if &on_com1_sw = 1 { &PLAY_SOUND = 22 // son n°22 &PLAY_SOUND = 0 } else { &STOP_SOUND = 22 &STOP_SOUND = 0 } } call &radio_dis_cond } Var 4036, name test_fcp65_sw, Link IOCARD_SW, device 1, Input 36 // poussoir de test des led platine fcp65A { IF &BATTERY = 1 // Si général on { IF &POWER_PA_SW = 1 // si inter principal PA on { call &test_fcp65A } } } Var 4037, name hsi_mode_sw, Link IOCARD_sw, device 1, input 37 // mode de l'ehsi hsi ou arc { IF &BATTERY = 1 // Si général on { IF &AVNCS = 1 // Si avionics on { if &hsi_mode_sw = 1 { &fs_ehsi = 1 // hsi mode } else { &fs_ehsi = 14 // 2 arc mode } } } } Var 5311, name LDC_GEN_LED, Link IOCARD_OUT, device 1, Output 11 // Alarme orange L DC GEN { &CAUTION_WARN = CHANGEBIT 1 ,&LDC_GEN_LED if &ldc_gen_led = 1 { &valid_caution = 0 } } Var 5312, name PKG_BRK_LED, Link IOCARD_OUT, device 1,Output 12 // Alarme orange PARKING BRAKE { &CAUTION_WARN = CHANGEBIT 2 ,&PKG_BRK_LED if &pkg_brk_led = 1 { &valid_caution = 0 } } Var 5313, name PROP_SYNC_LED, Link IOCARD_OUT,device 1,Output 13 // Alarme orange PROP SYNC ON { &CAUTION_WARN = CHANGEBIT 3 ,&PROP_SYNC_LED if &prop_sync_led = 1 { &valid_caution = 0 } } Var 5314, name rvs_LED_temp, Link IOCARD_OUT, device 1, Output 14 // Alarme orange clignotante rvs not ready { &CAUTION_WARN = CHANGEBIT 4 ,&rvs_LED } Var 5315, name icing_LED, Link IOCARD_OUT, device 1, Output 15 // Alarme orange icing { &CAUTION_WARN = CHANGEBIT 5 ,&icing_LED if &icing_led = 1 { &valid_caution = 0 } } Var 5316, name RDC_GEN_LED, Link IOCARD_OUT, device 1, Output 16 // Alarme orange R DC GEN ancien 42 { &CAUTION_WARN = CHANGEBIT 6 ,&RDC_GEN_LED if &rdc_gen_led = 1 { &valid_caution = 0 } } Var 5317, name licevan_LED, Link IOCARD_OUT, device 1, Output 17 // Alarme orange L ICE VANE { &CAUTION_WARN = CHANGEBIT 7 ,&LICEVAN_LED if &licevan_led = 1 { &valid_caution = 0 } } Var 5318, name HYDFLUID_LED, Link IOCARD_OUT, device 1, Output 18 // Alarme orange HYD FLUID LOW { &CAUTION_WARN = CHANGEBIT 8 ,&HYDFLUID_LED if &hydfluid_led = 1 { &valid_caution = 0 } } Var 5319, name BATTCHARG_LED, Link IOCARD_OUT, device 1, Output 19 // Alarme orange BATTERIE CHARGE { &CAUTION_WARN = CHANGEBIT 9 ,&BATTCHARG_LED if &battcharg_led = 1 { &valid_caution = 0 } } Var 5320, name EXTPOWER_LED, Link IOCARD_OUT, device 1, Output 20 // Alarme orange EXTERN POWER { // &CAUTION_WARN = CHANGEBIT 4 ,&EXTPOWER_LED } Var 5321, name PITOTOFF_LED, Link IOCARD_OUT, device 1, Output 21 // Alarme orange PITOT OFF { &CAUTION_WARN = CHANGEBIT 11 ,&PITOTOFF_LED if &pitotoff_led = 1 { &valid_caution = 0 } } Var 5322, name RICEVAN_LED, Link IOCARD_OUT, device 1, Output 22 // Alarme orange R ICE VANE { &CAUTION_WARN = CHANGEBIT 4 ,&RICEVAN_LED if &ricevan_led = 1 { &valid_caution = 0 } } Var 5323, name LAUTOFEAT_LED, Link IOCARD_OUT, device 1, Output 23 // ANNONCE VERTE L AUTOFEATHER Var 5324, name BEACON_LED, Link IOCARD_OUT, device 1, Output 24 // ANNONCE VERTE BEACON Var 5325, name TRIMOFF_LED, Link IOCARD_OUT, device 1, Output 25 // ANNONCE VERTE ELEC TRIM OFF Var 5326, name AIRCNDOFF_LED, Link IOCARD_OUT, device 1, Output 26 // ANNONCE VERTE AIR COND OFF Var 5327, name STROBES_LED, Link IOCARD_OUT, device 1, Output 27 // ANNONCE VERTE STROBES Var 5328, name RAUTOFEAT_LED, Link IOCARD_OUT, device 1, Output 28 // ANNONCE VERTE R AUTOFEATHER Var 5329, name LICVANEXT_LED, Link IOCARD_OUT, device 1, Output 29 // ANNONCE VERTE L ICE VANE EXT Var 5330, name PASSOXYON_LED, Link IOCARD_OUT, device 1, Output 30 // ANNONCE VERTE PASS OXY ON Var 5331, name cli_landingled, Link IOCARD_OUT, device 1, Output 31 // ANNONCE VERTE LANDING LIGHT Var 5332, name NAVLIGHT_LED, Link IOCARD_OUT, device 1, Output 32 // ANNONCE VERTE NAV LIGHT Var 5333, name cli_taxiled, Link IOCARD_OUT, device 1, Output 33 // ANNONCE VERTE TAXI LIGHT Var 5334, name RICVANEXT_LED, Link IOCARD_OUT, device 1, Output 34 // ANNONCE VERTE R ICE VANE EXT Var 5335, name LIGNITION_LED, Link IOCARD_OUT, device 1, Output 35 // ANNONCE VERTE L IGNITION ON Var 5336, name LBLAIROFF_LED, Link IOCARD_OUT, device 1, Output 36 // ANNONCE VERTE L BLAIR OFF Var 5337, name CAUTLGND_LED, Link IOCARD_OUT, device 1, Output 37 // ANNONCE VERTE CAUTION LGND OFF Var 5338, name FUELCROSS_LED, Link IOCARD_OUT, device 1, Output 38 // ANNONCE VERTE FUEL CROSSFEED Var 5339, name RBLAIROFF_LED, Link IOCARD_OUT, device 1, Output 39 // ANNONCE VERTE R BLAIR OFF Var 5340, name RIGNITION_LED, Link IOCARD_OUT, device 1, Output 40 // ANNONCE VERTE R IGNITION ON // LED TEMOINS DE LA PLATINE APP 65A Var 5360, name YAW_APP65_LED, Link IOCARD_OUT, device 1, Output 75 // VOYANT VERT YAW ENGAGE APP65A Var 5361, name YAWDAPP65_LED, Link IOCARD_OUT, device 1, Output 76 // VOYANT JAUNE YAW DISENGAGE APP65A Var 5362, name AP_APP65_LED, Link IOCARD_OUT, device 1, Output 77 // VOYANT VERT PA ENGAGE APP65A Var 5363, name APDISAPP65_LED, Link IOCARD_OUT, device 1, Output 78 // VOYANT JAUNE PA DISENGAGE APP65A // Var 5364, name YAW_APP65_LED, Link IOCARD_OUT, device 2, Output 79 // VOYANT JAUNE E GAUCHE APP65A // Var 5365, name YAWDAPP65_LED, Link IOCARD_OUT, device 2, Output 80 // VOYANT JAUNE L GAUCHE APP65A Var 5366, name A_AP_APP65_LED, Link IOCARD_OUT, device 1, Output 81 // VOYANT JAUNE A APP65A Var 5367, name R_APP65_LED, Link IOCARD_OUT, device 1, Output 82 // VOYANT JAUNE R DROIT APP65A Var 5368, name RE_APP65_LED, Link IOCARD_OUT, device 1, Output 83 // VOYANT JAUNE E DROIT APP65A Var 5369, name 120_APP65_LED, Link IOCARD_OUT, device 1, Output 84 // VOYANT VERT 1/2 TOUR APP65A Var 5370, name SRAPP65_LED, Link IOCARD_OUT, device 1, Output 85 // VOYANT VERT SR APP65A Var 5371, name trimjAPP65_LED, Link IOCARD_OUT, device 1, Output 86 // VOYANT JAUNE TRIM APP65A Var 5372, name trimrAPP65_LED, Link IOCARD_OUT, device 1, Output 87 // VOYANT ROUGE TRIM APP65A // LED TEMOINS DE LA PLATINE FCP 65A Var 5373, name GS_ARMFCPLED, Link IOCARD_OUT, device 1, Output 88 // VOYANT JAUNE GS ARM FCP65A Var 5374, name APPRARMFCPLED, Link IOCARD_OUT, device 1, Output 89 // VOYANT JAUNE APPR ARM FCP65A Var 5375, name ALT_ARMFCPLED, Link IOCARD_OUT, device 1, Output 90 // VOYANT JAUNE ALT ARM FCP65A Var 5376, name NAV_ARMFCPLED, Link IOCARD_OUT, device 1, Output 91 // VOYANT JAUNE NAV ARM FCP65A Var 5377, name DSC_FCP65LED, Link IOCARD_OUT, device 1, Output 92 // VOYANT VERT DSC FCP65A Var 5378, name CLM_FCP65LED, Link IOCARD_OUT, device 1, Output 93 // VOYANT VERT CLM FCP65A Var 5379, name GS_FCP65LED, Link IOCARD_OUT, device 1, Output 94 // VOYANT VERT GS FCP65A Var 5380, name VS_FCP65LED, Link IOCARD_OUT, device 1, Output 95 // VOYANT VERT VS FCP65A Var 5381, name ALTSEL_FCPLED, Link IOCARD_OUT, device 1, Output 96 // VOYANT VERT ALT SEL FCP65A Var 5382, name ALT_FCP65LED, Link IOCARD_OUT, device 1, Output 97 // VOYANT VERT ALT FCP65A Var 5383, name 120_FCP65LED, Link IOCARD_OUT, device 1, Output 98 // VOYANT VERT 1/2 0 FCP65A Var 5384, name VNAV_FCP65LED, Link IOCARD_OUT, device 1, Output 99 // VOYANT VERT VNAV FCP65A Var 5385, name BC_FCP65LED, Link IOCARD_OUT, device 1, Output 100 // VOYANT VERT BC FCP65A Var 5386, name APPR_FCP65LED, Link IOCARD_OUT, device 1, Output 101 // VOYANT VERT APPR FCP65A Var 5387, name NAV_FCP65LED, Link IOCARD_OUT, device 1, Output 102 // VOYANT VERT NAV FCP65A Var 5388, name HDG_FCP65LED, Link IOCARD_OUT, device 1, Output 103 // VOYANT VERT HDG FCP65A Var 5389, name AP_FCP65LED, Link IOCARD_OUT, device 1, Output 104 // VOYANT VERT AP FCP65A Var 5390, name DIS_FCP65LED, Link IOCARD_OUT, device 1, Output 105 // VOYANT JAUNE DIS FCP65A Var 5391, name REDAP_FCP65LED, Link IOCARD_OUT, device 1, Output 106 // VOYANT ROUGE AP FCP65A // -------------------------- // panneau carburant // -------------------------- var 6001, name left_tank, link FSUIPC_INout, offset $0b7c, length 4 // niveau réservoir gauche { &tmp_l_tank = &left_tank } var 6002, name right_tank, link FSUIPC_INout, offset $0b94, length 4 // niveau réservoir droit { &tmp_r_tank = &right_tank } // Complément d'info: selon FSInterrogate // 0AF8 Fuel tank select (lenght 2) read write // 0=Off, 1=All, 2=Left, 3=Right, // 4=LeftAux, 5=RightAux, // 6=Center, 7=Centre2, 8=Centre3, // 9=Ext1, 10=Ext2, // 11=RtTip, 12=LftTip, // 14=CrossFeed Left to Right, 15=CrossFeed Right to Left Var 6003, name FUEL_TANK_SEL, Link FSUIPC_INOUT, Offset $0AF8, Length 2 // sélection des réservoirs Utilisé entre autre pour le Crossfeed var 6005, name tmp_l_tank, link FSUIPC_out, offset $3598, length 4 // temp lue par le driver fdbus pour niveau réservoir gauche { call &calc_disp_tank } var 6006, name tmp_r_tank, link FSUIPC_out, offset $359c, length 4 // temp lue par le driver fdbus pour niveau réservoir droit { call &calc_disp_tank } var 6007, name aux_ltank, link FSUIPC_out, offset $0b84, length 4 // niveau réservoir aux gauche { } var 6008, name aux_rtank, link FSUIPC_out, offset $0bA4, length 4 // niveau réservoir aux droit { } Var 6010, name R_XFEED_SW, Link IOCARD_SW, Input 38 // Crossfeed du réservoir gauche vers le droit { if &battery = 1 { &fs_pompes = changebit 1 &R_xfeed_sw // car l'enclenchement du crosfeed droit ou gauche active les standbye pump &fs_pompes = changebit 0 &R_xfeed_sw IF &R_XFEED_SW = 1 // Sélecteur vers la droite { &FUEL_TANK_SEL = 14 // gauche vers droite &FUELCROSS_LED = 1 // Alarme verte FUEL CROSSFEED &FUELCROSLEDtmp = 1 } else { &FUELCROSS_LED = 0 // Alarme verte FUEL CROSSFEED &FUELCROSLEDtmp = 0 } } call &al_pressfuel // pour éteindre l'alarme rouge press fuel si crossfeed à l'arrêt car le crossfeed active les standbye pompes } Var 6011, name L_XFEED_SW, Link IOCARD_SW, Input 37 // Crossfeed du réservoir droit vers gauche { if &battery = 1 { &fs_pompes = changebit 1 &L_xfeed_sw // car l'enclenchement du crosfeed droit ou gauche active les standbye pump &fs_pompes = changebit 0 &L_xfeed_sw IF &L_XFEED_SW = 1 { &FUEL_TANK_SEL = 15 // droite vers gauche &FUELCROSS_LED = 1 // alarme verte FUEL CROSSFEED &FUELCROSLEDtmp = 1 } else { &FUELCROSS_LED = 0 // Alarme verte FUEL CROSSFEED &FUELCROSLEDtmp = 0 } } call &al_pressfuel // pour éteindre l'alarme rouge press fuel si crossfeed à l'arrêt car le crossfeed active les standbye pompes } Var 6012, name calc_disp_tank, Link subrutine // routine affichage réservoirs par les jauges { if &battery = 1 { if &LEV_M_AUX_SW = 1 // les gauges carburants affichent le niveau des réservoirs principaux { &tmp_l_tank = &left_tank &tmp_r_tank = &right_tank } else // ou affichage des niveaux réservoirs auxilliaires si le switch est sur 0 { &tmp_l_tank = &aux_ltank &tmp_r_tank = &aux_rtank } } else // si bat off les jauges sont à l'arrêt { &tmp_l_tank = 0 &tmp_r_tank = 0 } } Var 6015, name Lstbyp_SW, Link IOCARD_SW, Input 36 // pompe carburant gauche { if &battery = 1 { if &Lstbyp_SW = 1 { &Lstbyp_led = 0 } else { &Lstbyp_led = 1 } } } Var 6016, name Rstbyp_SW, Link IOCARD_SW, Input 39 // pompe carburant droit { if &battery = 1 { &Rstbyp_led = &Rstbyp_sw } } Var 6017, name Lstbyp_led, Link FSUIPC_INOUT,offset $6640, length 4 // led pompe carburant gauche { } Var 6018, name Rstbyp_led, Link FSUIPC_INOUT,offset $09c2, length 4 // led pompe carburant droit { } // ------------------------------------------------------------------------------- // // Code pour le GPWS // // ------------------------------------------------------------------------------- Var 08000, name 10, Value 0 Var 08001, name 20, Value 0 Var 08002, name 30, Value 0 Var 08003, name 40, Value 0 Var 08004, name 50, Value 0 Var 08005, name 80KTS, Value 0 Var 08006, name 100, Value 0 Var 08007, name 200, Value 0 Var 08008, name 300, Value 0 Var 08009, name 400, Value 0 Var 08010, name 500, Value 0 Var 08011, name 1000, Value 0 Var 08012, name 2500, Value 0 Var 08013, name APDISCONNECT, Value 0 Var 08014, name CAUTION, Value 0 Var 08015, name CAUTIONTERRAIN, Value 0 Var 08016, name DONTSINK, Value 0 Var 08017, name GLIDESLOPE, Value 0 Var 08018, name MINIMUMS, Value 0 Var 08019, name PULLUP, Value 0 Var 08020, name SINKRATE, Value 0 Var 08021, name TERRAIN, Value 0 Var 08022, name TERRAINTERRAIN, Value 0 Var 08023, name TOOLOWFLAPS, Value 0 Var 08024, name TOOLOWGEAR, Value 0 Var 08025, name TOOLOWTERRAIN, Value 0 Var 08026, name V1, Value 0 Var 08027, name VR, Value 0 Var 08028, name V2, Value 0 Var 08029, name BANKANGLE, Value 0 Var 08033, name CHECK_FLAPS, Value 0 { IF &CHECK_FLAPS = 0 { &TOOLOWFLAPS = 0 &LINK_FLAPS = 0 } ELSE { IF &CHECK_FLAPS = 1 { &LINK_FLAPS = 999999 &LINK_FLAPS = TIMER 0 ,-1 ,300 } } } Var 08039, name CHECK_GLIDE, Value 0 { IF &CHECK_GLIDE = 0 { &GLIDESLOPE = 0 &LINK_GLIDE = 0 &LED_BELOW_FO = 0 } ELSE { IF &CHECK_GLIDE = 1 { &LED_BELOW_FO = 1 &LINK_GLIDE = 999999 &LINK_GLIDE = TIMER 0 ,-1 ,200 } } } Var 08040, name CHECK_GEARS, Value 0 { IF &CHECK_GEARS = 0 { &TOOLOWGEAR = 0 &LINK_GEARS = 0 } ELSE { IF &CHECK_GEARS = 1 { &LINK_GEARS = 999999 &LINK_GEARS = TIMER 0 ,-1 ,300 } } } Var 08041, name LINK_FLAPS { L0 = MOD &LINK_FLAPS ,2 IF L0 = 0 { &TOOLOWFLAPS = 0 } ELSE { IF L0 = 1 { &TOOLOWFLAPS = 1 &TOOLOWFLAPS = DELAY 0 ,150 } } } Var 08042, name LINK_GLIDE { L0 = MOD &LINK_GLIDE ,2 IF L0 = 0 { &GLIDESLOPE = 0 } ELSE { IF L0 = 1 { &GLIDESLOPE = 1 &GLIDESLOPE = DELAY 0 ,150 } } } Var 08043, name LINK_GEARS // LINK TOO LOW GEARS { L0 = MOD &LINK_GEARS ,2 IF L0 = 0 { &TOOLOWGEAR = 0 } ELSE { IF L0 = 1 { &PLAY_SOUND = 18 // son n°18 toolowgears.wav &PLAY_SOUND = 0 // ràz // &TOOLOWGEAR = 1 // &TOOLOWGEAR = DELAY 0 ,200 } } } Var 08044, name LED_BELOW_FO, Link IOCARD_OUT, Output 80 // à voir LED BELOW GLIDE FO Var 08045, name LED_GPWS_INOP, Link IOCARD_OUT, Output 81 // à voir led gpws inop