USB InputReport Problem



  • Hallo zusammen,

    ich hab da ein Problem und zwar würde ich gerne auf meinem MCB2140 Board von keil meine InputReport Site von 4 auf 64 Byte erhöhen (hitex/keil usb software). Ich weiss, dass ich Glück haben muss, wenn jemand mir diese Frage hier beantworten kann. Aber versuchen wollt ichs trotzdem 🙂

    const BYTE USB_ConfigDescriptor[]  __attribute__ ((__aligned__ (4))) = {
    /* Configuration 1 */
      USB_CONFIGURATION_DESC_SIZE,       /* bLength */
      USB_CONFIGURATION_DESCRIPTOR_TYPE, /* bDescriptorType */
      WBVAL(                             /* wTotalLength */
        USB_CONFIGURATION_DESC_SIZE +
        USB_INTERFACE_DESC_SIZE     +
        HID_DESC_SIZE               +
        USB_ENDPOINT_DESC_SIZE
      ),
      0x01,                              /* bNumInterfaces */
      0x01,                              /* bConfigurationValue */
      0x00,                              /* iConfiguration */
      USB_CONFIG_BUS_POWERED |           /* bmAttributes */
      USB_CONFIG_REMOTE_WAKEUP,
      USB_CONFIG_POWER_MA(100),          /* bMaxPower */
    /* Interface 0, Alternate Setting 0, HID Class */
      USB_INTERFACE_DESC_SIZE,           /* bLength */
      USB_INTERFACE_DESCRIPTOR_TYPE,     /* bDescriptorType */
      0x00,                              /* bInterfaceNumber */
      0x00,                              /* bAlternateSetting */
      0x01,                              /* bNumEndpoints */
      USB_DEVICE_CLASS_HUMAN_INTERFACE,  /* bInterfaceClass */
      HID_SUBCLASS_NONE,                 /* bInterfaceSubClass */
      HID_PROTOCOL_NONE,                 /* bInterfaceProtocol */
      0x64,                              /* iInterface */
    /* HID Class Descriptor */
    /* HID_DESC_OFFSET = 0x0012 */
      HID_DESC_SIZE,                     /* bLength */
      HID_HID_DESCRIPTOR_TYPE,           /* bDescriptorType */
      WBVAL(0x0100), /* 1.00 */          /* bcdHID */
      0x00,                              /* bCountryCode */
      0x01,                              /* bNumDescriptors */
      HID_REPORT_DESCRIPTOR_TYPE,        /* bDescriptorType */
      WBVAL(HID_REPORT_DESC_SIZE),       /* wDescriptorLength */
    /* Endpoint, HID Interrupt In */
      USB_ENDPOINT_DESC_SIZE,            /* bLength */
      USB_ENDPOINT_DESCRIPTOR_TYPE,      /* bDescriptorType */
      USB_ENDPOINT_IN(1),                /* bEndpointAddress */
      USB_ENDPOINT_TYPE_INTERRUPT,       /* bmAttributes */
      WBVAL(0x0004),                     /* wMaxPacketSize */ 
      0x08,          /* 32ms */          /* bInterval */
    /* Terminator */
      0                                  /* bLength */
    };
    

    So sieht der C Code für den Descriptor aus. Vielleicht reichen die Infos ja aus für jemanden der Ahnung von USB hat.

    Grüße Nils



  • Und wo ist jetzt das Problem? Such dir die Dokumentation der USB-Konfiguration raus und schlag dort nach, welches Element welche Bedeutung hat.

    (wenn du keine Doku findest, bist du vermutlich beim Hersteller deines Boards besser aufgehoben)


Anmelden zum Antworten