Page 1 of 1

Zero length HID reports

Posted: Fri Feb 27, 2015 4:29 pm
by victor_r
Dear Community,

Did anyone of you succeed in making a zero bits long HID report? It's useful when, for example, only a notification is needed from device with no other information. It reduces USB bandwidth usage, and leaves more processing time to your MCU, and even more profitable when you don't want to miss your interrupt while processing INT0 by vusb.

I tried different variations of the following:

Code: Select all

char ReportDescriptor[20] =
{
    0x06, 0x00, 0xff,              // USAGE_PAGE (Vendor Defined Page 1)
    0x09, 0x01,                    // USAGE (Vendor Usage 1)
    0xa1, 0x01,                    // COLLECTION (Application)
    0x15, 0x00,                    //   LOGICAL_MINIMUM (0)
    0x25, 0x00,                    //   LOGICAL_MAXIMUM (0)
    0x75, 0x00,                    //   REPORT_SIZE (0)
    0x09, 0x00,                    //   USAGE (Undefined)
    0x95, 0x01,                    //   REPORT_COUNT (1)
    0x81, 0x03,                    //   INPUT (Cnst,Var,Abs)
    0xc0                           // END_COLLECTION
};


..but with no success. Everything works if report is 1 byte long, but not zero. Is it possible to make a 0 length report?

Thank you in advance,
Victor