PIC 18F2550 et programmation d'un joystick USB

Voir le sujet précédent Voir le sujet suivant Aller en bas

PIC 18F2550 et programmation d'un joystick USB

Message  Iro le Ven 16 Jan 2015, 10:46

Hello,
J'ai trouvé sur le net, le montage d'un pad USB open source.
http://cytron.com.my/p-pr26

J'ai redessiné la carte du montage pour en faire une interface joystick pour mame.
Jusque là, tout va bien Very Happy

Seulement sur ce montage, les outputs ont un comportement bizarre. Elles sont en autofire.
Le comportement normal d'un joystick est lorsqu'on laisse appuyé le bouton, le 1er coups sort et c'est tout.
Là, il est répété.

Alors j'en appelle aux compétence des programmateurs de PICs pour me filer un coups de main Very Happy
Comment faire pour fixer cela ? Peut être que le code peut aussi optimisé ?
Voici le schéma et le source.
Sources Krayt-Pad

Le source est modifié pour correspondre à ma version du montage mais les originaux sont dispos sur le 1er lien en début de topic.

Merci pour votre aide Smile

_________________
"on ne fait pas la police de l'arcade, vu que personne ne tient compte de ce qu'on dit." R.Sonnable
avatar
Iro
Soldat
Soldat

Messages : 1737
Date d'inscription : 26/09/2012
Localisation : Chilly Mazarin (91)

Revenir en haut Aller en bas

Re: PIC 18F2550 et programmation d'un joystick USB

Message  neocps1 le Ven 16 Jan 2015, 19:00

sauf erreur de ma part, le fonctionnement derrière l'appui sur un bouton dépend de la logique du jeu.
C'est lui qui choisi de répéter le tir à l'infini ou alors de ne tirer qu'une seule fois.

Après, tu as peut-être un signal carré sur les sorties correspondant aux boutons, ce qui expliquerait
l'autofire, mais il faudrait le vérifier avec un oscillo

_________________

avatar
neocps1
Modérateur
Modérateur

Messages : 4760
Date d'inscription : 17/05/2012
Age : 39
Localisation : Chateaudun

Revenir en haut Aller en bas

Re: PIC 18F2550 et programmation d'un joystick USB

Message  Iro le Sam 17 Jan 2015, 11:18

Cette logique, je pensais que le pad USB le faisait automatiquement. Limite c'était en natif.
Mais en fait , il faut le coder. c'est un fonctionnement normal pour des contrôles ?
Notez que je découvre, mes questions sont surements naïves Very Happy
Sur une PCB, sur chaque cycle , suivant le cycle précédent, elle active l'action ou non , c'est çà ?
Donc , c'est une méthode qu'il ne faut pas appliquer sur Haut,Bas,Gauche,Droite sinon on ne bougerait pas en laissant une direction appuyée ?

Smile

_________________
"on ne fait pas la police de l'arcade, vu que personne ne tient compte de ce qu'on dit." R.Sonnable
avatar
Iro
Soldat
Soldat

Messages : 1737
Date d'inscription : 26/09/2012
Localisation : Chilly Mazarin (91)

Revenir en haut Aller en bas

Re: PIC 18F2550 et programmation d'un joystick USB

Message  Iro le Ven 20 Fév 2015, 21:05

Bon, à force de creuser , on trouve (je suis dans ma période minecraft Very Happy)

C'était bien un anti-rebond qu'il fallait appliquer. Et à force de lire des sources et des explications, j'ai trouvé la fonction. Qui d'ailleurs revenaient régulièrement.

C'est un délai (en milliseconde) qu'il faut appliquer avant chaque lecture des inputs, dans la boucle principale
Code:

 while(1)
    {
          ........
          ........
          ........
          DelayMs(50) ;
          LectureInput(); 
          ........
          ........
    }

J'ai essayè avec 50ms car c’était la valeur qui revenait. Cela a l'air de fonctionner plutôt bien en règle générale mais j'ai l'impression que c'est un peu poussif avec les appuis répétitif comme l'Electric Thunder de Blanka par exemple. Je vais réduire le délais et voir si il sort plus facilement.

Le header et le C sont dispo ici pour ceux que cela intéresse

<Smile

_________________
"on ne fait pas la police de l'arcade, vu que personne ne tient compte de ce qu'on dit." R.Sonnable
avatar
Iro
Soldat
Soldat

Messages : 1737
Date d'inscription : 26/09/2012
Localisation : Chilly Mazarin (91)

Revenir en haut Aller en bas

Re: PIC 18F2550 et programmation d'un joystick USB

Message  Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Voir le sujet précédent Voir le sujet suivant Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum