PORTS Forum

Ports and Interfaces => USB => Topic started by: ftariq68 on February 17, 2012, 08:07:50 am

Title: passing Vendor Specific Report through Non-Vendor Specific Report
Post by: ftariq68 on February 17, 2012, 08:07:50 am
Hello All:

Is it possible to append a Report ID with Input and output to a Non-Vendor Specific Report and utilize it to pass Vendor proprietary data.

For example in a multi-touch Report Descriptor as shown below,  we are explicitly telling Windows OS that we have a collection for touch screen can we create another collection at the bottom (with new Report ID) for Vendor-specific Report, (without creating a Vendor-Specific Report)?  Would this work?  I do understand it will be a little kludgy.

Thanks for your help.



    0x05, 0x0D,             // USAGE_PAGE (Digitizers)         
    0x09, 0x04,             // USAGE (Touch Screen)             
    0xA1, 0x01,           // COLLECTION (Application)         
    0x85, 0x01,             //   REPORT_ID (Touch)                 
    0x09, 0x22,           //   USAGE (Finger)                 
    0xA1, 0x02,           //     COLLECTION (Logical) 
    0x09, 0x42,           //       USAGE (Tip Switch)           
    0x15, 0x00,           //       LOGICAL_MINIMUM (0)         
    0x25, 0x01,           //       LOGICAL_MAXIMUM (1)         
    0x75, 0x01,           //       REPORT_SIZE (1)             
    0x95, 0x01,           //       REPORT_COUNT (1)             
    0x81, 0x02,           //       INPUT (Data,Var,Abs)       
    0x09, 0x32,             //       USAGE (In Range)             
    0x81, 0x02,           //       INPUT (Data,Var,Abs)         
    0x95, 0x06,           //       REPORT_COUNT (6) 
    0x81, 0x03,           //       INPUT (Cnst,Ary,Abs)         
    0x75, 0x08,           //       REPORT_SIZE (
    0x09, 0x51,           //       USAGE (Contact Identifier) 
    0x95, 0x01,           //       REPORT_COUNT (1)             
    0x81, 0x02,           //       INPUT (Data,Var,Abs)       
    0x05, 0x01,           //       USAGE_PAGE (Generic Desk..
    0x26, 0xFF, 0x0F,     //       LOGICAL_MAXIMUM (4095)         
    0x75, 0x10,           //       REPORT_SIZE (16)             
    0x55, 0x00,           //       UNIT_EXPONENT (0)           
    0x65, 0x00,           //       UNIT (None)                 
    0x09, 0x30,           //       USAGE (X)                   
    0x35, 0x00,           //       PHYSICAL_MINIMUM (0)         
    0x46, 0x00, 0x00,     //       PHYSICAL_MAXIMUM (0)         
    0x81, 0x02,           //       INPUT (Data,Var,Abs)       
    0x26, 0xFF, 0x0B,     //       LOGICAL_MAXIMUM (3071)     
    0x09, 0x31,           //       USAGE (Y)                   
    0x81, 0x02,           //       INPUT (Data,Var,Abs)         
    0xC0,                 //    END_COLLECTION
    0x05, 0x0D,             //   USAGE_PAGE (Digitizers)   
    0x09, 0x54,             //   USAGE (Actual count)
    0x95, 0x01,           //   REPORT_COUNT (1)
    0x75, 0x08,           //   REPORT_SIZE (   
    0x81, 0x02,           //   INPUT (Data,Var,Abs)           
    0x85, 0x02,           //   REPORT_ID (Feature)                   
    0x09, 0x55,           //   USAGE(Maximum Count)
    0x25, 0x02,           //   LOGICAL_MAXIMUM (2)
    0xB1, 0x02,           //   FEATURE (Data,Var,Abs)   
    0xC0                  // END_COLLECTION
 
Title: Re: passing Vendor Specific Report through Non-Vendor Specific Report
Post by: Jan Axelson on February 17, 2012, 10:05:08 am
Each report ID defines a report. For vendor-specific data, use a vendor-specific report.

Jan
Title: Re: passing Vendor Specific Report through Non-Vendor Specific Report
Post by: ftariq68 on February 17, 2012, 01:19:20 pm
Hi Jan (and all):

My question is not academic.  I am seriously running into an issue where I can't create a Vendor Speicific Report.  Does anyone know if this will work?

Thanks
Title: Re: passing Vendor Specific Report through Non-Vendor Specific Report
Post by: Jan Axelson on February 17, 2012, 02:04:49 pm
What happens when you try to create a vendor-specific report?

Jan
Title: Re: passing Vendor Specific Report through Non-Vendor Specific Report
Post by: ftariq68 on February 17, 2012, 02:19:36 pm
I have a system, that will not allow Vendor Specific Report.  (Unfortunately, I can't divulge any more information on this).

Thanks

Faisal
Title: Re: passing Vendor Specific Report through Non-Vendor Specific Report
Post by: Jan Axelson on February 17, 2012, 08:43:45 pm
What information do you need to send, or if you can't say that, how much data and who sends it (host or device)?

For example, the device can store information in a string descriptor that the host can retrieve with HidD_GetIndexedString.

Jan
Title: Re: passing Vendor Specific Report through Non-Vendor Specific Report
Post by: ftariq68 on February 20, 2012, 05:14:04 pm
Thanks Jan.  The data will be sent by both the host and the device.  Your suggestion was good, but I don't have String Descriptors either... ouch!