Annonce

Réduire
Aucune annonce.

Construction cockpit cessna 172 (Work In Progress)

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

  • #1
    Bonjour Thierry,

    Oui, installé "teensycontrol". et copier le dossier TeensyControls dans mon dossier ~/X-Plane/X-Plane-10/Resources/plugins/
    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.
      Etant sur mac, voila ce que j'ai dans le dossier de l'application Arduino"
      Content ->Ressources ->Java -> hardware -- j'ai ces 3 dossiers [arduino - teensy - tools]

      as-tu le dossier teensy ? car dedans il y a un dossier "core" avec usb_fligthsim et je pense que tout est là.

      ci-joint un .zip de ce dossier
      usb_flightsim.zip
      X-Plane 10
      En attente d'un ordinateur...

      Commentaire


      • #1
        Bonjour / Bonsoir

        Petit soucis du jours
        Je viens d'intégrer la dataref :
        sim/cockpit2/gauges/indicators/airspeed_acceleration_kts_sec_pilot
        Dans le void setup, histoire de voir ce que je récupérais côté arduino.
        Exemple du code "simple"
        Code:
        void setup() {
          Serial.begin(9600);
         
          in_KNOTS = XPlaneRef("sim/cockpit2/gauges/indicators/airspeed_kts_pilot");
          in_KNOTS.onChange(viewKNOTS);
          
          in_ACCELKNOTS = XPlaneRef("sim/cockpit2/gauges/indicators/airspeed_acceleration_kts_sec_pilot");
        
          stepper.setMaxSpeed(1400.00);
          stepper.setAcceleration(800);
          stepper.setSpeed(1000.00);
        }
         
        void loop() {
          FlightSim.update();
              if (stepper.distanceToGo() == 0) {
                stepper.moveTo(0.00);
               }
            stepper.run();
            
            
            Serial.print("Acceleration : "); //Valeurs d'X-Plane
            Serial.print(in_ACCELKNOTS);
            Serial.println();
        
        }
        Et bien la variable reste à 0 !!!
        histoire de voir si ça fonctionne
        je change
        Serial.print(in_ACCELKNOTS);

        par Serial.print(in_KNOTS);

        et je vois bien les valeurs de vitesse
        Quelle est ce soucis ?

        Tiré du dataref.txt
        sim/cockpit2/gauges/indicators/airspeed_acceleration_kts_sec_pilot float y knots/second acceleration of airspeed (ASI trend)

        je ne comprend pas
        X-Plane 10
        En attente d'un ordinateur...

        Commentaire


        • #1
          Bonjour Thierry,

          Merci pour la piste !

          J'ai finalement trouvé ce que je cherchais dans « ~/Arduino_Teensy/hardware/teensy/cores/usb_flightsim/usb_api.h ».

          Mais, il y a un tour de passe-passe, car dans ton code tu n'appelles pas cette bibliothèque et le compilateur la trouve quand même. Je présume qu'elle est considérée comme faisant partie du noyau de base de Teensy.

          Sur un ordinateur avec Windows Vista et un autre avec Windows 7, j'ai installé « serial_install.exe », « teensyduino.exe », « JRE - Flip Installer - 3.4.5.106.exe » et « UnoJoyWin » et redémarré l'ordinateur, mais j'ai un problème avec l'exécution de « TurnIntoAJoystick.bat », il me manquerait les fichiers « libusb0.dll » et « AtLibUsbDfu.dll ». Et comme je travaille à 99.99% du temps sous Linux, je ne pousserai pas plus loin mes essais sous Windows.

          Je chercherai dans les solutions sous Linux. J'ai déjà d'installé « dfu-programmer » mais il me reste à apprendre à l'utiliser avec Teensyduino. Pour être rassuré sur les étapes a suivre et comme un système Mac c'est un système Unix, donc très semblable au système Linux, est-ce que tu pourrais me lister les étapes que tu fais à partir d'un code source Arduino, jusqu'au fonctionnement avec X-Plane, ces étapes ne sont pas claire pour moi.

          Pour ce qui est de ton dernier problème « la variable reste à 0 !!! », pour le moment, je ne peux t'aider sur ce point.

          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 thierryhl Voir le message
            ... Quelle est ce soucis ?...
            Pas assez s'info pour pouvoir répondre, où sont définies les variables in_ACCELKNOTS et in_KNOTS, et comment sont-elles définies ?

            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
              Envoyé par Lami
              Bonjour,

              Voici ma conclusion du changement de microprogramme "firmware" pour Nano 3.0, c'est impossible avec le « dfu-programmer », la puce pour la communication USB étant remplacé par un logiciel.

              Donc, exit mes cartes Arduino Nano 3.0.

              L'ami René
              Tous pour un et un pour tous !
              J'ai retrouvé ça dans mes favories ?
              peut-être une solution pour toi
              X-Plane 10
              En attente d'un ordinateur...

              Commentaire


              • #1
                Envoyé par PhM Voir le message
                Pas assez s'info pour pouvoir répondre, où sont définies les variables in_ACCELKNOTS et in_KNOTS, et comment sont-elles définies ?

                PhM
                Alors voilà un code simplifié complet pour comprendre et une video pour visualiser la chose,
                on voit bien dans le "datarefEditor d'X-Plane que airspeed_acceleration change (à gauche),
                mais pas dans le monitor d'Arduino (à droite), alors que les autres sont bien transmises.
                Code:
                FlightSimFloat airspeed;      
                FlightSimFloat airspeedaccel;      
                FlightSimFloat altimeter;      
                FlightSimFloat rpm;      
                
                
                void setup() {  
                
                 //************************** TABLEAU DE BORD _ PILOTE ************************
                 // ALTIMETRE
                    // barometre = XPlaneRef("sim/cockpit2/gauges/actuators/barometer_setting_in_hg_pilot");
                    altimeter = XPlaneRef("sim/cockpit2/gauges/indicators/altitude_ft_pilot"); 
                
                 // AIRSPEED
                    airspeed = XPlaneRef("sim/cockpit2/gauges/indicators/airspeed_kts_pilot");
                    airspeedaccel = XPlaneRef("sim/cockpit2/gauges/indicators/airspeed_acceleration_kts_sec_copilot");
                
                 // Compte tour
                    rpm = XPlaneRef("sim/cockpit2/engine/indicators/prop_speed_rpm[0]"); //000.000000
                 }
                 
                void loop() {
                  FlightSim.update();
                  
                //********* DEBUG *************
                  Serial.print("AIRSPEED ");
                  Serial.print(airspeed);
                  Serial.print("\t");
                
                  Serial.print("AIRSPEED ACCEL ");
                  Serial.print(airspeedaccel);
                  Serial.print("\t");
                
                  Serial.print("ALTITUDE ");
                  Serial.print(altimeter);
                  Serial.print("\t"); 
                  
                  Serial.print("RPM ");
                  Serial.print(rpm);
                  Serial.print("\t"); 
                
                  delay(10);
                  Serial.println(" ");
                //********* END DEBUG *************
                
                }
                et la vidéo
                X-Plane 10
                En attente d'un ordinateur...

                Commentaire


                • #1
                  Envoyé par thierryhl Voir le message
                  J'ai retrouvé ça dans mes favories ?
                  peut-être une solution pour toi
                  Salut Thierry,

                  Je n'aime pas mélanger l'utilisation de plusieurs langages de programmation, les gros bogues ne sont jamais loin.

                  Pour ce que j'ai écrit, je ne suis plus sûr de rien,, car il y a bien un circuit intégré FTDI numéro FT232RL sous le Nano 3.0. Mais je reste bloqué avec les Nano, car je n'ai pas trouvé comment "Réinitialiser le 8U2" sur cette carte comme pour une Uno ou une Mega.

                  Si quelqu'un a une idée, je suis preneur !

                  Et quel microprogramme "firmware" pour revenir à une Nano 3.0 de base ?

                  J'ai cette liste avec « dfu-programmer » :

                  at89c51snd1c
                  at89c51snd2c
                  at89c5130
                  at89c5131
                  at89c5132
                  at90usb1287
                  at90usb1286
                  at90usb1287-4k
                  at90usb1286-4k
                  at90usb647
                  at90usb646
                  at90usb162
                  at90usb82
                  atmega32u6
                  atmega32u4
                  atmega32u2
                  atmega16u4
                  atmega16u2
                  atmega8u2
                  at32uc3a0128
                  at32uc3a1128
                  at32uc3a0256
                  at32uc3a1256
                  at32uc3a0512
                  at32uc3a1512
                  at32uc3a0512es
                  at32uc3a1512es
                  at32uc3a364
                  at32uc3a364s
                  at32uc3a3128
                  at32uc3a3128s
                  at32uc3a3256
                  at32uc3a3256s
                  at32uc3a4256s
                  at32uc3b064
                  at32uc3b164
                  at32uc3b0128
                  at32uc3b1128
                  at32uc3b0256
                  at32uc3b1256
                  at32uc3b0256es
                  at32uc3b1256es
                  at32uc3b0512
                  at32uc3b1512
                  at32uc3c064
                  at32uc3c0128
                  at32uc3c0256
                  at32uc3c0512
                  at32uc3c164
                  at32uc3c1128
                  at32uc3c1256
                  at32uc3c1512
                  at32uc3c264
                  at32uc3c2128
                  at32uc3c2256
                  at32uc3c2512
                  atxmega64a1u
                  atxmega128a1u
                  atxmega64a3u
                  atxmega128a3u
                  atxmega192a3u
                  atxmega256a3u
                  atxmega16a4u
                  atxmega32a4u
                  atxmega64a4u
                  atxmega128a4u
                  atxmega256a3bu
                  atxmega64b1
                  atxmega128b1
                  atxmega64b3
                  atxmega128b3
                  atxmega64c3
                  atxmega128c3
                  atxmega256c3
                  atxmega384c3
                  Pour une carte Mega j'utilise les commandes suivantes :

                  Code:
                  cd "/home/rene/sda6/Électroniques/Arduino_Teensy/hardware/arduino/firmwares/atmegaxxu2/"
                  sudo dfu-programmer atmega16u2 erase
                  sudo dfu-programmer atmega16u2 flash MEGA-dfu_and_usbserial_combined.hex
                  sudo dfu-programmer atmega16u2 reset
                  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
                    Lami, es-tu sur que c'est possible avec un NANO ?

                    Sinon, pour mon "Airspeed", j'ai résolu mon problème de saccade du à la "map"
                    J'ai contourné le problème en multipliant les données reçus d'X-Plane par 1000 en modifiant comme ceci
                    Je ne sais pas si c'est très orthodoxe mais ça fonctionne.

                    Fonction
                    Code:
                    void viewKNOTS(float in_KNOTS){
                    float kval;
                    in_KNOTS = in_KNOTS*10000;
                      if ((in_KNOTS >= 0) and (in_KNOTS <400000))
                      {
                        kval = map(in_KNOTS, 0, 400000, 0, 185);
                      }
                    
                    etc....
                    X-Plane 10
                    En attente d'un ordinateur...

                    Commentaire


                    • #1
                      Envoyé par thierryhl Voir le message
                      Lami, es-tu sur que c'est possible avec un NANO ?
                      Bonjour Thierry,

                      Non, je ne suis pas sur, mais j'arrive à charger sur Arduino Mega R3.0 les « .hex » produit par Teensyduino. Par exemple le code de « MegaJoyArduinoSample.ino » :

                      sudo dfu-programmer atmega16u2 erase
                      sudo dfu-programmer atmega16u2 flash MegaJoyArduinoSample.cpp.hex
                      sudo dfu-programmer atmega16u2 reset
                      J'ai comme réponse dans le terminal Linux :

                      Validating...
                      4224 bytes used (34.38%)
                      Mais, je rencontre un drôle de problème. J'ai bien copié le dossier TeensyControls dans le dossier de X-Plane « /home/rene/sda6/X-Plane/X-Plane-10/Resources/plugins », mais dans X-Plane TeensyControls n'est pas listé dans la section des plug-ins et il n'y a rien dans aucun des panneaux de configuration pour le MegaJoy qui devrait apparaître dans « Joystick & Equipements »,etc.

                      Pour une carte Arduino Nano, je doute encore, mais pour une carte Mega, ça devrait fonctionner.

                      Tu peux me filer un coup de main pour ce qui est de la carte Mega ?

                      Voici ma procédure standard pour un code source *.ino.

                      1. J'ouvre mon code source *.ino avec Arduino 1.0.5 devenu Teensyduino 1.19
                      2. Dans Board, je sélectionne : Teensy 2.0.
                      3. Dans USB type, je sélectionne : Flight Sim Controls.
                      4. Dans CPU speed, je sélectionne : 16 Mhz.
                      5. Dans Keyboard, je sélectionne : Canadian French
                      6. Je compile et télécharge le code dans le Mega.
                      7. Je copie le fichier *.cpp.hex généré par Teensyduino dans mon dossier de code source *.ino
                      8. Je réinitialise le chargeur de la carte Mega avec un contacte des deux broches près du JP5 (la DEL de la carte Mega clignote).
                      9. J'ouvre un terminal Linux pour exécuter les trois lignes suivantes :

                      sudo dfu-programmer atmega16u2 erase
                      sudo dfu-programmer atmega16u2 flash *.cpp.hex
                      sudo dfu-programmer atmega16u2 reset

                      (Évidemment, le « * » est remplacé par le nom complet de mon code source, par exemple : MegaJoyArduinoSample)

                      10. Après "Validating..." que tout c'est bien passée, je déconnecte la carte Mega du port USB 2 secondes et je la rebranche.
                      11. Je lance X-Plane 10.25 (64 bits).

                      Est-ce que tout cela est correct et devrait fonctionner selon toi ?

                      Aurais-tu une piste de solution ?

                      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
                        La procédure me semble correct, ce qui est bizarre, c'est que le plug-in teensy n'apparaisse pas dans X-Plane...
                        2. Dans Board, je sélectionne : Teensy 2.0.
                        As-tu esssayé avec teensy 3 ou 3.1

                        As-tu un dossier "TOOLS" dans :
                        Arduino (app) ->Contents ->Resources -> Java -> hardware.

                        Contenu du dossier :
                        arm-none-eabi
                        avr
                        mktinyfat
                        teensy_gateway
                        teensy_post_compile
                        teensy_reboot
                        teensy_restart
                        teensy.app

                        Je peux t'en faire une copie que je mettrai sur mon FTP sinon.

                        Car teensy.app se charge (chez moi) du transfert.
                        Arduino.app ->teensy.app->et transfert vers la carte teensy.
                        X-Plane 10
                        En attente d'un ordinateur...

                        Commentaire


                        • #1
                          Bonjour Thierry,

                          Envoyé par thierryhl Voir le message
                          ...
                          As-tu esssayé avec teensy 3 ou 3.1
                          Non, après ma présente réponse je vais essayer ces options.

                          Envoyé par thierryhl Voir le message
                          ...
                          As-tu un dossier "TOOLS" dans :
                          Arduino (app) ->Contents ->Resources -> Java -> hardware.

                          Contenu du dossier :
                          arm-none-eabi
                          avr
                          mktinyfat
                          teensy_gateway
                          teensy_post_compile
                          teensy_reboot
                          teensy_restart
                          teensy.app
                          Oui, j'ai le dossier :

                          /home/rene/sda6/Électroniques/Arduino_Teensy/hardware/tools/
                          Et son contenu est :

                          arm-none-eabi (dossier)
                          avr (dossier)
                          avrdude
                          avrdude.conf
                          avrdude64
                          mktinyfat
                          readme.txt
                          teensy
                          teensy_gateway
                          teensy_post_compile
                          teensy_reboot
                          teensy_restart
                          Envoyé par thierryhl Voir le message
                          ...
                          Je peux t'en faire une copie que je mettrai sur mon FTP sinon.
                          ...
                          Je m'en suis fait un équivalant (DFU_UP_Mega.sh) :

                          #!/bin/sh
                          sudo dfu-programmer atmega16u2 erase
                          sudo dfu-programmer atmega16u2 flash MegaJoyArduinoSample.cpp.hex
                          sudo dfu-programmer atmega16u2 reset
                          echo ""
                          echo "Processus terminé !"
                          echo ""
                          echo "Appuillez sur la touche « Entrée » pour quitter et fermer la fenêtre"
                          read touche1
                          Cela n'est pas 100% automatique, mais ça aide.

                          Là, je vais essayer avec teensy 2++, 3 et 3.1, et je reviens avec les résultats.

                          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
                            Rebonjour,

                            Envoyé par thierryhl Voir le message
                            ...
                            As-tu esssayé avec teensy 3 ou 3.1
                            ...
                            Avec Teensy 3.0 et 3.1, cela ne passe pas à la compilation :

                            This report would have more information with
                            "Show verbose output during compilation"
                            enabled in File > Preferences.
                            Arduino: 1.0.5 (Linux), Board: "Teensy 3.1"
                            In file included from MegaJoyArduinoSample.ino:1:0:
                            MegaJoy.h: In function 'void setupMegaJoy()':
                            MegaJoy.h:161: error: 'OCR0A' was not declared in this scope
                            MegaJoy.h:162: error: 'TIMSK0' was not declared in this scope
                            MegaJoy.h:162: error: 'OCIE0A' was not declared in this scope
                            MegaJoy.h: At global scope:
                            MegaJoy.h:178: error: expected constructor, destructor, or type conversion before '(' token
                            Et avec Teensy 2++, ça compile, au transfère avec dfu-programmer, j'ai le message :

                            Validating...
                            4832 bytes used (39.32%)
                            Mais, dans X-Plane, toujours rien.

                            Une question en passant. Quand tu n'as pas de carte Teensy de branchée à ton ordinateur, est-ce que le plug-in TeensyControl apparait quand même dans les plug-in de X-Plane ?

                            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
                              Rebonjour,
                              Une question en passant. Quand tu n'as pas de carte Teensy de branchée à ton ordinateur, est-ce que le plug-in TeensyControl apparait quand même dans les plug-in de X-Plane ?
                              L'ami René
                              Tous pour un et un pour tous !
                              Oui,
                              as-tu télécharger la version 64 bit ?
                              X-Plane 10
                              En attente d'un ordinateur...

                              Commentaire


                              • #1
                                Oui, la version « TeensyControls X-Plane Plugin 1.0 (32 & 64 bit, X-Plane 10.20 or greater) ».

                                Et dans mon dossier « /home/rene/sda6/X-Plane/X-Plane-10/Resources/plugins/TeensyControls », il y a le dossier « 32 » et « 64 », etc.
                                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