Author Topic: passing Vendor Specific Report through Non-Vendor Specific Report  (Read 17258 times)

ftariq68

  • Member
  • ***
  • Posts: 23
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
 

Jan Axelson

  • Administrator
  • Frequent Contributor
  • *****
  • Posts: 3033
    • Lakeview Research
Re: passing Vendor Specific Report through Non-Vendor Specific Report
« Reply #1 on: February 17, 2012, 10:05:08 am »
Each report ID defines a report. For vendor-specific data, use a vendor-specific report.

Jan

ftariq68

  • Member
  • ***
  • Posts: 23
Re: passing Vendor Specific Report through Non-Vendor Specific Report
« Reply #2 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

Jan Axelson

  • Administrator
  • Frequent Contributor
  • *****
  • Posts: 3033
    • Lakeview Research
Re: passing Vendor Specific Report through Non-Vendor Specific Report
« Reply #3 on: February 17, 2012, 02:04:49 pm »
What happens when you try to create a vendor-specific report?

Jan

ftariq68

  • Member
  • ***
  • Posts: 23
Re: passing Vendor Specific Report through Non-Vendor Specific Report
« Reply #4 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

Jan Axelson

  • Administrator
  • Frequent Contributor
  • *****
  • Posts: 3033
    • Lakeview Research
Re: passing Vendor Specific Report through Non-Vendor Specific Report
« Reply #5 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

ftariq68

  • Member
  • ***
  • Posts: 23
Re: passing Vendor Specific Report through Non-Vendor Specific Report
« Reply #6 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!