Commandes vocales et gestions des portes
Poster un commentaire14/07/2015 par Stephane
Dans la continuité des commandes vocales de ce post (https://stephane737ng.wordpress.com/2014/10/31/commandes-vocales-et-interactions/ ), ce week-end j’ai travaillé sur le contrôle vocal de l’ouverture/fermeture des portes de l’avion (sortie, cargo, service) et la liaison avec les annonciateurs de l’overhead.
Les commandes vocales associées aux actions sont déjà définies dans VoiceAttack comme expliqué précédemment.
J’ai enregistré les commandes « Cabin crew, open service doors », « Cabin crew, close service doors », « Open cargo », « Close cargo », « Cabin crew, open exit », « Cabin crew, close exit ».
Chacune de ces commande va exécuter les combinaisons de touches standard FSX/P3D Shift-E-1 Shift-E-2, Shift-E-3, Shift-E-4
Dans sioc, la gestion des annonciateurs se fait via le code suivant :
(L’offset FSUIPC $3367 permet de connaître le statut des différentes portes en lisant les bits 0,1,2)
// Declarations des annonciateurs des portes sur l’overhead
Var 1241, name AFT_ENTRY, static, Link IOCARD_OUT, Device 5, Output 109 Var 1242, name RFOVERWING, static, Link IOCARD_OUT, Device 5, Output 94 Var 1243, name RAOVERWING, static, Link IOCARD_OUT, Device 5, Output 95 Var 1244, name A_CARGO, static, Link IOCARD_OUT, Device 5, Output 97 Var 1264, name FWD_SERVICE, static, Link IOCARD_OUT, Device 5, Output 93 Var 1266, name FWD_CARGO, static, Link IOCARD_OUT, Device 5, Output 96 Var 1268, name FWD_ENTRY, static, Link IOCARD_OUT, Device 5, Output 106 Var 1264, name FWD_SERVICE, static, Link IOCARD_OUT, Device 5, Output 93 Var 1266, name FWD_CARGO, static, Link IOCARD_OUT, Device 5, Output 96 Var 1268, name FWD_ENTRY, static, Link IOCARD_OUT, Device 5, Output 106 //CARGO DOOR MANAGEMENT // With FSUIPC Offset $3367 we have the // possibility to check the door status. // We can see on the Overhead door panel // or the Doors really open or closed. Var 5071 Name Bit_Status Var 5072 name Doors_Status, Link FSUIPC_INOUT, Offset $3367, length 1 { &Bit_Status = Testbit &Doors_Status 0 // Forward Entry Door If &Bit_Status = 1 { &FWD_ENTRY = 1 } Else { &FWD_ENTRY = 0 } &Bit_Status = Testbit &Doors_Status 1 // Forw- and Afterw service door If &Bit_Status = 1 { &AFT_SERVICE = 1 &FWD_SERVICE = 1 //&AFT_ENTRY = 1 } Else { &AFT_SERVICE = 0 &FWD_SERVICE = 0 //&AFT_ENTRY = 0 } &Bit_Status = Testbit &Doors_Status 2 // Cargo doors If &Bit_Status = 1 { //&FWD_CARGO = 1 &A_CARGO = 1 } Else { //&FWD_CARGO = 0 &A_CARGO = 0 } &Bit_Status = Testbit &Doors_Status 3 // Cargo doors If &Bit_Status = 1 { &FWD_CARGO = 1 //&A_CARGO = 1 } Else { &FWD_CARGO = 0 //&A_CARGO = 0 } }
Démonstration en vidéo