Si vous comprenez le titre de ce sujet, c'est que vous cherchez comme moi à agir sur les boutons d'un GNS430, d'un G1000, d'un CDU et autre composant d'un avion MSFS ...
Le but étant d'avoir des switch sur une IO32, ou toute autre carte IO compatible, et de pouvoir les interfacer avec les instruments spécifiques des avions.
C'est chose faite avec l'utilisation des offset $3110 et $3114 de FSUIPC. L'astuce est de déclarer dans FSUIPC une liste "d'event" que vous allez pouvoir déclencher par un script ...
// ***************************************************************************** // * Config_SIOC ver 5.2 - By Manuel Velez - www.opencockpits.com // ***************************************************************************** // * FileName : FDcontrolHVAR.txt // * Date : 16/02/2023 // * Fabien Deheegher
// ****************** Offset de controle ************************************************* Var 0001, name CONTROLH, Link FSUIPC_INOUT, Offset $3110, Length 4 { CALL &RESET }
Var 0002, name VALUE, Link FSUIPC_INOUT, Offset $3114, Length 4 // *******************************************************************
// ************** Votre code à partir d'ici **************** Var 0003, name RNGINC, Link IOCARD_SW, Input 0 { IF &RNGINC = 1 { &CONTROLH = 4194304 } }
Var 0004, name RNGDEC, Link IOCARD_SW, Input 1 { IF &RNGDEC = 1 { &CONTROLH = 4194305 } }
Var 0005, name DIRECT, Link IOCARD_SW, Input 2 { IF &DIRECT = 1 { &CONTROLH = 4194306 } }
Var 0006, name MENU, Link IOCARD_SW, Input 3 { IF &MENU = 1 { &CONTROLH = 4194307 } }
Var 0007, name CLR, Link IOCARD_SW, Input 4 { IF &CLR = 1 { &CONTROLH = 4194308 } }
Var 0008, name ENT, Link IOCARD_SW, Input 5 { IF &ENT = 1 { &CONTROLH = 4194309 } }
Var 0009, name LKNR, Link IOCARD_SW, Input 6 { IF &LKNR = 1 { &CONTROLH = 4194311 } }
Var 0010, name LKNL, Link IOCARD_SW, Input 7 { IF &LKNL = 1 { &CONTROLH = 4194310 } }
Var 0011, name KNRPUSH, Link IOCARD_SW, Input 10 { IF &KNRPUSH = 1 { &CONTROLH = 4194313 } }
Var 00012, name ENC_GR_DR, Link IOCARD_ENCODER, Input 8, Aceleration 1, Type 2 { IF &ENC_GR_DR < 0 { &CONTROLH = 4194314 } IF &ENC_GR_DR > 0 { &CONTROLH = 4194312 } }
// Sous programme de remise à zero de l'offset Var 5000, name RESET, static, Link SUBRUTINE { &CONTROLH = DELAY 0 ,5 }
Bonjour, Merci FAB pour tes vidéos. J'avais pas tout saisi pour les offsets $3110 et $3114. Tes explications sont très claires y'a plus qu'a modifier le script et le event.txt. Merci encore A+ - Denis
Bonjour Fab, J'utilise le EC145 HYPE Performance. L'inter est un On - off - on que j'utilise pour FLIGHT(on) - IDLE (off) - OFF (On) Sous SIOC pas de problème ca envoi bien les codes du fichier event mais dans l'appareil, ca fait un peu n'importe quoi. Je vais bien finir par trouver vu que pour les encodeurs et les poussoirs ca fonctionne.
Avec un on off on, c'est 2 entrées et non 3, alors si tu as vérifié que ton script envoie les bons codes event, alors je ne vois pas ? Montre moi les 3 lignes du fichier évent que tu utilises STP
c'est celles là : H145_SDK_ECP_MAIN_1_FLIGHT#(>H:H145_SDK_ECP_MAIN_1_FLIGHT) //4194458 H145_SDK_ECP_MAIN_1_IDLE#(>H:H145_SDK_ECP_MAIN_1_IDLE) //4194459 H145_SDK_ECP_MAIN_1_OFF#(>H:H145_SDK_ECP_MAIN_1_OFF) //4194460