Bienvenu(e)! Identification Créer un nouveau profil

Recherche avancée

Gamepad 24 boutons 18f2550

Envoyé par marvinl 
Gamepad 24 boutons 18f2550
mercredi 9 novembre 2011 19:35:36
Bonjour à tous,

Je suis nouveau ici donc une petite présentation s'impose :-).

Homme de 32 ans passionné par les µc depuis quelques années (Merci M.Bigonoff) et également de flight simulator.
j'aimerais réaliser un panel composés de plusieurs boutons afin de commander mon simulateur.

Je sais qu'il existe une discussion équivalente mais je n'y pas trouvé une solution à mon problème.
Mon soucis est le suivant, je souhaite réaliser un gamepad 24 boutons.

Je suis partis de l'exemple fourni par microchip et modifier le fichier HID descriptors afin de ne plus avoir que des boutons.

ROM struct{BYTE report[HID_RPT01_SIZE];}hid_rpt01={{
  0x05,0x01,        //USAGE_PAGE (Generic Desktop)
  0x09,0x05,        //USAGE (Game Pad)
  0xA1,0x01,        //COLLECTION (Application)
  0x15,0x00,        //  LOGICAL_MINIMUM(0)
  0x25,0x01,        //  LOGICAL_MAXIMUM(1)
  0x35,0x00,        //  PHYSICAL_MINIMUM(0)
  0x45,0x01,        //  PHYSICAL_MAXIMUM(1)
  0X65,0X00,    	//  UNIT NONE
  0x75,0x01,        //  REPORT_SIZE(1)
  0x95,0x18,        //  REPORT_COUNT(24)
  0x05,0x09,        //  USAGE_PAGE(Button)
  0x19,0x01,        //  USAGE_MINIMUM(Button 1)
  0x29,0x18,        //  USAGE_MAXIMUM(Button 24)
  0x81,0x02,        //  INPUT(Data,Var,Abs)
  
  0xC0              //END_COLLECTION
}

J'ai bien 24 bits dans 3 bytes.
Jai également modifier le fichier main:
typedef union _INTPUT_CONTROLS_TYPEDEF
{
    struct
    {
        struct
        {
            BYTE square:1;
            BYTE x:1;
            BYTE o:1;
            BYTE triangle:1;
            BYTE L1:1;
            BYTE R1:1;
            BYTE L2:1;
            BYTE R2:1;//
            BYTE select:1;
            BYTE start:1;
            BYTE left_stick:1;
            BYTE right_stick:1;
            BYTE home:1;
            BYTE :3;    //filler
			BYTE :8;    //filler
        } buttons;
        
    } members;
    BYTE val[3];

} INPUT_CONTROLS;

Je pensais qu'avec cela ça fonctionnerait mais non...;-)
Je suis un peu perdu et un peu d'aide serait la bienvenue.
Merci à vous.

Re: Gamepad 24 boutons 18f2550
vendredi 11 novembre 2011 13:30:06
Salut,

Qu'est ce qui ne marche pas?

Dans les outils de windows, vois-tu un game pad avec 24 boutons?

Peux tu poster une archive avec ton code tout pret à être compilé?

A+

Benjamin

.: [www.roboticus.org] :. Control your own world !
Re: Gamepad 24 boutons 18f2550
vendredi 11 novembre 2011 21:41:57
Bonsoir,
Je vous remercie de votre aide mais entre-temps le problème est résolu.
Il fallait que je modifie un paramètres dans le fichier USB_CONFIG.H.

Cordialement,
Michael
Seuls les utilisateurs enregistrés peuvent poster des messages dans ce forum.

Cliquez ici pour vous connecter