Bonjour àvous (IMG:
style_emoticons/default/happy3.gif)
Attention, je vais raconter ma vie, ca risque d’être un peu long (IMG:
style_emoticons/default/langue.gif)
Cela fait un petit moment que je scrute le coin pour avoir des info sur ces volant direct drive dont tout le monde parle, et malheureusement pour mon banquier, j'ai fini par craquer (IMG:
style_emoticons/default/langue.gif)
J'ai donc maintenant une base qui fonctionne, toute belle, mais qui attend désespéramment un volant avec qui s'accoupler.
Conduisant en majorité des GT3, ou indycar, il me faut donc au moins des palettes et quelques boutons.
En regardant un peu partout, j'ai vite vu que globalement, les prix pour ce genre de volant grimpe assez vite (IMG:
style_emoticons/default/hum.gif)
Apparemment, le moins chère et le plus polyvalent, est l'Universal Hub de fanatec, qui dispose d'a peu près tout ce que je cherche, et qui, en plus, permet de monter dessus n'importe quelle volant du marché.
J'ai meme croisé un topic sur le fofo iracing pour le convertir en version bluetooth (avec un bluefruit EZkey d'adafruit).
Toujours chez Fanatec, il est aussi possible d'avoir un volant BMW, ou Formula pour pas trop chère, et qui peut s'adapter, via un kit de Bodnar, en USB.
Le truc, c'est que le kit Bodnar coûte pas loin de 80€ avec les frais de port, et ca fait un peu mal pour un circuit aussi simple, d'apparence du moins.
Après il y a aussi le full DIY comme j'en ai vu ici, mais je suis beaucoup moins équipé que certains d'entre vous pour pouvoir prendre cette direction (IMG:
style_emoticons/default/happy4.gif)
Bref, au final, je suis tombé sur le volant Porsche 918 de Fanatec en reconditionné, pour le prix du BMW, et j'ai pas pu le laisser filer (IMG:
style_emoticons/default/lol4.gif)
Par contre, pour le kit Bodnar, ca me fait un peu mal de payer ce prix sans chercher de solution alternatives.
Mais tout ne fut pas perdu quand j'ai découvert que certains d'entre vous c’était déjàpenché sur la question, et avait plus ou moins réussi àfaire des choses avec le PCB Fanatec. J'ai donc tenter ma chance àmon tour (IMG:
style_emoticons/default/happy4.gif)
En grattant un peu des info àdroite àgauche et en regardant le pcb de plus près, j'ai constater que la communication avec la base Fanatec se faisait par bus SPI.
D'ailleurs, j'ai meme fait un pinout du connecteur Fanatec (celui qui est dans le quick release), ca nous servira pour plus tard:
(IMG:http://i.imgur.com/yLSG0Jsl.jpg)
1. MISO
2. MOSI
3. GND
4. 5v
5. GND
6. SCK
7. 3v3
8. CS
Pour les autres pin, elles ne sont pas utilisés sur mon volant. Apparemment, elles le sont sur le Uni Hub, surement pour le data port (qui sert a rien pour l'instant).
Donc techniquement, en alimentant le pcb (avec du 3v3) et en écoutant sur le bus, on devrait recevoir des trucs marrant, dont l’état des boutons.
Histoire d'aller vite, j'ai brancher un raspi dessus (je code beaucoup plus rapidement en python qu'en C) et, comme attendu, je reçois effectivement des trucs (IMG:
style_emoticons/default/lol2.gif)
Petit screen de la capture, avec en bonus du python dedans:
(IMG:http://i.imgur.com/eGEwyerl.png)
A partir de la, si on appuie sur un bouton, on détecte tout de suite un changement dans la trame. Donc pour les boutons, c'est réglé!
Mais tant qu'on y est, ca serait pas trop mal d'avoir l'afficheur et les leds aussi qui fonctionne, non?
Sauf que ca se corse un peu, parcque je sais pas trop ce qu'il attend le volant comme info pour contrôler ca...
Donc premiere méthode, le brute force (IMG:
style_emoticons/default/lol2.gif) J'envoie des milliers de trame random jusqu’àce que j'observe un changement.
Bon, je vous cache pas que ce ne fut pas un grand succès.
Mais en regardant de plus pres les trames que je recevais, j'ai remarquer qu'il yavait un protocole bien particulier mis en place (un en-tete, des data, et un checksum) et donc, il semblerait logique que ce meme protocole soit utilisé dans l'autre sens.
Et effectivement, c’était bien ca! J'arrive maintenant àcontrôler l'afficheur, les leds, mais aussi les moteurs de vibration en bonus!
(IMG:http://i.imgur.com/Xy58LQul.jpg)
Bon maintenant que j'ai un truc un peu fonctionnel, plus qu'a mettre tout ca sur un Teensy et de créer un périphérique HID qui va bien.
Pour les boutons, aucun problème avec le HID, windows le détecte directement, sans drivers, du vrai plug and play quoi.
Par contre, pour l'afficheur, leds et tout, c'est plus compliqué. Il faudrait coder un soft qui contrôle tout ca avec les info du jeu (des jeux meme).
Je suis un peu flemmard et j'ai vraiment pas envie de m'amuser a coder ca pour tout les jeux, surtout que d'autre le font déjàavec Fanaleds par exemple, et je me sens pas spécialement capable de coder un truc aussi évoluer.
Mais du coup, pourquoi pas juste faire en sorte que Fanaleds parle directement àmon Teensy et fasse tout le boulot pour moi? Ca c'est déjàplus dans mes cordes!
Et après une petite nuit blanche, hop, c'est fait!
Donc voila, un beau kit de conversion pour volant CSW qui tourne sur un Teensy LC à15€ (IMG:
style_emoticons/default/lol2.gif)
Je vous met la le pinout pour connecté le Teensy, au cas où:
(IMG:http://i.imgur.com/5yfoka2l.png)
A la base, j'avais fait un topic sur le forum d'iRacing, mais tout le monde n'y a pas forcement accès, et je me suis dit que ca pourrait peut être aussi vous intéressé (IMG:
style_emoticons/default/happy3.gif)
Ca marche aussi avec un Teensy 3.1 d'ailleurs, c'est avec ça que j'avais commencer au depart. Mais il s’avère que le LC fait le job tout aussi bien, et pour moins chère.
Le truc cool aussi, c'est que contrairement au Bodnar, vous avez pas spécialement besoin de charcuter votre PCB fanatec pour le monter (j'entend par la, dessouder le connecteur, pour ressouder le kit par dessus). Je trouve pas ca terrible. et faut pas non plus avoir 2 mains gauche sous peine de ruiner le volant a 300€.
Alors que la, vous pouvez directement souder un connecteur JST sur le teensy, et le plugger en remplacement du quick release d'origine. (Plug and play je vous dis (IMG:
style_emoticons/default/langue.gif) )
Et techniquement, ca devrait aussi marcher avec le Uni Hub. Mais comme j'en ai pas sous la main, j'ai pas pu vérifier. Mais je doute que Fanatec ai changé totalement son protocole de communication juste pour lui. Par contre, c'est possible qu'il y ai 2 ou 3 truc àrevoir pour que ca fonctionne correctement.
Ah oui, et j'ai crée un depot sur github sur lequel je mettrais le code en open source dans pas trop longtemps (quand j'aurais un truc presentable).
Ya surement des personnes plus caler que moi en C qui seront améliorer le code (IMG:
style_emoticons/default/lol4.gif)
Bon... Voila...
Sauf que, j'ai un cable usb qui traîne autour de mon volant, et ca me perturbe, j'aime pas ca (IMG:
style_emoticons/default/happy4.gif)
Donc vu que je suis lancé, autant pas s’arrêter la, et faire un truc sans fil !
La difficulté, c'est que si je veux garder la compatibilité avec Fanaleds, et ne pas avoir besoin de pilotes spécifiques, il faut que cela reste un périphérique HID.
A ma connaissance, la seule techno sans fil permettant une transparence àce niveau est le Bluetooth. Mais le hic, c'est que la majorité des modules bluetooth utilisent des profils HID préconçu, comme un clavier/souris ou encore un gamepad avec un nombre limité de boutons.
Heureusement, j'ai trouver la perle rare, le Bluegiga WT12, qui permet d'injecter son propre descripteur HID! Et la, c'est juste magique, on peut faire tout ce que l'on veut.
Le périphérique est vu par windows comme un simple periph HID USB, mais sans l'USB (IMG:
style_emoticons/default/happy4.gif)
Donc hop, accouplement du Teensy avec le WT12:
(IMG:http://i.imgur.com/ycEwat3l.jpg)
Et quelques lignes de code plus tard, la version sans fil est née (IMG:
style_emoticons/default/happy3.gif)
On rajoute àca un chargeur et une batterie, et on intègre tout ca dans le volant.
(IMG:http://i.imgur.com/B9p7Ddfl.jpg)
Une petite video avec mon super anglais de la campagne (vous avez le droit de vous moquer)
Par contre, je vous conseil de la voir directement sur youtube en hd si vous voulez voir ce qu'il se passe àl’écran.
Je vous met la shopping list pour la version finale
Teensy LCBluegiga WT12PowerBoost 500 Chargerun petit switchBatterie LiPoly une 1000 mAh c'est pas mal
Et un petit diagramme qui va bien avec tout ce bordel (attention, ya du coup 2 ou 3 fils de plus que le montage precedent (IMG:
style_emoticons/default/happy4.gif) )
(IMG:http://i.imgur.com/k28ymJzl.jpg)
Bon par contre, il me manque le quick release pour connecter le volant au moteur MiGe, donc j'ai pas vraiment pu tester "en vrai". C'est donc toujours en beta test, mais ca semble pas trop mal pour l'instant (IMG:
style_emoticons/default/happy3.gif)
J'ai aussi pu tester qu'avec le volant Porsche 918, mais je pense pas qu'il y ai une difference au niveau du pcb pour le BMW et le Formula. Par contre, le Uni Hub est different, donc c'est fort probable que ca ne fonctionne pas du premier coup. Mais je compte bien y remédier (IMG:
style_emoticons/default/happy4.gif)
Donc si vous avez un Teensy qui traîne, et un volant ou Uni Hub Fanatec, dites moi si vous êtes près àtester.
Désolé pour le pavé, César (IMG:
style_emoticons/default/happy3.gif)
__________
edit modérateur au 30 / 8 /2016
Pour info, il y a un pb de lag avec uniquement RF2 et uniquement lors du changement de vitesse (IMG:
style_emoticons/default/lol4.gif)
Citation (MrJack @ 27-08-2016, 19:23)

J'ai retesté et j'ai toujours un lag quand je change de vitesse . J'ai ce lag uniquement quand les leds sont allumées , si je change de vitesse alors qu'aucune leds 'est allumée, pas de lags .
C'est le seul jeu ou ça fait ça , donc sans doute un soucis de compatibilité .
Ce message a été modifié par RacingMat - 30-08-2016, 20:32.