Ports
April 18, 2014, 11:55:03 am *
Welcome, Guest. Please login or register.

Login with username, password and session length
News: SMF - Just Installed!
 
   Home   Help Search Login Register  
Welcome to the PORTS Forum. Please post your questions, answers, and comments relating to USB and other hardware interfaces in the appropriate forums below.

IMPORTANT! This forum is is moving to JANAXELSON.COM. The new site is live now. Try it: http://janaxelson.com/forum. Please update your bookmarks and links. After June 1, 2014, this forum will be available ONLY at janaxelson.com and links to content at lvr.com will no longer work. - Jan
Pages: [1]
  Print  
Author Topic: passing Vendor Specific Report through Non-Vendor Specific Report  (Read 1919 times)
ftariq68
Member
***
Posts: 23


« 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
 
Logged
Jan Axelson
Administrator
Frequent Contributor
*****
Posts: 2041


WWW
« 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
Logged
ftariq68
Member
***
Posts: 23


« 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
Logged
Jan Axelson
Administrator
Frequent Contributor
*****
Posts: 2041


WWW
« Reply #3 on: February 17, 2012, 02:04:49 pm »

What happens when you try to create a vendor-specific report?

Jan
Logged
ftariq68
Member
***
Posts: 23


« 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
Logged
Jan Axelson
Administrator
Frequent Contributor
*****
Posts: 2041


WWW
« 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
Logged
ftariq68
Member
***
Posts: 23


« 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!
Logged
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.11 | SMF © 2006-2009, Simple Machines LLC Valid XHTML 1.0! Valid CSS!