Annonce

Réduire
Aucune annonce.

Utilisation de l'HID avec X-Plane

Réduire
Cette discussion a reçu une réponse.
X
X
 
  • Filtre
  • Heure
  • Afficher
Tout nettoyer
nouveaux messages

  • X-Plane 11.x Utilisation de l'HID avec X-Plane

    Bonjour à tous,

    Je suis nouveau ici

    Voila je suis étudiant en électronique ( BUT GEII), je travaille sur un simulateur de vol xplane 11.

    Je dois reproduire les boutons du Guimbal Cabri G2 ( exemple : pump, master, strobe, navlit, etc )
    Cliquez sur l'image pour la voir en taille réelle 

Nom : 		photo_simulateur.jpg 
Affichages :	314 
Taille :		125,1 Ko 
ID : 			521032Cliquez sur l'image pour la voir en taille réelle 

Nom : 		boution_simulateur.jpg 
Affichages :	304 
Taille :		125,7 Ko 
ID : 			521033

    Ainsi pour que le simulateur puisse détecter les boutons. J'utilise une carte STM32 qui fait l'intermédiaire entre les boutons et X-plane.

    Je souhaite faire communiquer ma carte et X-plane en utilisant l'HID ( human interface devices)

    mais je rencontre des problèmes au niveau du report descriptor.

    J'ai écris une première version, mais le logiciel ne la reconnais pas.
    Cliquez sur l'image pour la voir en taille réelle 

Nom : 		rd_v1.png 
Affichages :	308 
Taille :		63,2 Ko 
ID : 			521034


    J'ai donc essayé de chercher de la documentation, mais je ne trouve rien de concluant.

    Y'a t il des personne qui on utilisé l'HID sur x-plane qui pourrai m'aiguiller ?

    avez-vous des pistes qui pourrai m'aider ?

    avez-vous travaillé sur un projet similaire ?

    Fichiers attachés
    Vous pouvez visualiser uniquement les miniatures dans cette galerie. Cette galerie contient 3 photo(s).
  • Réponse choisie par Sett à 14 mars 2023, 16h36.

    Envoyé par playrec Voir le message

    Salut !

    Voici un peitit utilitaire qui pourrait t'aider !

    https://github.com/libusb/hidapi/rel.../hidapi-0.13.1



    HIDAPI is a multi-platform library which allows an application to interface with USB and Bluetooth HID-Class devices on Windows, Linux, FreeBSD, and macOS. HIDAPI can be either built as a shared library (.so, .dll or .dylib) or can be embedded directly into a target application by adding a single source file (per platform) and a single header.

    Salut,

    J'ai enfin trouvé la solution !

    Dans mon ancien report descriptor au niveau de la seconde ligne j'indique, que je souhaite utiliser une souuris. Le mieux est de changer cela et d'indiquer l'utilisation d'un joystick.

    Seconde erreur, il faut que le report descriptor soit un multiple de huit je m'explique :

    Imaginons que nous voulons faire le report descriptor d'une souris.

    on indique que l'axe X et Y sur 8 bits chacun, ce qui fait 16 bits en tous la condition est respecté.

    et si on rajoute 2 boutons codé tous deux sur 2bit, cela fait 18 en tous.

    18 n'est pas un multiple de 8, il faudra donc rajouté 6 bits de remplissage, afin d'avoir un total de 24 bits.

    Concernant mon report descripor je vous fournis le programme :

    0x05, 0x01, // Usage Page (Generic Desktop)
    0x09, 0x04, // Usage (Joystick)
    0xA1, 0x01, // Collection (Application)
    0x05, 0x09, // Usage Page (Button)
    0x19, 0x01, // Usage Minimum (Button 1)
    0x29, 0x08, // Usage Maximum (Button 8)
    0x15, 0x00, // Logical Minimum (0)
    0x25, 0x01, // Logical Maximum (1)
    0x95, 0x08, // Report Count (8)
    0x75, 0x01, // Report Size (1)
    0x81, 0x02, // Input (Data, Variable, Absolute) - Button states (8 bits)
    0xC0 // End Collection

    Commentaire


    • #2
      Envoyé par Sett Voir le message
      Bonjour à tous,

      Je suis nouveau ici

      Voila je suis étudiant en électronique ( BUT GEII), je travaille sur un simulateur de vol xplane 11.

      Je dois reproduire les boutons du Guimbal Cabri G2 ( exemple : pump, master, strobe, navlit, etc )
      Cliquez sur l'image pour la voir en taille réelle 

Nom : 		photo_simulateur.jpg 
Affichages :	314 
Taille :		125,1 Ko 
ID : 			521032Cliquez sur l'image pour la voir en taille réelle 

Nom : 		boution_simulateur.jpg 
Affichages :	304 
Taille :		125,7 Ko 
ID : 			521033

      Ainsi pour que le simulateur puisse détecter les boutons. J'utilise une carte STM32 qui fait l'intermédiaire entre les boutons et X-plane.

      Je souhaite faire communiquer ma carte et X-plane en utilisant l'HID ( human interface devices)

      mais je rencontre des problèmes au niveau du report descriptor.

      J'ai écris une première version, mais le logiciel ne la reconnais pas.
      Cliquez sur l'image pour la voir en taille réelle 

Nom : 		rd_v1.png 
Affichages :	308 
Taille :		63,2 Ko 
ID : 			521034


      J'ai donc essayé de chercher de la documentation, mais je ne trouve rien de concluant.

      Y'a t il des personne qui on utilisé l'HID sur x-plane qui pourrai m'aiguiller ?

      avez-vous des pistes qui pourrai m'aider ?

      avez-vous travaillé sur un projet similaire ?
      Salut !

      Voici un peitit utilitaire qui pourrait t'aider !

      hidraw: fix invalid read past the UDEV buffer; Released hidapi-win.zip includes pre-compiled: hidapi.dll hidapi.lib For x86 and x64 Windows platforms. And header file(s) for it.




      HIDAPI is a multi-platform library which allows an application to interface with USB and Bluetooth HID-Class devices on Windows, Linux, FreeBSD, and macOS. HIDAPI can be either built as a shared library (.so, .dll or .dylib) or can be embedded directly into a target application by adding a single source file (per platform) and a single header.
      XP12.09rc5 - Zibo.4.00.12 - ZHSI - FDStoXP - Midwest plugin - FSCB737TQ - Sismo Connector - xATC Chatter - Simheaven - Traffic Global
      pc1-xp - i7 8700k 4,8 GHz - Win10pro - Asus Maximus X - 64go ram - gtx 1080ti - ssd - 2x32" lcd Asus pb328q 2x2560x1440
      pc2-zhsi - i5 4590 - 24go ram - GT710 - LittleNavmap 24" + 4x lcd mip+ 2x5" cdu

      B737 OEM siège → cpt-f/o ← Ace B737 column yoke - FDS full mip + 2 cdu - CPFlight mcp/efis/pedestal - Sismo fwd/aft overhead - FSC non motorized TQ - palonnier MFG

      Commentaire


      • #3
        Envoyé par playrec Voir le message

        Salut !

        Voici un peitit utilitaire qui pourrait t'aider !

        hidraw: fix invalid read past the UDEV buffer; Released hidapi-win.zip includes pre-compiled: hidapi.dll hidapi.lib For x86 and x64 Windows platforms. And header file(s) for it.




        HIDAPI is a multi-platform library which allows an application to interface with USB and Bluetooth HID-Class devices on Windows, Linux, FreeBSD, and macOS. HIDAPI can be either built as a shared library (.so, .dll or .dylib) or can be embedded directly into a target application by adding a single source file (per platform) and a single header.
        Bonjour playrec,

        Merci pour ton partage !

        Je vais voir ça plus en détail.

        Commentaire


        • #4
          Envoyé par playrec Voir le message

          Salut !

          Voici un peitit utilitaire qui pourrait t'aider !

          https://github.com/libusb/hidapi/rel.../hidapi-0.13.1



          HIDAPI is a multi-platform library which allows an application to interface with USB and Bluetooth HID-Class devices on Windows, Linux, FreeBSD, and macOS. HIDAPI can be either built as a shared library (.so, .dll or .dylib) or can be embedded directly into a target application by adding a single source file (per platform) and a single header.

          Salut,

          J'ai enfin trouvé la solution !

          Dans mon ancien report descriptor au niveau de la seconde ligne j'indique, que je souhaite utiliser une souuris. Le mieux est de changer cela et d'indiquer l'utilisation d'un joystick.

          Seconde erreur, il faut que le report descriptor soit un multiple de huit je m'explique :

          Imaginons que nous voulons faire le report descriptor d'une souris.

          on indique que l'axe X et Y sur 8 bits chacun, ce qui fait 16 bits en tous la condition est respecté.

          et si on rajoute 2 boutons codé tous deux sur 2bit, cela fait 18 en tous.

          18 n'est pas un multiple de 8, il faudra donc rajouté 6 bits de remplissage, afin d'avoir un total de 24 bits.

          Concernant mon report descripor je vous fournis le programme :

          0x05, 0x01, // Usage Page (Generic Desktop)
          0x09, 0x04, // Usage (Joystick)
          0xA1, 0x01, // Collection (Application)
          0x05, 0x09, // Usage Page (Button)
          0x19, 0x01, // Usage Minimum (Button 1)
          0x29, 0x08, // Usage Maximum (Button 8)
          0x15, 0x00, // Logical Minimum (0)
          0x25, 0x01, // Logical Maximum (1)
          0x95, 0x08, // Report Count (8)
          0x75, 0x01, // Report Size (1)
          0x81, 0x02, // Input (Data, Variable, Absolute) - Button states (8 bits)
          0xC0 // End Collection

          Commentaire


          • #5
            Bonne chance dans ton projet!
            Au fait, comment tu vas être noté dessus? Tu vas faire venir ton prof chez toi l'essayer ?
            X-plane 12.1rc2. Intel Core I5 10600KF OC@4.8Ghz - Asus Rog-Strix Z490-E - Crucial Ballistix 32Go 2600 OC@4.1Ghz - PNY RTX4070-Ti-Super 16Go, driver 555.85 - écran photo NEC PA242w 1920x1200 10bits - SSD Samsung 860 Evo & 970+ 1To + Seagate Exos 16To pour les orthophotos. Windows 10 Famille - X-Organizer 3.2 + X-World 3 ,etc.

            Commentaire


            • #6
              Envoyé par hawkertempest Voir le message
              Bonne chance dans ton projet!
              Au fait, comment tu vas être noté dessus? Tu vas faire venir ton prof chez toi l'essayer ?
              je te remercie hawkertempest !

              Concernant la notation celle-ci se passe sur un objectif bien précis, je ne dois pas faire le simulateur en entier, mais chaque année des étudiant travaille sur partie.
              Actuellement il y a un autre groupe qui travaille sur la check-list avant de faire décoller l'hélicoptère. La check-list sera afficher en réalité augmenter avec le casque Hololens de chez Microsoft.
              le simulateur se trouve à l'IUT.

              Commentaire

              Chargement...
              X