Différences entre versions de « Projets:Interfaces XAC »
Ligne 173 : | Ligne 173 : | ||
====6-[OPTIONNEL] Test avec l'application Accessoire xbox==== | ====6-[OPTIONNEL] Test avec l'application Accessoire xbox==== | ||
− | #Télécharger l'application. Cette application est uniquement valable pour Windows 10. Elle permet de visualiser la XAC et de la paramétrer | + | #Télécharger l'application. Cette application est uniquement valable pour Windows 10. Elle permet de visualiser la XAC et de la paramétrer. https://www.microsoft.com/fr-fr/p/accessoires-xbox/9nblggh30xj3?activetab=pivot:regionofsystemrequirementstab |
− | https://www.microsoft.com/fr-fr/p/accessoires-xbox/9nblggh30xj3?activetab=pivot:regionofsystemrequirementstab | ||
#Démarrer l'application | #Démarrer l'application | ||
Aller sur "configurer">Editer en cliquant sur l'icône crayon>Stick analogique gauche | Aller sur "configurer">Editer en cliquant sur l'icône crayon>Stick analogique gauche | ||
Ligne 180 : | Ligne 179 : | ||
La sensibilité du joystick se règle directement sur la xac. Il est préférable de laisser toute la configuration du mapping se faire dans l'interface la XAC et de ne pas introduire cette notion dans le code. | La sensibilité du joystick se règle directement sur la xac. Il est préférable de laisser toute la configuration du mapping se faire dans l'interface la XAC et de ne pas introduire cette notion dans le code. | ||
− | |||
− | |||
− | |||
− | |||
====7-tester le dispositif sur la XBOX==== | ====7-tester le dispositif sur la XBOX==== |
Version du 10 octobre 2019 à 12:08
Projet interface XAC
Description du projet
Réaliser et mettre oeuvre une solution logicielle et hardware pour connecter des interfaces de type Joystick à une XAC (Xbox Adaptive Controller).
On doit pouvoir se connecter sur les entrées arrières X1,X2 ou sur les entrées USB Gauche et Droite.
- Fournir plusieurs types de dispositifs
- Joystick JPS ou Arduino sur Entrées Arrières X1 ou X2
- Joystick JPS ou Arduino sur Teensy LC connectée comme Joystick à une entrée USB XAC
- Joystick JPS ou arduino sur Arduino Micro Pro connectée comme Joystick à une entrée USB XAC
- Souris avec ou sans fil ou Souris au-travers de R-Net BT connectées comme Joystick à une entrée USB XAC
Analyse de l'existant
Equipe (Porteur de projet et contributeurs)
- Jonathan (Porteur de projet)
- Contributeurs
- Animateur (Coordinateur du projet)
- Fabmanager référent
- Responsable de documentation
- Christian (Concepteur)
Matériel nécessaire
Carte Teensy LC.
Carte Arduino Micro-pro
Carte Mini Host Usb
Outils nécessaires
Imprimante 3d IDE Arduino 1.89 TeensyDuino 1.46
Coût
Délai estimé
Fichiers source
Attention pour que le fichier compile il ne faut pas oublier de configurer depuis IDE Arduino>Outil>USB type>Serial+keyboard+Mouse+Joystick
Schémas
- Les fichiers "Sch" et "lib" sous Kicad pour concevoir les PCB
- Les fichiers kicad: Fichier:KICAD XAC.zip
Code Arduino
- Les fichiers ".Ino" pour le firmware des cartes :
- BT Hid vers XAC ou Pc sans envoie sur le port série carte Teensy LC :
- BT Hid vers Pc avec envoie sur le port série carte Teensy LC :
- USB Hid vers XAC ou Pc sans envoie sur le port série carte Teensy LC :
- USB Hid vers Pc avec envoie sur le port série carte Teensy LC :
- JPS ou Analogique Arduino vers XAC ou Pc sans envoie sur le port série carte Teensy LC :
- JPS ou Analogique Arduino vers Pc avec envoie sur le port série carte Teensy LC :
- JPS ou Analogique Arduino vers XAC ou Pc sans envoie sur le port série carte Micro Pro :
- JPS ou Analogique Arduino vers Pc avec envoie sur le port série carte Micro Pro :
Les Librairies à ajouter ou à remplacer
Sources librairies :
https://github.com/felis/USB_Host_Shield_2.0
https://github.com/gdsports/xac-mouse2joy/blob/master/joystick_teensy_20181205.zip
Le développement de ce code a été modifié par Christian Fromentin MHK Rennes.
Voir le fichier "Regarde-moi.txt" dans le dossier XAC-Joystick
A placer dans la librairie Arduino :
- A placer dans le répertoire du logiciel /../Arduino/Hardware :
Etapes de fabrication pas à pas
La carte Mini Usb Host doit être modifiée.
(Certaine carte possède un strap qui permet de le faire sans couper une piste)
Il faut permettre l'alimentation du connecteur USB avec 5 volt et non 3.3v par défaut avec cette carte:
Config 1: BT Hid vers XAC ou PC sans envoi sur le port série carte Teensy LC
Pour tester le Joystick du fauteuil (industriel), il faut couper le Bluetooth du PC pour empêcher le fauteuil de se connecter directement au PC en mode souris.
Ensuite connecter la teensy en USB à l'ordinateur.
Attendre l'apairage du fauteuil avec le host USB et teensy BT (penser à ajouter une led à l'apairage pour avoir un retour visuel)
Ensuite tester le joystick avec un logiciel par exemple dans Windows: Gestionnaire de périphériques Taper dans la barre de recherche de windows en bas à gauche, "Configurer les contrôleurs de jeu" puis la fenêtre Contreurs de jeu s'ouvre et vous devriez voir Keyboard/Mouse/Joystick, puis appuyer sur Propriétés pour avoir un affichage de l'état du joystick.
A noter que le joystick du fauteuil est en réalité une souris, c'est-à-dire qu'à chaque fois qu'on bouge la souris on reprend la position là où on l'avait laché, on est en position relative qui s'incrémente à chaque fois qu'on la bouge. Le code n'est pas optimisé pour l'utilisation avec le joystick du fauteuil, mais pour le joystick proportionnel sensible qui lui a une position neutre et fonctionne avec des positions absolues.
Problème: comment avoir un neutre sur une souris en respectant les contraintes de temps (latence) dans un jeu ? On ne peut avoir l'information que la souris est en position neutre à part observer qu'elle n'envoie pas d'information sur un temps donné.
Méthode pour valider le fonctionnement de l'ensemble
1-Vérifier que le montage Teensy+Host USB est reconnu en tant que joystick par l'ordinateur
- Connecter uniquement la teensy avec le host USB à l'ordinateur
- Ouvrir le sketch LC_JPS-to-Joy_XAC-PC_TEST.ino
- Dans l'IDE Arduino, choisir dans Outil>USB Type : Joystick +Serial (vous devez voir cette option sinon c'est que les librairies sont mal ou pas installées)
- Téléverser le sketch sur la Teensy.
- Ouvrir les périphériques contrôleur de jeu (sur Windows, taper contrôleur dans la barre de recherche et ouvrir les propriétés de Keyboard/Mouse/Joystick pour visualiser les mouvements du joystick)
- Vous devriez voir le joystick bouger
2-Vérifier la communication entre la XAC et l'ordinateur
- Connecter la XAC à l'ordinateur (le pilote s'installe à la connection)
- On garde les propriétés du contrôleur de jeu ouvert
- On doit voir le dispositif xbox reconnu, avec le périphérique qui s'actualise dans la fenêtre des propriétés du controleur. Evidemment ici on ne voit pas le joystick bouger puisque la teensy n'est pas connectée
(Il faut télécharger l'interface de la xbox pour ordi pour pouvoir prendre le contrôle/remapper/etc... (ou on peut le faire sur la xbox)
3-Vérifier que le joystick simulé par la teensy est reconnu quand connecté à la XAC
- connecter le proto host usb/teensy sur la xac toujours avec le même programme de test dessus (LC_JPS-to-Joy_XAC-PC_TEST.ino )
- vérifier dans les propriétés du contrôleur de jeu que le joystick bouge
4-Test avec le joystick du fauteuil
- Teléverser le sketch LC_BTHID_Mouse-to-Joy_XAC-PC.ino sur la teensy
- Connecter directement la teensy+host sur le pc
- Vérifier dans les propriétés du contrôleur que le joystick du fauteuil envoie en bluetooth les informations de déplacement
5-Vérifier que la XAC est reconnue
- Déconnecter la teensy du pc
- Connecter la xac sur le pc
- Vérifier dans le contrôleur de jeu que la xbox one (xac) est bien reconnue (le contrôleur doit actualiser le nom du périphérique reconnu)
- connecter ensuite la teensy+host usb sur la xac. Vous devriez visualiser les mouvements du joycstick du fauteuil.
6-[OPTIONNEL] Test avec l'application Accessoire xbox
- Télécharger l'application. Cette application est uniquement valable pour Windows 10. Elle permet de visualiser la XAC et de la paramétrer. https://www.microsoft.com/fr-fr/p/accessoires-xbox/9nblggh30xj3?activetab=pivot:regionofsystemrequirementstab
- Démarrer l'application
Aller sur "configurer">Editer en cliquant sur l'icône crayon>Stick analogique gauche Vous devriez visualiser le joystick bouger.
La sensibilité du joystick se règle directement sur la xac. Il est préférable de laisser toute la configuration du mapping se faire dans l'interface la XAC et de ne pas introduire cette notion dans le code.
7-tester le dispositif sur la XBOX
- Déconnecter la XAC du PC
- Connecter la XAC +teensy host USB sur la XBOX