Zero length HID reports

General discussions about V-USB, our firmware-only implementation of a low speed USB device on Atmel's AVR microcontrollers
Post Reply
victor_r
Posts: 3
Joined: Sat Apr 05, 2014 12:15 am

Zero length HID reports

Post by victor_r » Fri Feb 27, 2015 4:29 pm

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

Post Reply