Annonce

Réduire
Aucune annonce.

Cockpit maison avec Arduino (comment faire) ?

Réduire
X
 
  • Filtre
  • Heure
  • Afficher
Tout nettoyer
nouveaux messages

  • #1
    Salut Thierry,

    Oui, et c'est après en avoir fait le tour et essayé ce qui me semble correspondre au besoin et que rien ne fonctionne, que je me retourne et viens demander de l'aide ici. Mais j'ai déjà fait le tour des dataRefs avant de vous importuner avec mes questions.

    Si tu regardes ma dernière mouture, j'ai plus de 40 dataRefs différentes, du devineras que c'est bel et bien dans les dataRefs que j'en ai trouvé près de la moitié.

    Bonne semaine !

    L'ami René
    Tous pour un et un pour tous !
    P.s. : Mais je ne connais pas DataRef Editor.
    Dernière modification par Lami, 15 juillet 2014, 00h01. Motif: Fautes de frappe.
    L'ami René
    Tous pour un et un pour tous !

    Ordi-1 : Intel i7-12700K 5GHz, RAM 128 Go, nVidia RTX 3080 10G, Téléviseur 55" 3840x2160, 3 écrans 1920x1080, Manettes Saitek X56.
    Linux Debian 13, X11, X-Plane 12.4.4-b2, Little NavMap v3.0.18, pilote nVidia 550.163.1.

    Ordi-2 : Intel i7-12700KF 5GHz, RAM 48 Go, Asus GeForce STRIX-GTX 1060 6G, 2 x Écran 1920x1080.
    Linux Kubuntu 26.04, XHSI 2.0 Beta 12 Alfa 5, pilote nVidia 535.309.

    Commentaire


    • #1
      Bonjour Lami,

      Deux commentaires:
      * la Dataref ne devrait-elle pas être "sim/cockpit/autopilot/..." au lieu de "sim/autopilot/..." ?
      * pour armer la V/S, il me semble qu'il faut attribuer un des bits de la dataref "sim/cockpit/autopilot/autopilot state" (voir page http://www.xsquawkbox.net/xpsdk/medi...utopilot_state )
      XP11.41 - WIN 7 - i7 - GTX970

      Commentaire


      • #1
        Il me semble que c'est mieux d'utiliser les dataref de "cockpit2" en priorité s'il y a lieu bien sur...

        sim/cockpit2/autopilot/altitude_hold_armed
        et
        sim/cockpit2/autopilot/vnav_armed
        X-Plane 10
        En attente d'un ordinateur...

        Commentaire


        • #1
          Envoyé par Lami Voir le message
          ...Je n'arrive pas à activer "Armed" la « V/S » avec le pilote automatique. Je pensais que le dataref pour cela était « altitude_hold_armed », mais semble que non....
          Ce n'est pas un bug. Je reprends la description de altitude_hold_armed :

          Code:
          sim/cockpit2/autopilot/altitude_hold_armed    int    n    boolean    Altitude is armed, 0 or 1.
          • int indique que c'est un entier.
          • n indique qu'il n'est pas possible d'y écrire.
          • boolean indique qu'il y a seulement deux états pour cette variable.
          • le commentaire précise le sens des deux états.


          Donc pas étonnant qu'y écrire n'ai aucun effet. Je ne sais pas si il existe une autre variable pour faire ce que tu souhaites.

          PhM
          X-Plane 9.70 & 11.5r1 / W10 / AMD Ryzen 7 2700 / 8Go RAM / Sapphire R9 390 Nitro 8Go / Sapphire HD7870 GHz 2Go / Samsung LN40C530 / Oculus DK2 / LeapMotion / Saitek X56 / Thrustmaster Pendular Rudder

          Commentaire


          • #1
            Bonjour FlyingBaldy,

            Merci pour votre aide !

            Envoyé par FlyingBaldy Voir le message
            Bonjour Lami,

            Deux commentaires:
            * la Dataref ne devrait-elle pas être "sim/cockpit/autopilot/..." au lieu de "sim/autopilot/..." ?
            Je ne sais pas. Il n'y a que quelques heures que je travaille avec les dataRefs. Je n'y connais presque rien, alors je ne peux pas y faire beaucoup d'affirmations.

            Ce que je peux confirmer c'est que "sim/cockpit/autopilot/vnav_armed" ne fonctionne pas plus que "sim/autopilot/vnav_armed".

            Envoyé par FlyingBaldy Voir le message
            ...
            * pour armer la V/S, il me semble qu'il faut attribuer un des bits de la dataref "sim/cockpit/autopilot/autopilot state" (voir page http://www.xsquawkbox.net/xpsdk/medi...utopilot_state )
            Je viens de lire cette page traduite en français avec Google, car je ne suis pas anglophone et ce que j'en comprend, c'est que je viens de tomber dans un terrien miné !

            La conclusion de cette page, ce que j'en comprends, outre le terrien miné, c'est de ne plus utiliser les paramètres suivants :

            sim/cockpit/autopilot/airspeed_mode
            sim/cockpit/autopilot/heading_mode
            sim/cockpit/autopilot/altitude_mode
            sim/cockpit/autopilot/mode_hnav
            sim/cockpit/autopilot/altitude_gls
            Mais il ne dit pas par quoi remplacer ces paramètres et/ou commandes !

            Si vous avez une piste de solution, je suis preneur.

            Merci encore, toute aide est appréciée.

            L'ami René
            Tous pour un et un pour tous !
            L'ami René
            Tous pour un et un pour tous !

            Ordi-1 : Intel i7-12700K 5GHz, RAM 128 Go, nVidia RTX 3080 10G, Téléviseur 55" 3840x2160, 3 écrans 1920x1080, Manettes Saitek X56.
            Linux Debian 13, X11, X-Plane 12.4.4-b2, Little NavMap v3.0.18, pilote nVidia 550.163.1.

            Ordi-2 : Intel i7-12700KF 5GHz, RAM 48 Go, Asus GeForce STRIX-GTX 1060 6G, 2 x Écran 1920x1080.
            Linux Kubuntu 26.04, XHSI 2.0 Beta 12 Alfa 5, pilote nVidia 535.309.

            Commentaire


            • #1
              Salut Thierry,

              Envoyé par thierryhl Voir le message
              Il me semble que c'est mieux d'utiliser les dataref de "cockpit2" en priorité s'il y a lieu bien sur...

              sim/cockpit2/autopilot/altitude_hold_armed
              et
              sim/cockpit2/autopilot/vnav_armed
              Ces deux commandes ne fonctionnent pas, mais comme l'écrit PhM, il y aurait de bonne raison à cela, pour ces paramètres, « n indique qu'il n'est pas possible d'y écrire ». Et voici des lignes pour des paramètres que j'ai utilisés :

              sim/cockpit2/autopilot/vnav_armed int n boolean Vnav is armed, 0 or 1 - this is different from the "FMS" button.
              sim/cockpit2/autopilot/altitude_hold_armed int n boolean Altitude is armed, 0 or 1.
              sim/cockpit2/autopilot/altitude_mode int n enum Autopilot altitude mode.
              Ils ont tous le « n » et bien sûr, ils ne fonctionnent pas.

              Mais je ne comprends pas que dans le fichier DataRefs, il y a une seule ligne avec « servos_on », et il y a le « n » comme information pour ce paramètre :

              sim/cockpit2/autopilot/servos_on int n boolean Are the servos on? Takes into account FD mode and control-wheel-steering, failures, etc.
              Mais ma commande suivante fonctionne correctement :

              Code:
                      EnvoyerCommandeX_Plane ("sim/autopilot/servos_on");
              Je sais donc, qu'il n'y a pas de corrélation exacte entre les commandes dans les exemples de « Arduino Cockpite Simulator » et le contenu du fichier « DataRefs.txt ».

              Autres exemples, les commandes pour l'altitude barométrique fonctionnent parfaitement :

              Code:
                      EnvoyerCommandeX_Plane ("sim/instruments/barometer_down");
                      EnvoyerCommandeX_Plane ("sim/instruments/barometer_up");
              Mais dans le fichier « DataRefs.txt », il n'y a aucune trace des mots « barometer_down » et « barometer_up ».

              Mais comme je l'ai écrit précédemment, « Il n'y a que quelques heures que je travaille avec les dataRefs. Je n'y connais presque rien... ».

              Si tu as une piste de solution, je suis preneur.

              Merci encore, toute aide est appréciée.

              L'ami René
              Tous pour un et un pour tous !
              L'ami René
              Tous pour un et un pour tous !

              Ordi-1 : Intel i7-12700K 5GHz, RAM 128 Go, nVidia RTX 3080 10G, Téléviseur 55" 3840x2160, 3 écrans 1920x1080, Manettes Saitek X56.
              Linux Debian 13, X11, X-Plane 12.4.4-b2, Little NavMap v3.0.18, pilote nVidia 550.163.1.

              Ordi-2 : Intel i7-12700KF 5GHz, RAM 48 Go, Asus GeForce STRIX-GTX 1060 6G, 2 x Écran 1920x1080.
              Linux Kubuntu 26.04, XHSI 2.0 Beta 12 Alfa 5, pilote nVidia 535.309.

              Commentaire


              • #1
                Bonjour PhM,

                Merci pour votre aide !

                Envoyé par PhM Voir le message
                Ce n'est pas un bug. Je reprends la description de altitude_hold_armed :

                Code:
                sim/cockpit2/autopilot/altitude_hold_armed    int    n    boolean    Altitude is armed, 0 or 1.
                • int indique que c'est un entier.
                • n indique qu'il n'est pas possible d'y écrire.
                • boolean indique qu'il y a seulement deux états pour cette variable.
                • le commentaire précise le sens des deux états.

                ...
                Merci pour cette leçon de comment lire les données du fichier « DataRefs.txt », c'est précis et concis. C'est un genre d'information que j'apprécie grandement, car dans ce fichier, il n'y a pas d'en-tête de colonne.

                # colonne Description
                1_______Chemin et nom de la commande
                2_______Type de donnée
                3_______Modifiable ou pas
                4_______Description et notes

                Encore merci !

                Envoyé par PhM Voir le message
                ...
                Donc pas étonnant qu'y écrire n'ai aucun effet. Je ne sais pas si il existe une autre variable pour faire ce que tu souhaites.

                PhM
                Je ne peux pas croire qu'il n'y a pas une commande pour le paramètre « V/S » dans X-Plane et ses DataRefs.

                Si vous avez une autre piste de solution pour mes problèmes de « V/S » et etc., je suis preneur.

                Vous, comment activez-vous le paramètre « V/S » dans votre code source ?

                Merci encore, toute aide est appréciée.

                L'ami René
                Tous pour un et un pour tous !
                L'ami René
                Tous pour un et un pour tous !

                Ordi-1 : Intel i7-12700K 5GHz, RAM 128 Go, nVidia RTX 3080 10G, Téléviseur 55" 3840x2160, 3 écrans 1920x1080, Manettes Saitek X56.
                Linux Debian 13, X11, X-Plane 12.4.4-b2, Little NavMap v3.0.18, pilote nVidia 550.163.1.

                Ordi-2 : Intel i7-12700KF 5GHz, RAM 48 Go, Asus GeForce STRIX-GTX 1060 6G, 2 x Écran 1920x1080.
                Linux Kubuntu 26.04, XHSI 2.0 Beta 12 Alfa 5, pilote nVidia 535.309.

                Commentaire


                • #1
                  EnvoyerCommandeX_Plane ("sim/instruments/barometer_down");
                  EnvoyerCommandeX_Plane ("sim/instruments/barometer_up");
                  Tu as ses infos, non pas dans le fichier "dataref.txt" mais dans le fichier "commande.txt"

                  en fait il y a 2 fichiers dans
                  xplane->Resources->plugins
                  1 - datarefs.txt
                  2 - commande.txt

                  ce dernier n'est pas visible dans "dararerf editor", il faut fouiller dans le fichier "commande.txt.
                  X-Plane 10
                  En attente d'un ordinateur...

                  Commentaire


                  • #1
                    Ce que je peux confirmer c'est que "sim/cockpit/autopilot/vnav_armed" ne fonctionne pas plus que "sim/autopilot/vnav_armed".

                    Envoyé par FlyingBaldy
                    ...
                    * pour armer la V/S, il me semble qu'il faut attribuer un des bits de la dataref "sim/cockpit/autopilot/autopilot state" (voir page http://www.xsquawkbox.net/xpsdk/medi...utopilot_state )



                    Je viens de lire cette page traduite en français avec Google, car je ne suis pas anglophone et ce que j'en comprend, c'est que je viens de tomber dans un terrien miné !

                    La conclusion de cette page, ce que j'en comprends, outre le terrien miné, c'est de ne plus utiliser les paramètres suivants :

                    sim/cockpit/autopilot/airspeed_mode
                    sim/cockpit/autopilot/heading_mode
                    sim/cockpit/autopilot/altitude_mode
                    sim/cockpit/autopilot/mode_hnav
                    sim/cockpit/autopilot/altitude_gls


                    Mais il ne dit pas par quoi remplacer ces paramètres et/ou commandes !
                    Tous les modes d'engagement d'autopilote sont maintenant regroupés dans la dataref "autopilot state".
                    Les modes sont accessibles via les bits de cette dataref qui est accessible en mode écriture.

                    Le mode V/S (vertical speed) me semble être le mode VVI (Vertical Velocity) dans la dataref.
                    Il faudrait dès lors mettre à 1 le bit 16 (en décimal) de façon à obtenir le "VVI Climb Engage" (qui devrait être équivalent au V/S Arm à mon avis).

                    La même procédure s'applique pour les autres modes (heading bit 2, altitude bit 32, etc.).

                    J'imagine que pour mettre un de ces bits à 1, il faut faire un OU logique :
                    * lire la valeur de la dataref "autopilot state"
                    * faire un OU logique avec la valeur du bit recherché (exemple "autopilot state dataref" OU 512 pour engager la HNAV).
                    * écrire la nouvelle dataref

                    Bonne chance
                    XP11.41 - WIN 7 - i7 - GTX970

                    Commentaire


                    • #1
                      Bonjour Thierry et FlyingBaldy,

                      J'étais venu annoncer la bonne nouvelle que j'avais résolu le problème avec le paramètre « barometer_setting » et je tombe sur vos bonnes nouvelles. Alors je retourne de suite essayer vos solutions.

                      Un très grand merci !

                      Pour la petite histoire pour le baromètre, c'est en ajoutant un petit « [0] » à la suite du champ que ça fonctionne.

                      De :

                      Code:
                              EnvoyerDonneesX_Plane ("sim/cockpit/misc/barometer_setting", float (29.92));
                      Je passe à :
                      Code:
                              EnvoyerDonneesX_Plane ("sim/cockpit/misc/barometer_setting[0]", float (29.92));
                      Je reviens vous donner des nouvelles de vos solutions dès que j'en ai !

                      L'ami René
                      Tous pour un et un pour tous !
                      L'ami René
                      Tous pour un et un pour tous !

                      Ordi-1 : Intel i7-12700K 5GHz, RAM 128 Go, nVidia RTX 3080 10G, Téléviseur 55" 3840x2160, 3 écrans 1920x1080, Manettes Saitek X56.
                      Linux Debian 13, X11, X-Plane 12.4.4-b2, Little NavMap v3.0.18, pilote nVidia 550.163.1.

                      Ordi-2 : Intel i7-12700KF 5GHz, RAM 48 Go, Asus GeForce STRIX-GTX 1060 6G, 2 x Écran 1920x1080.
                      Linux Kubuntu 26.04, XHSI 2.0 Beta 12 Alfa 5, pilote nVidia 535.309.

                      Commentaire


                      • #1
                        Envoyé par Lami Voir le message
                        ...
                        Pour la petite histoire pour le baromètre, c'est en ajoutant un petit « [0] » à la suite du champ que ça fonctionne.
                        ...
                        Le coup du [0] à la fin est valable pour tous les éléments qui peuvent être présents en plusieurs exemplaires sur le tableau de bord, typiquement les commandes des moteurs où [0] correspond au moteur 1, [1] au moteur 2,...

                        Daniel
                        Intel I5 6500 3,2 Ghz, RAM 16 Go, GeForce GTX 960 2 Go, Linux Ubuntu 18.04
                        Portable Asus Intel i5 2,8 Ghz, RAM 8 Go, GeForce 840M, Windows 8.1 64bits
                        #AMD II X2 245 2,9 Ghz, RAM 8 Go, GeForce GTX 650 1 Go, Linux Ubuntu 14.04
                        #AMD 64x2 5200 2,6 Ghz, RAM 4 Go, GeForce 9600 GT 512 Mo, Linux Ubuntu 10.04
                        #MacBook Pro 15" 2,4 Ghz, RAM 4 Go, GeForce GT 330 M 256 Mo, Mac OS 10.6

                        Commentaire


                        • #1
                          Rebonjour,

                          Je ne peux commencer sans vous dire un grand merci !

                          Finalement et grâce à votre aide, j'ai la bonne commande pour le « V/S », et c'est :

                          Code:
                                  EnvoyerCommandeX_Plane ("sim/autopilot/vertical_speed");
                          Et pour la puissance moteur, il y à :

                          Code:
                                  EnvoyerCommandeX_Plane ("sim/engines/throttle_up");
                                  EnvoyerCommandeX_Plane ("sim/engines/throttle_down");
                          La suivante est dans le fichier « Commands.txt », mais inopérant dans X-Plane :

                          Code:
                          sim/autopilot/servos_and_flight_dir_off
                          J'utilise à la place :

                          Code:
                                  EnvoyerCommandeX_Plane ("servos_fdir_yawd_off");
                          Voilà, finalement les 45 touches de la télécommande sont toutes attribuées à une commande sans aucun doublon.

                          Alors, un très grand merci à toute l'équipe et BRAVO !

                          Même si officiellement nous n'en sommes pas une, le résultat est le même, ça fonctionne grâce à la contribution de tous !

                          L'ami René
                          Tous pour un et un pour tous !
                          L'ami René
                          Tous pour un et un pour tous !

                          Ordi-1 : Intel i7-12700K 5GHz, RAM 128 Go, nVidia RTX 3080 10G, Téléviseur 55" 3840x2160, 3 écrans 1920x1080, Manettes Saitek X56.
                          Linux Debian 13, X11, X-Plane 12.4.4-b2, Little NavMap v3.0.18, pilote nVidia 550.163.1.

                          Ordi-2 : Intel i7-12700KF 5GHz, RAM 48 Go, Asus GeForce STRIX-GTX 1060 6G, 2 x Écran 1920x1080.
                          Linux Kubuntu 26.04, XHSI 2.0 Beta 12 Alfa 5, pilote nVidia 535.309.

                          Commentaire


                          • #1
                            Envoyé par Lami Voir le message
                            ...Pour la petite histoire pour le baromètre, c'est en ajoutant un petit « [0] » à la suite du champ que ça fonctionne....
                            Ce qui est aberrant puisque cette référence est bien décrite comme une valeur unique :
                            Code:
                            sim/cockpit/misc/barometer_setting    float    y    ???    The pilots altimeter setting
                            Contrairement à cette référence :
                            Code:
                            sim/cockpit/switches/anti_ice_engine_air    float[8]    y    ratio    ????
                            Qui est bien définie comme un tableau de huit valeurs.

                            Tu es en train d'explorer les voies du "hacking" où l'on bricole au petit bonheur jusqu'à avoir un fonctionnement correspondant à ce que l'on souhaite. Tu n'es peut-être pas aidé par tout ce qui est arduino, censé faciliter l'accès à tous à la programmation de micro-contrôleurs, et de ce fait ne faisant pas tout dans les règles de l'art. Je vais tester barometer_setting ce soir après le boulot.

                            PhM
                            X-Plane 9.70 & 11.5r1 / W10 / AMD Ryzen 7 2700 / 8Go RAM / Sapphire R9 390 Nitro 8Go / Sapphire HD7870 GHz 2Go / Samsung LN40C530 / Oculus DK2 / LeapMotion / Saitek X56 / Thrustmaster Pendular Rudder

                            Commentaire


                            • #1
                              Bonjour Daniel,

                              Merci pour ton aide !

                              Envoyé par Daniel_L Voir le message
                              Le coup du [0] à la fin est valable pour tous les éléments qui peuvent être présents en plusieurs exemplaires sur le tableau de bord, typiquement les commandes des moteurs où [0] correspond au moteur*1, [1] au moteur*2,...

                              Daniel
                              Je note bien, tout ce qui est doublon ou plus, ça prend un « [x] » à la fin, genre, moteur*3 = « "sim/engines/throttle_up[2]" » !

                              Et pour les moteurs*1 à 8, c'est [0] à [7] ?

                              Mais pour tous les moteurs, c'est = « "sim/engines/throttle_up" » ?

                              C'est bien ça ?

                              Avec le nombre, on finit toujours par trouver une solution.

                              Encore merci Daniel !

                              L'ami René
                              Tous pour un et un pour tous !
                              L'ami René
                              Tous pour un et un pour tous !

                              Ordi-1 : Intel i7-12700K 5GHz, RAM 128 Go, nVidia RTX 3080 10G, Téléviseur 55" 3840x2160, 3 écrans 1920x1080, Manettes Saitek X56.
                              Linux Debian 13, X11, X-Plane 12.4.4-b2, Little NavMap v3.0.18, pilote nVidia 550.163.1.

                              Ordi-2 : Intel i7-12700KF 5GHz, RAM 48 Go, Asus GeForce STRIX-GTX 1060 6G, 2 x Écran 1920x1080.
                              Linux Kubuntu 26.04, XHSI 2.0 Beta 12 Alfa 5, pilote nVidia 535.309.

                              Commentaire


                              • #1
                                Bonjour PhM,

                                Envoyé par PhM Voir le message
                                Ce qui est aberrant puisque cette référence est bien décrite comme une valeur unique :
                                Code:
                                sim/cockpit/misc/barometer_setting    float    y    ???    The pilots altimeter setting
                                Contrairement à cette référence :
                                Code:
                                sim/cockpit/switches/anti_ice_engine_air    float[8]    y    ratio    ????
                                Qui est bien définie comme un tableau de huit valeurs.
                                ...
                                Tout ce que tu écris sur ce « barometer_setting » m'intrigue, je suis curieux de lire les conclusions de ton test de ce soir !

                                Envoyé par PhM Voir le message
                                ...
                                Tu es en train d'explorer les voies du "hacking" où l'on bricole au petit bonheur jusqu'à avoir un fonctionnement correspondant à ce que l'on souhaite. Tu n'es peut-être pas aidé par tout ce qui est arduino, censé faciliter l'accès à tous à la programmation de micro-contrôleurs, et de ce fait ne faisant pas tout dans les règles de l'art. Je vais tester barometer_setting ce soir après le boulot.

                                PhM
                                Je trouve regrettable qu'il n'y ait pas de bonne documentation et/ou livre en français pour justement aider à faire les choses dans les règles de l'art, que cela soit sur Arduino ou sur X-Plane. Je passe 50% de mont temps à traduire les textes en anglais, mais la traduction automatique de l'anglais a bien des limites et des lacunes.

                                Merci pour ton aide !

                                L'ami René
                                Tous pour un et un pour tous !
                                L'ami René
                                Tous pour un et un pour tous !

                                Ordi-1 : Intel i7-12700K 5GHz, RAM 128 Go, nVidia RTX 3080 10G, Téléviseur 55" 3840x2160, 3 écrans 1920x1080, Manettes Saitek X56.
                                Linux Debian 13, X11, X-Plane 12.4.4-b2, Little NavMap v3.0.18, pilote nVidia 550.163.1.

                                Ordi-2 : Intel i7-12700KF 5GHz, RAM 48 Go, Asus GeForce STRIX-GTX 1060 6G, 2 x Écran 1920x1080.
                                Linux Kubuntu 26.04, XHSI 2.0 Beta 12 Alfa 5, pilote nVidia 535.309.

                                Commentaire

                                Chargement...
                                X