Opencockpits avec SIOC et FSUIPC (MSFS)

Bon, j'ai compris mon problème.

L’avion expose les LVars seulement après avoir cliqué sur le bouton du FMS dans le cockpit virtuel. J'ai essayé de forcer l'affichage des LVAR en leur affectant une valeur mais rien à faire.

Code:
elseif key == 19 then
        -- On initialise toutes les LVars à 0 si la touche = 19
        print("Initialisation des LVAR à 0...")
        for _, lvarName in ipairs(lvarsToInit) do
            ipc.writeLvar(lvarName, 0)
        end
        print("LVars initialisées à 0")
 
J'ai essayé de forcer l'affichage des LVAR en leur affectant une valeur mais rien à faire.
Je n'ai peut être pas compris ton problème...(y)
Mais si tu veux ré-afficher à l'écran l'ensemble de tes L:Var, il te faut une function qui se déclenche après la mise à jour de ton offset et qui relise l'ensemble des variables présentes à l'écran. C'est une simple fonction de rafraichissement.

Je n'ai pas bien compris ton besoin en fait...:p
 
Mon besoin est simple, faire fonctionner mon MCDU OpenCockpits avec le RJ85 de Just Flight 🤣

Je fais des nouvelles tentatives demain après midi. Au moins je sais pourquoi ça marche pas.
 
Salut Ptipilot,

Code:
-- Liste des LVars à forcer à 0
local lvarsToInit = {
    -- Chiffres
    'L:GNLU910_L_FMS_0_ANIM',
    'L:GNLU910_L_FMS_1_ANIM',
    'L:GNLU910_L_FMS_2_ANIM',
    'L:GNLU910_L_FMS_3_ANIM',
    'L:GNLU910_L_FMS_4_ANIM',
    'L:GNLU910_L_FMS_5_ANIM',
    'L:GNLU910_L_FMS_6_ANIM',
    'L:GNLU910_L_FMS_7_ANIM',
    'L:GNLU910_L_FMS_8_ANIM',
    'L:GNLU910_L_FMS_9_ANIM',
    -- Signes
    'L:GNLU910_L_FMS_Dot_ANIM',
    'L:GNLU910_L_FMS_Div_ANIM',
    'L:GNLU910_L_FMS_PlusMinus_ANIM',
    'L:GNLU910_L_FMS_Del_ANIM',
    'L:GNLU910_L_FMS_Clr_ANIM',
    'L:GNLU910_L_FMS_Sp_ANIM',
    -- Lettres
    'L:GNLU910_L_FMS_A_ANIM',
    'L:GNLU910_L_FMS_B_ANIM',
    'L:GNLU910_L_FMS_C_ANIM',
    'L:GNLU910_L_FMS_D_ANIM',
    'L:GNLU910_L_FMS_E_ANIM',
    'L:GNLU910_L_FMS_F_ANIM',
    'L:GNLU910_L_FMS_G_ANIM',
    'L:GNLU910_L_FMS_H_ANIM',
    'L:GNLU910_L_FMS_I_ANIM',
    'L:GNLU910_L_FMS_J_ANIM',
    'L:GNLU910_L_FMS_K_ANIM',
    'L:GNLU910_L_FMS_L_ANIM',
    'L:GNLU910_L_FMS_M_ANIM',
    'L:GNLU910_L_FMS_N_ANIM',
    'L:GNLU910_L_FMS_O_ANIM',
    'L:GNLU910_L_FMS_P_ANIM',
    'L:GNLU910_L_FMS_Q_ANIM',
    'L:GNLU910_L_FMS_R_ANIM',
    'L:GNLU910_L_FMS_S_ANIM',
    'L:GNLU910_L_FMS_T_ANIM',
    'L:GNLU910_L_FMS_U_ANIM',
    'L:GNLU910_L_FMS_V_ANIM',
    'L:GNLU910_L_FMS_W_ANIM',
    'L:GNLU910_L_FMS_X_ANIM',
    'L:GNLU910_L_FMS_Y_ANIM',
    'L:GNLU910_L_FMS_Z_ANIM',
    -- Menus / Fonctions
    'L:GNLU910_L_FMS_Menu_ANIM',
    'L:GNLU910_L_FMS_InitRef_ANIM',
    'L:GNLU910_L_FMS_Rte_ANIM',
    'L:GNLU910_L_FMS_Vnav_ANIM',
    'L:GNLU910_L_FMS_Legs_ANIM',
    'L:GNLU910_L_FMS_Prog_ANIM',
    'L:GNLU910_L_FMS_Atc_ANIM',
    'L:GNLU910_L_FMS_Fix_ANIM',
    'L:GNLU910_L_FMS_DepArr_ANIM',
    'L:GNLU910_L_FMS_Hold_ANIM',
    'L:GNLU910_L_FMS_Exec_ANIM',
    'L:GNLU910_L_FMS_PrvNxt_ANIM',
    -- LSK Left
    'L:GNLU910_L_FMS_Lsk_1L_ANIM',
    'L:GNLU910_L_FMS_Lsk_2L_ANIM',
    'L:GNLU910_L_FMS_Lsk_3L_ANIM',
    'L:GNLU910_L_FMS_Lsk_4L_ANIM',
    'L:GNLU910_L_FMS_Lsk_5L_ANIM',
    'L:GNLU910_L_FMS_Lsk_6L_ANIM',
    -- LSK Right
    'L:GNLU910_L_FMS_Lsk_1R_ANIM',
    'L:GNLU910_L_FMS_Lsk_2R_ANIM',
    'L:GNLU910_L_FMS_Lsk_3R_ANIM',
    'L:GNLU910_L_FMS_Lsk_4R_ANIM',
    'L:GNLU910_L_FMS_Lsk_5R_ANIM',
    'L:GNLU910_L_FMS_Lsk_6R_ANIM'
}

function FMC_KEY(offset, value)
    local key = value  -- On récupère la valeur de la touche
    print("Appui détecté : key =", key)

    if key == 1 then
        ipc.writeLvar('L:GNLU910_L_FMS_Lsk_1L', 1)
    elseif key == 2 then
        ipc.writeLvar('L:GNLU910_L_FMS_Lsk_2L', 1)
    elseif key == 3 then
        ipc.writeLvar('L:GNLU910_L_FMS_Lsk_3L', 1)
    elseif key == 4 then
        ipc.writeLvar('L:GNLU910_L_FMS_Lsk_4L', 1)
    elseif key == 5 then
        ipc.writeLvar('L:GNLU910_L_FMS_Lsk_5L', 1)
    elseif key == 6 then
        ipc.writeLvar('L:GNLU910_L_FMS_Lsk_6L', 1)
    elseif key == 7 then
        ipc.writeLvar('L:GNLU910_L_FMS_Lsk_1R', 1)
    elseif key == 8 then
        ipc.writeLvar('L:GNLU910_L_FMS_Lsk_2R', 1)
    elseif key == 9 then
        ipc.writeLvar('L:GNLU910_L_FMS_Lsk_3R', 1)
    elseif key == 10 then
        ipc.writeLvar('L:GNLU910_L_FMS_Lsk_4R', 1)
    elseif key == 11 then
        ipc.writeLvar('L:GNLU910_L_FMS_Lsk_5R', 1)
    elseif key == 12 then
        ipc.writeLvar('L:GNLU910_L_FMS_Lsk_6R', 1)
    elseif key == 13 then
        ipc.writeLvar('L:GNLU910_L_FMS_Menu', 1)
    elseif key == 14 then
        ipc.writeLvar('L:GNLU910_L_FMS_InitRef', 1)
    elseif key == 15 then
        ipc.writeLvar('L:GNLU910_L_FMS_Rte', 1)
    elseif key == 16 then
        ipc.writeLvar('L:GNLU910_L_FMS_Vnav', 1)
    elseif key == 17 then
        ipc.writeLvar('L:GNLU910_L_FMS_Legs', 1)
    elseif key == 18 then
        ipc.writeLvar('L:GNLU910_L_FMS_Prog', 1)
    elseif key == 19 then
        -- On initialise toutes les LVars à 0 si la touche = 19
        print("Initialisation des LVAR")
        for _, lvarName in ipairs(lvarsToInit) do
            ipc.writeLvar(lvarName, 1)
            ipc.sleep(50)
            ipc.writeLvar(lvarName, 0)
        end
        print("LVars initialisées")
    elseif key == 20 then
        ipc.writeLvar('L:GNLU910_L_FMS_Fix', 1)
    elseif key == 21 then
        ipc.writeLvar('L:GNLU910_L_FMS_Vnav', 1)
    elseif key == 22 then
        ipc.writeLvar('L:GNLU910_L_FMS_Vnav', 1)
    elseif key == 23 then
        ipc.writeLvar('L:GNLU910_L_FMS_DepArr', 1)
    elseif key == 24 then
        ipc.writeLvar('L:GNLU910_L_FMS_Hold', 1)
    elseif key == 25 then
        ipc.writeLvar('L:GNLU910_L_FMS_Exec', 1)
    elseif key == 26 then
        ipc.writeLvar('L:GNLU910_L_FMS_PrvNxt', 0)
    elseif key == 27 then
        ipc.writeLvar('L:GNLU910_L_FMS_PrvNxt', 2)
    elseif key >= 28 and key <= 37 then
        local digit = key - 28
        ipc.writeLvar('L:GNLU910_L_FMS_' .. tostring(digit), 1)
    elseif key == 38 then
        ipc.writeLvar('L:GNLU910_L_FMS_Dot', 1)
    elseif key == 39 then
        ipc.writeLvar('L:GNLU910_L_FMS_Div', 1)
    elseif key == 40 then
        ipc.writeLvar('L:GNLU910_L_FMS_PlusMinus', 1)
    elseif key == 41 then
        ipc.writeLvar('L:GNLU910_L_FMS_Del', 1)
    elseif key == 42 then
        ipc.writeLvar('L:GNLU910_L_FMS_Clr', 1)
    elseif key == 43 then
        ipc.writeLvar('L:GNLU910_L_FMS_Sp', 1)
    elseif key == 44 then
        ipc.writeLvar('L:GNLU910_L_FMS_A', 1)
    elseif key == 45 then
        ipc.writeLvar('L:GNLU910_L_FMS_B', 1)
    elseif key == 46 then
        ipc.writeLvar('L:GNLU910_L_FMS_C', 1)
    elseif key == 47 then
        ipc.writeLvar('L:GNLU910_L_FMS_D', 1)
    elseif key == 48 then
        ipc.writeLvar('L:GNLU910_L_FMS_E', 1)
    elseif key == 49 then
        ipc.writeLvar('L:GNLU910_L_FMS_F', 1)
    elseif key == 50 then
        ipc.writeLvar('L:GNLU910_L_FMS_G', 1)
    elseif key == 51 then
        ipc.writeLvar('L:GNLU910_L_FMS_H', 1)
    elseif key == 52 then
        ipc.writeLvar('L:GNLU910_L_FMS_I', 1)
    elseif key == 53 then
        ipc.writeLvar('L:GNLU910_L_FMS_J', 1)
    elseif key == 54 then
        ipc.writeLvar('L:GNLU910_L_FMS_K', 1)
    elseif key == 55 then
        ipc.writeLvar('L:GNLU910_L_FMS_L', 1)
    elseif key == 56 then
        ipc.writeLvar('L:GNLU910_L_FMS_M', 1)
    elseif key == 57 then
        ipc.writeLvar('L:GNLU910_L_FMS_N', 1)
    elseif key == 58 then
        ipc.writeLvar('L:GNLU910_L_FMS_O', 1)
    elseif key == 59 then
        ipc.writeLvar('L:GNLU910_L_FMS_P', 1)
    elseif key == 60 then
        ipc.writeLvar('L:GNLU910_L_FMS_Q', 1)
    elseif key == 61 then
        ipc.writeLvar('L:GNLU910_L_FMS_R', 1)
    elseif key == 62 then
        ipc.writeLvar('L:GNLU910_L_FMS_S', 1)
    elseif key == 63 then
        ipc.writeLvar('L:GNLU910_L_FMS_T', 1)
    elseif key == 64 then
        ipc.writeLvar('L:GNLU910_L_FMS_U', 1)
    elseif key == 65 then
        ipc.writeLvar('L:GNLU910_L_FMS_V', 1)
    elseif key == 66 then
        ipc.writeLvar('L:GNLU910_L_FMS_W', 1)
    elseif key == 67 then
        ipc.writeLvar('L:GNLU910_L_FMS_X', 1)
    elseif key == 68 then
        ipc.writeLvar('L:GNLU910_L_FMS_Y', 1)
    elseif key == 69 then
        ipc.writeLvar('L:GNLU910_L_FMS_Z', 1)    
    else
        print("Touche non reconnue ou nulle", key)
    end

    ipc.sleep(50)             -- Petite pause pour éviter tout conflit
    ipc.writeUB(0x66C0, 0)    -- On remet la variable à 0

end

print("Initialisation MCDU...")
event.offset(0x66C0, "UB", "FMC_KEY")

Au démarrage, j'ai ceci :
1734854250934.png

très peu de LVAR active. Quand je clique dans mon cockpit virtuel sur LSK1 j'ai maintenant :
1734854327811.png

Maintenant mon LSK1 sur le MCDU OC est actif mais pas les autres touches !

Je n'utilise pas ma touche 19. Je m'en suis servis pour faire une boucle et activer toutes mes LVAR.
1734854556704.png


ça marche mais bon, ça remplit la ligne avec toutes les touches. Pas trouvé mieux pour l'instant.
 
Bon, ben je ne me suis pas fait comprendre...:(

Pas facile de faire du débogage au travers d'un forum sans même avoir les produits et sans échanges vocaux!...:cry:

Voici un exemple concret de comment je pratique le débogage chez moi :

-----
ipc.control(Current_Event_ID, Numeric_Parameter)
ipc.log('---> Nouvel Ipc.Control <---')

local Etat_Button = ipc.testbutton(joynum, button)

ipc.log('Valeur switch_496 = ' .. tostring (ipc.readLvar("switch_496_a")))


repeat
NouvelleValeurPitch = ipc.readFLT(0x0BBE)
ipc.log(tostring (I) .. ' - NouvelleValeurPitch = ' .. tostring (NouvelleValeurPitch))
ipc.sleep(15)

until NouvelleValeurPitch ~= AncienneValeurPitch
AncienneValeurPitch = NouvelleValeurPitch

ipc.sleep(10)

ipc.log(tostring (I) .. ' - Etat_Button = ' .. tostring (Etat_Button))
I = I + 1

until Etat_Button == false

ipc.log('test button = ' .. tostring (ipc.testbutton(joynum, button)))
-----


Après, je n'ai plus qu'a étudier le fichier log construit par FSUIPC afin de me faire des nœuds au cerveau.

:LOL:
 
Dernière édition:
Désolé, je n'ai pas trouvé comment placer le code...
Je n'ai pas eu l'option dans l'éditeur du forum???...:unsure::poop:
 
Le bouton code a visiblement disparu :)
tu écris :
[ code]
ipc.log(tostring (I) .. ' - NouvelleValeurPitch = ' .. tostring (NouvelleValeurPitch))
ipc.sleep(15)
[/ code]
en enlevant les espaces à [ code] et [/ code]

C'est effectivement dur de faire un débogage à distance mais ce que j'essaye d'expliquer, c'est que le problème n'est pas le code mais la manière dont Just Flight a implémenté ses LVAR. Elle ne sont pas disponibles si tu ne les utilises pas une fois via le VC.
 
c'est que le problème n'est pas le code mais la manière dont Just Flight a implémenté ses LVAR. Elle ne sont pas disponibles si tu ne les utilises pas une fois via le VC.
Je ne présenterai pas les choses comme cela...(y)

Just Flight présente un produit qui se suffit à lui même au travers d'un VC.

En plus, il te donne (ou bien, tu les as trouvées...) le nom des L:Vars utilisées dans son code.

Toi, tu écris un code qui doit se greffer sur un existant et fonctionner "en parallèle" de celui du VC, seul ou conjointement.

Donc, même si tu as les noms des L:Vars... Pour les utiliser, comme dans tout bon programme, il faut initialiser celles-ci avant de s'en servir.;)
Avec LUA, comme c'est langage très "versatile", tu peux le faire un peu quand bon te semble... Pour ma pomme, je suis de la "Old School" et je préfère manager cette partie moi même, dans une section dédiée toujours à la même place en début de programme.:p
De plus, cela te permet facilement de bien mettre en évidence la portée des variables (Globales vs Locales).


Si tu ne fais pas cette action, elles ne seront pas montées en mémoire.
Ne pas oublier que ton code doit être auto suffisant pour ne pas se servir du code du VC, pour toutes actions manuelles sur ton périphérique .:)
 
Dernière édition:
Bon, j'ai un code qui fonctionne bien maintenant :
Code:
-- Liste des LVars à forcer à 0
local lvarsToInit = {
    -- Chiffres
    'L:GNLU910_L_FMS_0',
    'L:GNLU910_L_FMS_1',
    'L:GNLU910_L_FMS_2',
    'L:GNLU910_L_FMS_3',
    'L:GNLU910_L_FMS_4',
    'L:GNLU910_L_FMS_5',
    'L:GNLU910_L_FMS_6',
    'L:GNLU910_L_FMS_7',
    'L:GNLU910_L_FMS_8',
    'L:GNLU910_L_FMS_9',
    -- Signes
    'L:GNLU910_L_FMS_Dot',
    'L:GNLU910_L_FMS_Div',
    'L:GNLU910_L_FMS_PlusMinus',
    'L:GNLU910_L_FMS_Del',
    'L:GNLU910_L_FMS_Clr',
    'L:GNLU910_L_FMS_Sp',
    -- Lettres
    'L:GNLU910_L_FMS_A',
    'L:GNLU910_L_FMS_B',
    'L:GNLU910_L_FMS_C',
    'L:GNLU910_L_FMS_D',
    'L:GNLU910_L_FMS_E',
    'L:GNLU910_L_FMS_F',
    'L:GNLU910_L_FMS_G',
    'L:GNLU910_L_FMS_H',
    'L:GNLU910_L_FMS_I',
    'L:GNLU910_L_FMS_J',
    'L:GNLU910_L_FMS_K',
    'L:GNLU910_L_FMS_L',
    'L:GNLU910_L_FMS_M',
    'L:GNLU910_L_FMS_N',
    'L:GNLU910_L_FMS_O',
    'L:GNLU910_L_FMS_P',
    'L:GNLU910_L_FMS_Q',
    'L:GNLU910_L_FMS_R',
    'L:GNLU910_L_FMS_S',
    'L:GNLU910_L_FMS_T',
    'L:GNLU910_L_FMS_U',
    'L:GNLU910_L_FMS_V',
    'L:GNLU910_L_FMS_W',
    'L:GNLU910_L_FMS_X',
    'L:GNLU910_L_FMS_Y',
    'L:GNLU910_L_FMS_Z',
    -- Menus / Fonctions
    'L:GNLU910_L_FMS_Menu',
    'L:GNLU910_L_FMS_InitRef',
    'L:GNLU910_L_FMS_Rte',
    'L:GNLU910_L_FMS_Vnav',
    'L:GNLU910_L_FMS_Legs',
    'L:GNLU910_L_FMS_Prog',
    'L:GNLU910_L_FMS_Atc',
    'L:GNLU910_L_FMS_Fix',
    'L:GNLU910_L_FMS_DepArr',
    'L:GNLU910_L_FMS_Hold',
    'L:GNLU910_L_FMS_Exec',
    'L:GNLU910_L_FMS_PrvNxt',
    -- LSK Left
    'L:GNLU910_L_FMS_Lsk_1L',
    'L:GNLU910_L_FMS_Lsk_2L',
    'L:GNLU910_L_FMS_Lsk_3L',
    'L:GNLU910_L_FMS_Lsk_4L',
    'L:GNLU910_L_FMS_Lsk_5L',
    'L:GNLU910_L_FMS_Lsk_6L',
    -- LSK Right
    'L:GNLU910_L_FMS_Lsk_1R',
    'L:GNLU910_L_FMS_Lsk_2R',
    'L:GNLU910_L_FMS_Lsk_3R',
    'L:GNLU910_L_FMS_Lsk_4R',
    'L:GNLU910_L_FMS_Lsk_5R',
    'L:GNLU910_L_FMS_Lsk_6R'
}

-- On initialise toutes les LVars à 0 si la touche = 19
print("Initialisation des LVAR")
for _, lvarName in ipairs(lvarsToInit) do
    ipc.writeLvar(lvarName .. '_ANIM', 0)
    --ipc.sleep(50)
    ipc.writeLvar(lvarName, 0)
end
print("LVars initialisées")

function FMC_KEY(offset, value)
    local key = value  -- On récupère la valeur de la touche
    if key == 0 then
        -- Pas de touche réelle appuyée, on ignore
        return
    end
    print("Appui détecté : key =", key)

    if key == 1 then
        ipc.writeLvar('L:GNLU910_L_FMS_Lsk_1L', 1)
    elseif key == 2 then
        ipc.writeLvar('L:GNLU910_L_FMS_Lsk_2L', 1)
    elseif key == 3 then
        ipc.writeLvar('L:GNLU910_L_FMS_Lsk_3L', 1)
    elseif key == 4 then
        ipc.writeLvar('L:GNLU910_L_FMS_Lsk_4L', 1)
    elseif key == 5 then
        ipc.writeLvar('L:GNLU910_L_FMS_Lsk_5L', 1)
    elseif key == 6 then
        ipc.writeLvar('L:GNLU910_L_FMS_Lsk_6L', 1)
    elseif key == 7 then
        ipc.writeLvar('L:GNLU910_L_FMS_Lsk_1R', 1)
    elseif key == 8 then
        ipc.writeLvar('L:GNLU910_L_FMS_Lsk_2R', 1)
    elseif key == 9 then
        ipc.writeLvar('L:GNLU910_L_FMS_Lsk_3R', 1)
    elseif key == 10 then
        ipc.writeLvar('L:GNLU910_L_FMS_Lsk_4R', 1)
    elseif key == 11 then
        ipc.writeLvar('L:GNLU910_L_FMS_Lsk_5R', 1)
    elseif key == 12 then
        ipc.writeLvar('L:GNLU910_L_FMS_Lsk_6R', 1)
    elseif key == 13 then
        ipc.writeLvar('L:GNLU910_L_FMS_Menu', 1)
    elseif key == 14 then
        ipc.writeLvar('L:GNLU910_L_FMS_InitRef', 1)
    elseif key == 15 then
        ipc.writeLvar('L:GNLU910_L_FMS_Rte', 1)
    elseif key == 16 then
        ipc.writeLvar('L:GNLU910_L_FMS_Vnav', 1)
    elseif key == 17 then
        ipc.writeLvar('L:GNLU910_L_FMS_Legs', 1)
    elseif key == 18 then
        ipc.writeLvar('L:GNLU910_L_FMS_Prog', 1)
    elseif key == 19 then
        ipc.writeLvar('L:GNLU910_L_FMS_Atc', 1)
    elseif key == 20 then
        ipc.writeLvar('L:GNLU910_L_FMS_Fix', 1)
    elseif key == 21 then
        ipc.writeLvar('L:GNLU910_L_FMS_Vnav', 1)
    elseif key == 22 then
        ipc.writeLvar('L:GNLU910_L_FMS_Vnav', 1)
    elseif key == 23 then
        ipc.writeLvar('L:GNLU910_L_FMS_DepArr', 1)
    elseif key == 24 then
        ipc.writeLvar('L:GNLU910_L_FMS_Hold', 1)
    elseif key == 25 then
        ipc.writeLvar('L:GNLU910_L_FMS_Exec', 1)
    elseif key == 26 then
        ipc.writeLvar('L:GNLU910_L_FMS_PrvNxt', 0)
    elseif key == 27 then
        ipc.writeLvar('L:GNLU910_L_FMS_PrvNxt', 2)
    elseif key >= 28 and key <= 37 then
        local digit = key - 28
        ipc.writeLvar('L:GNLU910_L_FMS_' .. tostring(digit), 1)
    elseif key == 38 then
        ipc.writeLvar('L:GNLU910_L_FMS_Dot', 1)
    elseif key == 39 then
        ipc.writeLvar('L:GNLU910_L_FMS_Div', 1)
    elseif key == 40 then
        ipc.writeLvar('L:GNLU910_L_FMS_PlusMinus', 1)
    elseif key == 41 then
        ipc.writeLvar('L:GNLU910_L_FMS_Del', 1)
    elseif key == 42 then
        ipc.writeLvar('L:GNLU910_L_FMS_Clr', 1)
    elseif key == 43 then
        ipc.writeLvar('L:GNLU910_L_FMS_Sp', 1)
    elseif key == 44 then
        ipc.writeLvar('L:GNLU910_L_FMS_A', 1)
    elseif key == 45 then
        ipc.writeLvar('L:GNLU910_L_FMS_B', 1)
    elseif key == 46 then
        ipc.writeLvar('L:GNLU910_L_FMS_C', 1)
    elseif key == 47 then
        ipc.writeLvar('L:GNLU910_L_FMS_D', 1)
    elseif key == 48 then
        ipc.writeLvar('L:GNLU910_L_FMS_E', 1)
    elseif key == 49 then
        ipc.writeLvar('L:GNLU910_L_FMS_F', 1)
    elseif key == 50 then
        ipc.writeLvar('L:GNLU910_L_FMS_G', 1)
    elseif key == 51 then
        ipc.writeLvar('L:GNLU910_L_FMS_H', 1)
    elseif key == 52 then
        ipc.writeLvar('L:GNLU910_L_FMS_I', 1)
    elseif key == 53 then
        ipc.writeLvar('L:GNLU910_L_FMS_J', 1)
    elseif key == 54 then
        ipc.writeLvar('L:GNLU910_L_FMS_K', 1)
    elseif key == 55 then
        ipc.writeLvar('L:GNLU910_L_FMS_L', 1)
    elseif key == 56 then
        ipc.writeLvar('L:GNLU910_L_FMS_M', 1)
    elseif key == 57 then
        ipc.writeLvar('L:GNLU910_L_FMS_N', 1)
    elseif key == 58 then
        ipc.writeLvar('L:GNLU910_L_FMS_O', 1)
    elseif key == 59 then
        ipc.writeLvar('L:GNLU910_L_FMS_P', 1)
    elseif key == 60 then
        ipc.writeLvar('L:GNLU910_L_FMS_Q', 1)
    elseif key == 61 then
        ipc.writeLvar('L:GNLU910_L_FMS_R', 1)
    elseif key == 62 then
        ipc.writeLvar('L:GNLU910_L_FMS_S', 1)
    elseif key == 63 then
        ipc.writeLvar('L:GNLU910_L_FMS_T', 1)
    elseif key == 64 then
        ipc.writeLvar('L:GNLU910_L_FMS_U', 1)
    elseif key == 65 then
        ipc.writeLvar('L:GNLU910_L_FMS_V', 1)
    elseif key == 66 then
        ipc.writeLvar('L:GNLU910_L_FMS_W', 1)
    elseif key == 67 then
        ipc.writeLvar('L:GNLU910_L_FMS_X', 1)
    elseif key == 68 then
        ipc.writeLvar('L:GNLU910_L_FMS_Y', 1)
    elseif key == 69 then
        ipc.writeLvar('L:GNLU910_L_FMS_Z', 1)    
    else
        print("Touche non reconnue", key)
    end

    ipc.sleep(10)             -- Petite pause pour éviter tout conflit
    ipc.writeUB(0x66C0, 0)    -- On remet la variable à 0

end

print("Initialisation MCDU...")
event.offset(0x66C0, "UB", "FMC_KEY")

Nos discussions m'ont bien aidé.
 
Bonjour, comme expliqué sur autre post je réinstalle la totalité du simu sur autre PC .
- Sur les sites d’Open Cockpit le téléchargement n’est pas accessible et se solde par le fameux
message:
ER404 ….😩

Est ce provisoirement définitif, je n’ai pas trouvé d’info …
…. J’ai peut etre ( certainement ?) mal cherché ?
,
 
Oui, c’est d’une abération totale que de mettre en ligne un nouveau site pro et de surcroît commercial et que ce site ne soit pas opérationnel à ce point là. Ils auraient du publier un lien sur l’ancien site vers le nouveau et permettre ainsi à l’utilisateur de se rendre sur le nouveau site et de remonter les pb jusqu’à la bascule vers un site fonctionnel. Ça leur aurait permis de faire des tests en live. Là, c’est « on y va et on verra bien… ». Du coup, on a plus accès aux docs, etc… n’importe quoi!!! (Tout mon simu est Opencockpits).
 
Je serais moins critique. Opencockpits a refait son site, preuve que le constructeur continue d'investir. On peut imaginer qu'ils vont maintenir la compatibilité de leurs matériels avec les simulateurs récents. Moi, cela me rassure plutôt. On espère qu'ils corrigeront vite ce souci de téléchargement.
 
Je partage ton point de vue sur l’interêt de changer le site web car le précédant était peu pratique. Je dirais même qu’ils auraient du faire ça depuis longtemps. Cependant je ne parlais pas de la nécessité de changer de site mais bien du manque de contrôles de qualité pour un nouveau site professionnel lancé, semble-t-il, dans l’urgence. Pour l’exemple, j’ai été confronté à une recherche urgente d’informations techniques sur l’OVHD AFT cet après-midi et il n’y avait plus de doc technique en ligne. J’aurais apprécié de pouvoir accéder à l’ancien site en attendant de mettre au point le nouveau.
 
Accessible :LOL:
https://www.opencockpits.com/en/shop
C'est propre comme site et on y trouve de tout.
Je ferai juste une remarque à propos d'un Pcb qui n'a pas évolué :
Sur les bus Ac ,l'apu fournit entre 120 et 180 Ampères.
Les gen des moteurs sur les Tie bus entre 70 et 120 Ampères.
Il manque toujours cette fameuse troisième digit pour le courant Ac.

Une autre question ,la version commercial SIOC ,c'est quelle version ?
JeanMi
 
Dernière édition:
Oui, le site est bien accessible mais les doc, les liens,.. tout ce qui est sous le petit signe « + » en haut de page n’est pas accessible. Aucun document n’est publié. C’est dommage. Bon, ça viendra…
 
En fait il me faut la doc technique de l’OVERHEAD AFTER. J’ai besoin des schémas de connexion des cartes, des boutons…
 
Faut voir ce que tu as exactement.
Si tu as du code tout fait pour l'aft ,tu dois regarder la correspondance entre les variables et tes sorties.
Si t'as pas de plans c'est pas commode.
Je suppose que c'est à câbler sur des cartes OC standard ?
 
Oui, le site est bien accessible mais les doc, les liens,.. tout ce qui est sous le petit signe « + » en haut de page n’est pas accessible. Aucun document n’est publié. C’est dommage. Bon, ça viendra…

Exactement. Sous le + on peut sélectionner « support « …. ??? Pas d’infos .😢

Ça ne va peut-être pas durer, mais juste indiquer quelque chose du genre : ‘site en reconstruction, tout n’est pas accessible ‘ et si il veulent faire « bien » rajouter le poncif classique ‘ veuillez nous excuser pour la gêne occasionnée’. 🤣
 
Retour
Haut Bas