Problème de descripteurs HID
Répondre à la discussion
Affichage des résultats 1 à 2 sur 2

Problème de descripteurs HID



  1. #1
    inoxxam

    Problème de descripteurs HID


    ------

    Bonjour à tous,
    je suis entrain de m'amuser avec un PIC et le HID avec l'IDE MikroC, le tout en simulant avec Proteus ISIS.
    J'ai le problème suivant qui est que lorsque je fais tourner mon PIC, tout se passe bien jusqu'à ce que l'analyseur USB de Proteus m'annonce "ABORT_PIPE" et là plus rien ne bouge... Je suis persuadé que le problème vient de mes descripteurs que j'ai fait avec le HID Descriptor Tool car lorsque je prends le HID de joystick fourni en exemple dans mon code, celà fonctionne. Voici mes desripteurs:
    0x05, 0,
    0x01, 0, // USAGE_PAGE (Generic Desktop)
    0x15, 0,
    0x00, 0, // LOGICAL_MINIMUM (0)
    0x09, 0,
    0x04, 0, // USAGE (Joystick)
    0xa1, 0,
    0x01, 0, // COLLECTION (Application)
    0x05, 0,
    0x02, 0, // USAGE_PAGE (Simulation Controls)
    0x09, 0,
    0xbb, 0, // USAGE (Throttle)
    0x15, 0,
    0x81, 0, // LOGICAL_MINIMUM (-127)
    0x25, 0,
    0x7f, 0, // LOGICAL_MAXIMUM (127)
    0x75, 0,
    0x08, 0, // REPORT_SIZE (8)
    0x95, 0,
    0x01, 0, // REPORT_COUNT (1)
    0x81, 0,
    0x02, 0, // INPUT (Data,Var,Abs)
    0xc0, 0 // END_COLLECTION

    (Pour ceux qui ne le sauraient pas, ne faites pas attention au 0, à chaque fois, c'est MikroC qui exige cela... Allez savoir pouquoi!)

    Alors avis aux experts de l'USB!

    Merci d'avance et à bientôt!

    -----

  2. #2
    inoxxam

    Re : Problème de descripteurs HID

    Bon alors pour le problème précédent, la faute venait de moi, je m'étais trompé dans une variable (j'avais mis 23 ,au lieu de 33, ce qui est évidemment différent)...
    J'ai un autre problème maintenant, mon accélérateur, au lieu de varier de 0 à 255 (en gros sur une plage de 8 bits), je voudrais qu'il varie de 0 à 4095 (sur une plage de 12 bits donc). J'ai alors modifié mes descripteurs en conséquence:

    0x05, 0, 0x01, 0, // USAGE_PAGE (Generic Desktop)
    0x15, 0, 0x00, 0, // LOGICAL_MINIMUM (0)
    0x09, 0, 0x04, 0, // USAGE (Joystick)
    0xa1, 0, 0x01, 0, // COLLECTION (Application)
    0x05, 0, 0x02, 0, // USAGE_PAGE (Simulation Controls)
    0x09, 0, 0xbb, 0, // USAGE (Throttle)
    0x15, 0, 0x00, 0, // LOGICAL_MINIMUM (0)
    0x26, 0, 0xff, 0, 0x0f, 0, // LOGICAL_MAXIMUM (4095)
    0x75, 0, 0x08, 0, // REPORT_SIZE (8)
    0x95, 0, 0x01, 0, // REPORT_COUNT (1)
    0x81, 0, 0x02, 0, // INPUT (Data,Var,Abs)
    0x95, 0, 0x04, 0, // REPORT_COUNT (4)
    0x81, 0, 0x03, 0, // INPUT (Cnst,Var,Abs)
    0xc0, 0 // END_COLLECTION

    Mais du coup le périphérique n'apparait plus dans les contrôleurs de jeu dans le panneau de configuration de Windows, ni dans le gestionnaire de périphériques.

    Les experts?

    Merci d'avance et à bientôt!

Discussions similaires

  1. Probleme Bootloader HID et USB
    Par invite7b360637 dans le forum Électronique
    Réponses: 6
    Dernier message: 21/08/2009, 21h45
  2. Probleme avec Bootloader HID PIC18F2450
    Par invite12e976f4 dans le forum Électronique
    Réponses: 5
    Dernier message: 04/12/2008, 10h49
  3. hid.dll
    Par EmKa69 dans le forum Électronique
    Réponses: 11
    Dernier message: 21/11/2008, 11h49
  4. HID communication avec un pc
    Par inviteca539e75 dans le forum Électronique
    Réponses: 2
    Dernier message: 04/07/2007, 22h23
  5. Phare sous marin HID problème relais
    Par toras dans le forum Électronique
    Réponses: 1
    Dernier message: 06/04/2007, 08h07
Découvrez nos comparatifs produits sur l'informatique et les technologies.