Gamoover

[move]Le staff Gamoover vous souhaite la bienvenue ;)

[Beta] - BackForceFeeder : feeder vJoy FFB pour racecabs

Démarré par njz3, Mardi 17 Mars 2020, 19:02:44 PM

marcus600


njz3

#193
Citation de: delo le Mercredi 13 Mai 2020, 22:33:22 PM
en effet très bonne remarque  :D ...si tu peux faire ça  :-*
J'ai déjà essayé d'allumer les voyants d'origine par un Arduino (sortie digital en faisant un rapide code juste pour clignoter) et ça passe donc j'imagine avec l'ULN2003A il y aura pas souci.
J'ai ajouté un mode "lights only" dans la 0.4.1, ainsi que quelques sorties lampes supplémentaires pour Outrun et Outrunners (US).

delo

Citation de: njz3 le Mardi 19 Mai 2020, 12:48:09 PM
J'ai ajouté un mode "light only" dans la 0.4.1, ainsi que quelques sorties lampes supplémentaires pour Outrun et Outrunners (US).

^-

J'ai le mega sous la main. Quelqu'un a-t-il un stock de ULN2003A ? Sur le lien d'alliexpres....livraison fin juillet  :'( :'( finalement dans le mot aliexpress y'a que le nom d'express  :D :D


@njz3 faut que je relise bien ton topic en 1ère page car j'ai pas forcément tout compris la config à faire... :? :? ça se config avec Outputblaster ?

njz3

#195
J'ai commandé des ULN début avril, mais pareil la livraison est pas prête d'arriver.
Du coup, j'ai mis une carte 8xrelais dans la scud race et ca marche aussi en attendant (juste un peu bruyant).

Pour la config, déjà il ne faudra pas installer vJoy dans ton cas. Ensuite, il te faut cocher la case lights mode only dans la page "App and hardware":


Puis tu dois faire la configuration du mappage des sorties dans la page "Configure Outputs" (en gros mapper les sorties des jeux vers les sorties du mega). Le plus simple est de faire "Reset", ca mappe automatiquement 1->1, 2->2, ...
De base, les jeux model 2/3 et MAME sont gérés, mais il faut installer OutputBlaster si tu veux les jeux teknoparrot (pour l'instant je n'ai pas beaucoup de jeux supportés car je ne peux pas tout tester).
Les signaux (variables) détectés sont remontés dans le log quand on bascule ce dernier en mode Debug. Si tu me donnes les noms qui apparaissent, je peux les ajouter au fur et à mesure dans mon soft.

delo

@njz3

Merci de ton retour et de tes explications  ^-
Dans un premier temps je vais donc implémenter le mega et regarder ce que ça donne en sortie.
Je te ferai un retour en fonction des jeux, en particulier teknoparrot. Pour ce dernier je fais tourner :
- Sega Rally 3
- Daytona 3
- Grid
- GTI Club Minifiesta

zebassprophet

Hello jai recu Les miens. J'en avais pris deux avec le moteur parce que pas trouvé les autres.

Si ça peux dépanner, je peux envoyer un, faudra juste m'en recommander un derrière.

Je ferais pas  les deux bornes d'un coup

BigPanik

Pour Daytona 3, on doit pouvoir récupérer l'octet commande car c'est la même carte que Daytona 1.

delo

Citation de: BigPanik le Mardi 19 Mai 2020, 17:07:04 PM
Pour Daytona 3, on doit pouvoir récupérer l'octet commande car c'est la même carte que Daytona 1.

J'avais rapidement vu sous Teknoparrot que certains jeux possédant une "option" output....

@njz3 : sur ton schéma tu as câblé les lampes sur pin A.. Ce ne sont pas des entrées à la base ? tu les reconfigures dans ton sketch Arduino ?
Quelles sont les types de signaux en sortie du coup ? Car pas forcément besoin de l'ULN derrière pour faire des rapides tests avec une petite LED par exemple...

njz3

L'option "Output" de Teknoparrot permet de charger la DLL OutputBlaster. Il faut l'avoir copié dans le répertoire du binaire du jeu.
J'ai essayé sous Daytona USA Championship et cela fonctionne pour les lampes.

@BigPanik: etais-tu sûre qu'on parle du même Daytona 3 ? Pour moi le Daytona USA Championship (Daytona 3 ?) utilise un moteur DC Happ (voir le schéma ici. Tu veux peut être parler de Sega Racing Classic, qui a la même driveboard que Daytona 1 (c'est le même jeu).

@delo: j'ai repris le schéma du M2Pac qui utilisait les A8-A14 comme sorties. C'est effectivement configuré par le script Arduino en sortie digitale (tout ou rien), et je ne sais pas combien tu peux tirer de jus dessus (peut être qlq mA, suffisament pour alimenter une led mais pas une ampoule à incandescence pour les voyants).

delo

Citation de: njz3 le Mercredi 20 Mai 2020, 13:16:01 PM
@delo: j'ai repris le schéma du M2Pac qui utilisait les A8-A14 comme sorties. C'est effectivement configuré par le script Arduino en sortie digitale (tout ou rien), et je ne sais pas combien tu peux tirer de jus dessus (peut être qlq mA, suffisament pour alimenter une led mais pas une ampoule à incandescence pour les voyants).

Super, je vais donc tester dans un premier temps avec des petites LED pour valider  ^-

Autre question : je n'ai que quelques notions je ne suis pas un pro en codage arduino ... :? mais serait-ce envisageable de faire un mode défaut pour l'allumage des voyants  =?= Je m'explique : par exemple quand il n'y pas pas de jeux (en navigation sous hyperspin par exemple) ou si un jeu n'est pas géré, serait-il possible de faire allumer les voyants en mode aléatoire par exemple (ou clignotant à tour de rôle) ? cela permettrait d'avoir un peu d'animation de la borne  ;D

njz3

Je vois, tu veux te faire une guirlande de luxe !
Il faut que je réfléchisse, car je n'ai pas forcément l'info si un jeu gère des infos de lampe ou non.

delo

Citation de: njz3 le Mercredi 20 Mai 2020, 23:54:37 PM
Je vois, tu veux te faire une guirlande de luxe !

Soyons honnêtes...on a tous choisi d'avoir des bornes à la maison pour le coté bling bling  ;D ;D alors autant le jouer à fond  =:)) =:))

Après, je soulevais la question, si c'est trop galère c'est pas grave  :) Peut-être suffirait-il dans le code de vérifier si un flux de données arrive, si ce n'est pas le cas, ça passe par un mode "défaut"  =?=

njz3

Le soucis c'est que l'arduino est en permanence en communication avec le soft PC. En fait ce que tu demandes est plus compliqué qu'il n'y parait.

Les sorties lampes c'est un octet que je lis en mémoire ou des variables dont le nom est enregistré dans une liste que j'ai dans le code et qui correspond à un bit ou un octet. J'ai une liste de chaque jeu supporté avec l'adresse ou le nom des variables à lire pour les jeux que j'ai enregistré dans mon code. Certains jeux ont 1 ou 2 bits pour les lampes, mais d'autres sorties pour piloter un relais, le volant, etc, ... En général je n'ai mis que les variables des lampes car y'a déjà une belle liste de noms. Ensuite dans le soft chacun doit mapper à la main les bits vers des sorties de l'Arduino mega comme il le veut en fonction du control set choisi.

Ce que je peux faire c'est au niveau du mappage de proposer que la source d'une sortie pin de l'Arduino soit relié à un générateur de séquence de bit qui correspond à un effet de guirlande : chenillard, K2000, aléatoire.
Bon y'a quand même pas mal de boulot, alors ce ne sera pas en haut de mes priorités !

Pour info : j'ai mis à jour le soft en v0.4.2 avec support de la driveboard SR2 (EPR-20512).
Cette EPROM propose 128 niveaux de pas de couples (64 dans chaque sens). Par rapport à la Scud Race (16 niveaux de pas dans chaque sens), cela n'a rien à voir au niveau ressentie. Ca marche super bien avec mon soft !


delo

#205
Te casses pas la tête si c'est chiant en effet  :o
A voir si d'autres sont aussi intéressé ou s'il n'y a que moi qui pense à cette option  :D :D

Super job pour la prise en compte de la drive board SR2, j'ai encore gardé les miennes je pourrai donc tester à l'occasion  ^-

Bon, par contre je viens donc d'installer tout ça (pour faire fonctionner les lampes)... et je n'y parviens pas pour l'instant  :?

Alors, voilà dans l'ordre ce que j'ai fait :
- flashé le mega avec FeederIOBoard : à priori ok
- j'ouvre vJoyIOFeederGUI et dans App and Hardware j'ai bien coché "Lights mode only"
- dans configure output j'ai fait un reset all
- je ferme le tout et je rouvre, j'ai bien indiqué "running"

pour tester j'ai connecté des LED à la sortie A8, A10, etc... (j'ai pris pour hypothèse que le sens d'allumage des LED se fait à l'état haut de la sortie)

Je lance M2 emulator, Daytona par exemple, je n'obtient rien  :'(
Pour info, de temps à autres, les LED clignotent toute seule (sans jeu de lancé)

Je ne sais pas si ça peut renseigner, mais j'ai également lancé vJoyIOFeeder et j'ai ça d'indiqué :



le mega est connecté au port 4

Si une piste, je prends  ^-

Edit : je me rends compte que c'est également indiqué cette erreur dans le log


njz3

Tu as un problème de communication avec le port série du Mega. Vérifie que tu es à 1000000 en vitesse sur mon appli, et fait un commit&restart au cas où.
Des fois c'est juste le cable ou le connecteur USB qui est branlant.
Pour tester, Daytona c'est pas le plus simple. Il faut utiliser la version Saturn Ads et installer le lua. Vérifie bien que tu as suivi les étapes ici.

Comme l'a suggéré zebass, je vais mettre ceci dans le premier post.


delo

ok, je vais tester avec daytona 2 sur supermodel dans un premier temps alors  :)

par contre, j'ai absolument rien compris avec cette histoire de "control sets"... :-\  ça sent l'usine à gaz  :?
je taquine  :D