• AVR Freaks

Force Feedback Device

Page: < 12345.. > >> Showing page 2 of 6
Author
Arrow
New Member
  • Total Posts : 12
  • Reward points : 0
  • Joined: 2008/09/23 12:54:17
  • Location: POLAND
  • Status: offline
RE: Force Feedback Device 2008/09/23 14:24:25 (permalink)
0
Ok, now I know what to focus on. For now my device is able to receive to data as keyboard LED status, so I think it will not be a problem to get constant force output report.
Till now I thinking only about Download Force Sample and Custom Force Streaming, but you show me new way ;-) I need to go true PID manual and focus on constant force ;-)
Thank you for advice!
#21
pk_volt
Super Member
  • Total Posts : 354
  • Reward points : 0
  • Joined: 2007/04/27 19:35:47
  • Location: 0
  • Status: offline
RE: Force Feedback Device 2008/09/23 22:40:18 (permalink)
0
Arrow,  all you have to do is implement Feature Report in your firmware (there is an example of how to receive feature reports in the pid.pdf near the bottom).  Get a working ffb report descriptor working and you're basically set.

Use the ffconst.exe program I posted in the .zip file to test your firmware.  If you can get this to work with your firmware .... you've got yourself a homemade ffb device working with live for speed!  Try the example report descriptor in the pid.pdf to see if it works.   

All you have to do next is is use pwm to drive your motor and hook up an optical encoder for your motor.

Keep us posted!  I'd very like to see some forward movement in the ffb community. 
#22
Arrow
New Member
  • Total Posts : 12
  • Reward points : 0
  • Joined: 2008/09/23 12:54:17
  • Location: POLAND
  • Status: offline
RE: Force Feedback Device 2008/09/24 08:49:27 (permalink)
0
Ok now I’m confused ;)
What I have for now is:

0x05, 0x01, /* USAGE_PAGE (Generic Desktop) */
0x15, 0x00, /* LOGICAL_MINIMUM (0) */
0x09, 0x04, /* USAGE (Joystick) */
0xa1, 0x01, /* COLLECTION (Application) */
0x85, 0x01, /* Report_ID (1) */
0x05, 0x02, /* Usage_Page (Simulation Controls) */
0x09, 0xBB , /* Usage (Throttle) */
0x15, 0x81, /* LOGICAL_MINIMUM (-127) */
0x25, 0x7F, /* LOGICAL_MAXIMUM (127) */
0x75, 0x08, /* REPORT_SIZE (8) */
0x95, 0x01, /* REPORT_COUNT (1) */
0x81, 0x02, /* INPUT (Data,Var,Abs) */
//Define th axes
0x05, 0x01, /* USAGE_PAGE (Generic Desktop) */
0x09, 0x01, /* USAGE (Pointer) */
0xA1, 0x00, /* COLLECTION (Physical) */
0x09, 0x30, /* USAGE (X) */
0x09, 0x31, /* USAGE (Y) */
0x95, 0x02, /* REPORT_COUNT (2) */
0x81, 0x02, /* INPUT (Data,Var,Abs) */
0xC0, /* END_COLLECTION */
//Define the buttons
0x05, 0x09, /* Usage_Page (Button) */
0x19, 0x01, /* Usage_Minimum (Button 1) */
0x29, 0x08, /* Usage_Maximum (Button 8) */
0x25, 0x01, /* LOGICAL_MAXIMUM (1) */
0x95, 0x08, /* REPORT_COUNT (8) */
0x75, 0x01, /* REPORT_SIZE (1) */
0x35, 0x00, /* PHYSICAL_MINIMUM (0) */
0x81, 0x02, /* INPUT (Data,Var,Abs) */
0xC0 /* END_COLLECTION */


This is simple report description for joystick but without output report.
Now I need to add the output report.
You wrote “all you have to do is implement Feature Report in your firmware (there is an example of how to receive feature reports in the pid.pdf near the bottom).” Did you mean from the “;Start Force Feedback command definitions” till “;Envelope Report Definition” or something different?
Do I need to implement all effect? Or I can just “Constant Force”? just for LFS?

Sorry for this whole question, but I search in internet and found nothing sad
#23
pk_volt
Super Member
  • Total Posts : 354
  • Reward points : 0
  • Joined: 2007/04/27 19:35:47
  • Location: 0
  • Status: offline
RE: Force Feedback Device 2008/09/29 20:31:57 (permalink)
0
Hi Arrow,

I apologize for taking so long to reply to you.



For your report descriptor, try using the report descriptor in the pid.pdf.  Yes, it's like over 1000 bytes long, and I'm not sure if it will work, but it's more or less your only chance of making it work.

that report descriptor has input and output reports.

you can also use your program - hidio to test the data loopback for both feature and interrupt endpoint transfer.

I know the pid.pdf is poorly written and it's somewhat difficult to understand throughout the document, but do study it and study it hard.  Eventually, things will make sense and will give you a better idea as to how data is being transmitted back and forth.

keep us posted.  I hope this atleast gets you somewhere.
post edited by pk_volt - 2008/11/26 12:34:02
#24
Pierre1
New Member
  • Total Posts : 15
  • Reward points : 0
  • Joined: 2008/08/26 04:21:47
  • Location: 0
  • Status: offline
RE: Force Feedback Device 2008/10/10 12:27:50 (permalink)
0
Hey Arrow,
Have you been able to get your device running?  We are facing a similar issue; we have figured out the report descriptor and outgoing telegram and still face the problem of extracting the data stream onto the micro-controller. I imagine some type of hand shaking is needed...
#25
Arrow
New Member
  • Total Posts : 12
  • Reward points : 0
  • Joined: 2008/09/23 12:54:17
  • Location: POLAND
  • Status: offline
RE: Force Feedback Device 2008/10/11 10:18:49 (permalink)
0
Hi, last days I have not time to work on FF (Job ;))
Me status is still the same, big problem with report descriptor, I really confused :(
If you want I can send you on e-mail my descriptor may by you can help me, and some how we can push it forward ;-)
#26
Pierre1
New Member
  • Total Posts : 15
  • Reward points : 0
  • Joined: 2008/08/26 04:21:47
  • Location: 0
  • Status: offline
RE: Force Feedback Device 2008/10/11 10:29:33 (permalink)
0
Hi Arrow,

As we are probably facing the same issue, I do not know how quickly we could assist.
Anyway, send me the data and the exact issue you are facing and I will check with my team mate.
One resource you could also check is Jan Axelson's HID page:  http://www.lvr.com/hidpage.htm#MyExampleCode

Best,
P.
#27
Arrow
New Member
  • Total Posts : 12
  • Reward points : 0
  • Joined: 2008/09/23 12:54:17
  • Location: POLAND
  • Status: offline
RE: Force Feedback Device 2008/10/11 11:39:35 (permalink)
0
Ok. This is my descriptor (look file) I will be very happy if you can tell me what is wrong ;(
Normal joystick is working fine but when I add pid descriptor part it stops :(
Can you send my back your version them I can compare it and make come conclusion.
I working my self so is big issue for one person.

#28
Pierre1
New Member
  • Total Posts : 15
  • Reward points : 0
  • Joined: 2008/08/26 04:21:47
  • Location: 0
  • Status: offline
RE: Force Feedback Device 2008/10/15 12:56:00 (permalink)
0
Here is our Hex descriptor.  Sorry for the lack of comments; everyone is quite busy right now.  Hope it helps some.

0x05,0x01,0x09,0x04,0xa1,0x01,0xa1,0x02,0x75,0x08,0x95,0x01,0x15,0x00,0x26,0xff,
0x00,0x35,0x00,0x46,0xff,0x00,0x0b,0x02,0x00,0x00,0xff,0x09,0x30,0x09,0x31,0x09,
0x32,0x09,0x35,0x15,0x00,0x26,0xff,0x00,0x75,0x08,0x95,0x05,0x81,0x02,0x09,0x39,
0x15,0x01,0x25,0x08,0x35,0x00,0x46,0x3b,0x01,0x65,0x14,0x75,0x04,0x95,0x01,0x81,
0x02,0x05,0x09,0x19,0x01,0x29,0x0c,0x15,0x00,0x25,0x01,0x75,0x01,0x95,0x0c,0x55,
0x00,0x65,0x00,0x81,0x02,0xc0,0xa1,0x02,0x75,0x08,0x95,0x07,0x46,0xff,0x00,0x26,
0xff,0x00,0x0b,0x02,0x00,0x00,0xff,0x91,0x02,0xc0,0xc0

#29
Arrow
New Member
  • Total Posts : 12
  • Reward points : 0
  • Joined: 2008/09/23 12:54:17
  • Location: POLAND
  • Status: offline
RE: Force Feedback Device 2008/10/20 08:42:48 (permalink)
0
Dear Pierre1,
As fare as I know and after your descriptor analyze I see that you are create simple joystick with one input and one output endpoint but you don’t use PID class. So you need to write you’re own driver on computer site.
It’s little different idea them pk_volt who using HID PID class, it is more like Xbox 360 for my, it using own driver.


Mr. pk_volt can you send me this descriptor with you sniff from MS FFB wheel?
It well be very helpfully.
#30
verm_pat
New Member
  • Total Posts : 21
  • Reward points : 0
  • Joined: 2008/10/23 00:43:02
  • Location: The Netherlands
  • Status: offline
RE: Force Feedback Device 2008/10/23 00:45:59 (permalink)
0
Hey everybody,
I am having sort of the same problems you guys have.
I'm trying to write the firmware for a force feedback joystick, using a pic24.
Unfortunately i can't get the report descriptorup and running, i've tried the one from the pid pdf file, this doesnt work.

Could somebody please help me out over here with a report descriptor for a force feedback device that does work?
Thanks in advance:)

verm_pat
#31
Pierre1
New Member
  • Total Posts : 15
  • Reward points : 0
  • Joined: 2008/08/26 04:21:47
  • Location: 0
  • Status: offline
RE: Force Feedback Device 2008/10/24 04:01:08 (permalink)
0
Arrow,
Thanks for your feedback.  We are actually using an embedded ActiveX that interacts directly with the DirectX and send feed back signals.
Also for testing purposes, we are using the ForceEditor application provided by Volt. We want to avoid writing a driver on the PC side.

Best,
Pierre
#32
xiaofan
Super Member
  • Total Posts : 6247
  • Reward points : 0
  • Joined: 2005/04/14 07:05:25
  • Location: Singapore
  • Status: offline
RE: Force Feedback Device 2008/10/24 04:55:53 (permalink)
0
ORIGINAL: Arrow
descriptor of MS FFB wheel?


Do you have the wheel? If yes you can dump the HID descriptor with the trial version of HHD USB monitor.
http://www.hhdsoftware.com/Products/home/usb-monitor-pro.html

Google only finds the following but this does not help you.
http://bugs.winehq.org/attachment.cgi?id=12183&action=edit


janus@Gigabob:22:48:13$ sudo lsusb -vv -s 3:3
[sudo] password for janus:

Bus 003 Device 003: ID 045e:0034 Microsoft Corp. SideWinder Force Feedback Wheel
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 1.00
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 8
idVendor 0x045e Microsoft Corp.
idProduct 0x0034 SideWinder Force Feedback Wheel
bcdDevice 1.01
iManufacturer 1 Microsoft
iProduct 2 SideWinder Force Feedback Wheel (USB)
iSerial 0
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 41
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xa0
(Bus Powered)
Remote Wakeup
MaxPower 100mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 3 Human Interface Devices
bInterfaceSubClass 0 No Subclass
bInterfaceProtocol 0 None
iInterface 0
HID Device Descriptor:
bLength 9
bDescriptorType 33
bcdHID 1.00
bCountryCode 0 Not supported
bNumDescriptors 1
bDescriptorType 34 Report
wDescriptorLength 1296
Report Descriptors:
** UNAVAILABLE **
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 1
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x02 EP 2 OUT
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0010 1x 16 bytes
bInterval 4
Device Status: 0x0000
(Bus Powered)
janus@Gigabob:22:48:23$



  USB_Links and libusb
#33
xiaofan
Super Member
  • Total Posts : 6247
  • Reward points : 0
  • Joined: 2005/04/14 07:05:25
  • Location: Singapore
  • Status: offline
RE: Force Feedback Device 2008/10/24 05:02:41 (permalink)
0
Another one:

Logitech's MOMO racing wheel.
http://sprinkleofcocoa.blogspot.com/2007/03/logitech-tech-support-driving-me-up.html


Low Speed device @ 3 (0x1D100000): ............................................. Composite device: "Logitech MOMO Racing "
Device Descriptor
Descriptor Version Number: 0x0110
Device Class: 0 (Composite)
Device Subclass: 0
Device Protocol: 0
Device MaxPacketSize: 8
Device VendorID/ProductID: 0x046D/0xCA03 (Logitech Inc.)
Device Version Number: 0x0019
Number of Configurations: 1
Manufacturer String: 4 "Logitech "
Product String: 24 "Logitech MOMO Racing "
Serial Number String: 0 (none)
Configuration Descriptor
Length (and contents): 41
*** omitted raw descriptor ****
Number of Interfaces: 1
Configuration Value: 1
Attributes: 0x80 (bus-powered)
MaxPower: 80 ma
Interface #0 - HID
Alternate Setting 0
Number of Endpoints 2
Interface Class: 3 (HID)
Interface Subclass; 0
Interface Protocol: 0
HID Descriptor
Descriptor Version Number: 0x0100
Country Code: 33
Descriptor Count: 1
Descriptor 1
Type: 0x22 (Report Descriptor)
Length (and contents): 87
*** omitted raw descriptor ****
Parsed Report Descriptor:
Usage Page (Generic Desktop)
Usage (Joystick)
Collection (Application)
Collection (Logical)
Report Count............ (1)
Report Size............. (10)
Logical Minimum......... (0)
Logical Maximum......... (1023)
Physical Minimum........ (0)
Physical Maximum........ (1023)
Usage (X)
Input................... (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Bitfield)
Report Count............ (10)
Report Size............. (1)
Logical Maximum......... (1)
Physical Maximum........ (1)
Usage Page (Button)
Usage Minimum........... (1)
Usage Maximum........... (10)
Input................... (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Bitfield)
Usage Page (65280)
Usage 0 (0x0)
Report Count............ (4)
Input................... (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Bitfield)
Report Count............ (1)
Report Size............. (8)
Logical Maximum......... (255)
Physical Maximum........ (255)
Usage Page (Generic Desktop)
Usage (Y)
Input................... (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Bitfield)
Report Count............ (3)
Usage Page (65280)
Usage 1 (0x1)
Input................... (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Bitfield)
End Collection
Collection (Logical)
Usage 2 (0x2)
Report Count............ (7)
Output.................. (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Nonvolatile, Bitfield)
End Collection
End Collection
Endpoint 0x81 - Interrupt Input
Address: 0x81 (IN)
Attributes: 0x03 (Interrupt no synchronization data endpoint)
Max Packet Size: 8
Polling Interval: 10 ms
Endpoint 0x01 - Interrupt Output
Address: 0x01 (OUT)
Attributes: 0x03 (Interrupt no synchronization data endpoint)
Max Packet Size: 8
Polling Interval: 10 ms


  USB_Links and libusb
#34
xiaofan
Super Member
  • Total Posts : 6247
  • Reward points : 0
  • Joined: 2005/04/14 07:05:25
  • Location: Singapore
  • Status: offline
RE: Force Feedback Device 2008/10/24 05:10:47 (permalink)
0
Unfortunately I guess the above is also useless to you because of the missing raw descriptor. wink

  USB_Links and libusb
#35
Arrow
New Member
  • Total Posts : 12
  • Reward points : 0
  • Joined: 2008/09/23 12:54:17
  • Location: POLAND
  • Status: offline
RE: Force Feedback Device 2008/10/30 05:31:17 (permalink)
0
Hi,

Pierre1,
I’m not sure if I understand you correctly? You are able to send FF data using descriptor with you passed on this topic?
Because hen I send it I saw it as a joystick, but when I try to use software from pk_volt it told me that there is no device in the system with support FF ;|

Xiaofan,
Unfortunately I don’t have any wheel :( (only in my car ;) )
About this logs with you found, you already have said that its useless.
But it’s good to know that somebody is interested in this topic.


Last days I have no time for investigation, but I found some thing interesting in internet:

0x05,0x01, // Usage Page Generic Desktop
0x09,0x04, // Usage Joystick
0xA1,0x01, // Collection Application
0x85,0x01, // Report ID 1
0x09,0x30, // Usage X
0x16,0x00,0xFE, // Logical Minimum FE00h (-512d)
0x26,0xFF,0x01, // Logical Maximum 1FFh (511d)
0x35,0x00, // Physical Minimum 0
0x46,0xFF,0x03, // Physical Maximum 3FFh (1023d)
0x75,0x0A, // Report Size Ah (10d)
0x95,0x01, // Report Count 1
0x81,0x02, // Input (Variable)
0x75,0x06, // Report Size 6
0x81,0x03, // Input (Constant, Variable)
0xA1,0x00, // Collection Linked
0x05,0x01, // Usage Page Generic Desktop
0x09,0x31, // Usage Y
0x15,0x00, // Logical Minimum 0
0x25,0x3F, // Logical Maximum 3Fh (63d)
0x35,0x00, // Physical Minimum 0
0x45,0x3F, // Physical Maximum 3Fh (63d)
0x75,0x06, // Report Size 6
0x95,0x01, // Report Count 1
0x81,0x02, // Input (Variable)
0x75,0x02, // Report Size 2
0x81,0x03, // Input (Constant, Variable)
0x09,0x35, // Usage Rz
0x75,0x06, // Report Size 6
0x81,0x02, // Input (Variable)
0x75,0x02, // Report Size 2
0x81,0x03, // Input (Constant, Variable)
0xC0 , // End Collection
0x05,0x09, // Usage Page Button
0x15,0x00, // Logical Minimum 0
0x19,0x01, // Usage Minimum Button 1
0x29,0x08, // Usage Maximum Button 8
0x25,0x01, // Logical Maximum 1
0x35,0x00, // Physical Minimum 0
0x45,0x01, // Physical Maximum 1
0x75,0x01, // Report Size 1
0x95,0x08, // Report Count 8
0x81,0x02, // Input (Variable)
0x06,0x01,0xFF, // Usage Page Generic Desktop
0x09,0x49, // Usage Undefined
0x75,0x01, // Report Size 1
0x95,0x01, // Report Count 1
0x81,0x02, // Input (Variable)
0x75,0x07, // Report Size 7
0x81,0x03, // Input (Constant, Variable)
0x05,0x0F, // Usage Page Physical Interface
0x09,0x92, // Usage ES Playing
0xA1,0x02, // Collection Datalink
0x85,0x02, // Report ID 2
0x09,0x9F, // Usage DS Device is Reset
0x09,0xA0, // Usage DS Device is Pause
0x09,0xA4, // Usage Actuator Power
0x09,0xA5, // Usage Undefined
0x09,0xA6, // Usage Undefined
0x15,0x00, // Logical Minimum 0
0x25,0x01, // Logical Maximum 1
0x35,0x00, // Physical Minimum 0
0x45,0x01, // Physical Maximum 1
0x75,0x01, // Report Size 1
0x95,0x05, // Report Count 5
0x81,0x02, // Input (Variable)
0x95,0x03, // Report Count 3
0x81,0x03, // Input (Constant, Variable)
0x09,0x94, // Usage PID Device Control
0x15,0x00, // Logical Minimum 0
0x25,0x01, // Logical Maximum 1
0x35,0x00, // Physical Minimum 0
0x45,0x01, // Physical Maximum 1
0x75,0x01, // Report Size 1
0x95,0x01, // Report Count 1
0x81,0x02, // Input (Variable)
0x09,0x22, // Usage Effect Block Index
0x15,0x01, // Logical Minimum 1
0x25,0x28, // Logical Maximum 28h (40d)
0x35,0x01, // Physical Minimum 1
0x45,0x28, // Physical Maximum 28h (40d)
0x75,0x07, // Report Size 7
0x95,0x01, // Report Count 1
0x81,0x02, // Input (Variable)
0xC0 , // End Collection
0x09,0x21, // Usage Set Effect Report
0xA1,0x02, // Collection Datalink
0x85,0x01, // Report ID 1
0x09,0x22, // Usage Effect Block Index
0x15,0x01, // Logical Minimum 1
0x25,0x28, // Logical Maximum 28h (40d)
0x35,0x01, // Physical Minimum 1
0x45,0x28, // Physical Maximum 28h (40d)
0x75,0x08, // Report Size 8
0x95,0x01, // Report Count 1
0x91,0x02, // Output (Variable)
0x09,0x25, // Usage Effect Type
0xA1,0x02, // Collection Datalink
0x09,0x26, // Usage ET Constant Force
0x09,0x27, // Usage ET Ramp
0x09,0x30, // Usage ET Square
0x09,0x31, // Usage ET Sine
0x09,0x32, // Usage ET Triangle
0x09,0x33, // Usage ET Sawtooth Up
0x09,0x34, // Usage ET Sawtooth Down
0x09,0x40, // Usage ET Spring
0x09,0x41, // Usage ET Damper
0x09,0x42, // Usage ET Inertia
0x09,0x43, // Usage ET Friction
0x09,0x28, // Usage ET Custom Force Data
0x25,0x0C, // Logical Maximum Ch (12d)
0x15,0x01, // Logical Minimum 1
0x35,0x01, // Physical Minimum 1
0x45,0x0C, // Physical Maximum Ch (12d)
0x75,0x08, // Report Size 8
0x95,0x01, // Report Count 1
0x91,0x00, // Output
0xC0 , // End Collection
0x09,0x50, // Usage Duration
0x09,0x54, // Usage Trigger Repeat Interval
0x09,0x51, // Usage Sample Period
0x15,0x00, // Logical Minimum 0
0x26,0xFF,0x7F, // Logical Maximum 7FFFh (32767d)
0x35,0x00, // Physical Minimum 0
0x46,0xFF,0x7F, // Physical Maximum 7FFFh (32767d)
0x66,0x03,0x10, // Unit 1003h (4099d)
0x55,0xFD, // Unit Exponent FDh (253d)
0x75,0x10, // Report Size 10h (16d)
0x95,0x03, // Report Count 3
0x91,0x02, // Output (Variable)
0x55,0x00, // Unit Exponent 0
0x66,0x00,0x00, // Unit 0
0x09,0x52, // Usage Gain
0x15,0x00, // Logical Minimum 0
0x26,0xFF,0x00, // Logical Maximum FFh (255d)
0x35,0x00, // Physical Minimum 0
0x46,0x10,0x27, // Physical Maximum 2710h (10000d)
0x75,0x08, // Report Size 8
0x95,0x01, // Report Count 1
0x91,0x02, // Output (Variable)
0x09,0x53, // Usage Trigger Button
0x15,0x01, // Logical Minimum 1
0x25,0x08, // Logical Maximum 8
0x35,0x01, // Physical Minimum 1
0x45,0x08, // Physical Maximum 8
0x75,0x08, // Report Size 8
0x95,0x01, // Report Count 1
0x91,0x02, // Output (Variable)
0x09,0x55, // Usage Axes Enable
0xA1,0x02, // Collection Datalink
0x05,0x01, // Usage Page Generic Desktop
0x09,0x30, // Usage X
0x09,0x31, // Usage Y
0x15,0x00, // Logical Minimum 0
0x25,0x01, // Logical Maximum 1
0x75,0x01, // Report Size 1
0x95,0x02, // Report Count 2
0x91,0x02, // Output (Variable)
0xC0 , // End Collection
0x05,0x0F, // Usage Page Physical Interface
0x09,0x56, // Usage Direction Enable
0x95,0x01, // Report Count 1
0x91,0x02, // Output (Variable)
0x95,0x05, // Report Count 5
0x91,0x03, // Output (Constant, Variable)
0x09,0x57, // Usage Direction
0xA1,0x02, // Collection Datalink
0x0B,0x01,0x00,0x0A,0x00, // Usage Ordinals: Instance 1
0x0B,0x02,0x00,0x0A,0x00, // Usage Ordinals: Instance 2
0x66,0x14,0x00, // Unit 14h (20d)
0x55,0xFE, // Unit Exponent FEh (254d)
0x15,0x00, // Logical Minimum 0
0x26,0xFF,0x00, // Logical Maximum FFh (255d)
0x35,0x00, // Physical Minimum 0
0x47,0xA0,0x8C,0x00,0x00, // Physical Maximum 8CA0h (36000d)
0x66,0x00,0x00, // Unit 0
0x75,0x08, // Report Size 8
0x95,0x02, // Report Count 2
0x91,0x02, // Output (Variable)
0x55,0x00, // Unit Exponent 0
0x66,0x00,0x00, // Unit 0
0xC0 , // End Collection
0x05,0x0F, // Usage Page Physical Interface
0x09,0xA7, // Usage Undefined
0x66,0x03,0x10, // Unit 1003h (4099d)
0x55,0xFD, // Unit Exponent FDh (253d)
0x15,0x00, // Logical Minimum 0
0x26,0xFF,0x7F, // Logical Maximum 7FFFh (32767d)
0x35,0x00, // Physical Minimum 0
0x46,0xFF,0x7F, // Physical Maximum 7FFFh (32767d)
0x75,0x10, // Report Size 10h (16d)
0x95,0x01, // Report Count 1
0x91,0x02, // Output (Variable)
0x66,0x00,0x00, // Unit 0
0x55,0x00, // Unit Exponent 0
0xC0 , // End Collection
0x05,0x0F, // Usage Page Physical Interface
0x09,0x5A, // Usage Set Envelope Report
0xA1,0x02, // Collection Datalink
0x85,0x02, // Report ID 2
0x09,0x22, // Usage Effect Block Index
0x15,0x01, // Logical Minimum 1
0x25,0x28, // Logical Maximum 28h (40d)
0x35,0x01, // Physical Minimum 1
0x45,0x28, // Physical Maximum 28h (40d)
0x75,0x08, // Report Size 8
0x95,0x01, // Report Count 1
0x91,0x02, // Output (Variable)
0x09,0x5B, // Usage Attack Level
0x09,0x5D, // Usage Fade Level
0x15,0x00, // Logical Minimum 0
0x26,0xFF,0x00, // Logical Maximum FFh (255d)
0x35,0x00, // Physical Minimum 0
0x46,0x10,0x27, // Physical Maximum 2710h (10000d)
0x95,0x02, // Report Count 2
0x91,0x02, // Output (Variable)
0x09,0x5C, // Usage Attack Time
0x09,0x5E, // Usage Fade Time
0x66,0x03,0x10, // Unit 1003h (4099d)
0x55,0xFD, // Unit Exponent FDh (253d)
0x26,0xFF,0x7F, // Logical Maximum 7FFFh (32767d)
0x46,0xFF,0x7F, // Physical Maximum 7FFFh (32767d)
0x75,0x10, // Report Size 10h (16d)
0x91,0x02, // Output (Variable)
0x45,0x00, // Physical Maximum 0
0x66,0x00,0x00, // Unit 0
0x55,0x00, // Unit Exponent 0
0xC0 , // End Collection
0x09,0x5F, // Usage Set Condition Report
0xA1,0x02, // Collection Datalink
0x85,0x03, // Report ID 3
0x09,0x22, // Usage Effect Block Index
0x15,0x01, // Logical Minimum 1
0x25,0x28, // Logical Maximum 28h (40d)
0x35,0x01, // Physical Minimum 1
0x45,0x28, // Physical Maximum 28h (40d)
0x75,0x08, // Report Size 8
0x95,0x01, // Report Count 1
0x91,0x02, // Output (Variable)
0x09,0x23, // Usage Parameter Block Offset
0x15,0x00, // Logical Minimum 0
0x25,0x01, // Logical Maximum 1
0x35,0x00, // Physical Minimum 0
0x45,0x01, // Physical Maximum 1
0x75,0x04, // Report Size 4
0x95,0x01, // Report Count 1
0x91,0x02, // Output (Variable)
0x09,0x58, // Usage Type Specific Block Off...
0xA1,0x02, // Collection Datalink
0x0B,0x01,0x00,0x0A,0x00, // Usage Ordinals: Instance 1
0x0B,0x02,0x00,0x0A,0x00, // Usage Ordinals: Instance 2
0x75,0x02, // Report Size 2
0x95,0x02, // Report Count 2
0x91,0x02, // Output (Variable)
0xC0 , // End Collection
0x15,0x80, // Logical Minimum 80h (-128d)
0x25,0x7F, // Logical Maximum 7Fh (127d)
0x36,0xF0,0xD8, // Physical Minimum D8F0h (-10000d)
0x46,0x10,0x27, // Physical Maximum 2710h (10000d)
0x09,0x60, // Usage CP Offset
0x75,0x08, // Report Size 8
0x95,0x01, // Report Count 1
0x91,0x02, // Output (Variable)
0x36,0xF0,0xD8, // Physical Minimum D8F0h (-10000d)
0x46,0x10,0x27, // Physical Maximum 2710h (10000d)
0x09,0x61, // Usage Positive Coefficient
0x09,0x62, // Usage Negative Coefficient
0x95,0x02, // Report Count 2
0x91,0x02, // Output (Variable)
0x15,0x00, // Logical Minimum 0
0x26,0xFF,0x00, // Logical Maximum FFh (255d)
0x35,0x00, // Physical Minimum 0
0x46,0x10,0x27, // Physical Maximum 2710h (10000d)
0x09,0x63, // Usage Positive Saturation
0x09,0x64, // Usage Negative Saturation
0x75,0x08, // Report Size 8
0x95,0x02, // Report Count 2
0x91,0x02, // Output (Variable)
0x09,0x65, // Usage Dead Band
0x46,0x10,0x27, // Physical Maximum 2710h (10000d)
0x95,0x01, // Report Count 1
0x91,0x02, // Output (Variable)
0xC0 , // End Collection
0x09,0x6E, // Usage Set Periodic Report
0xA1,0x02, // Collection Datalink
0x85,0x04, // Report ID 4
0x09,0x22, // Usage Effect Block Index
0x15,0x01, // Logical Minimum 1
0x25,0x28, // Logical Maximum 28h (40d)
0x35,0x01, // Physical Minimum 1
0x45,0x28, // Physical Maximum 28h (40d)
0x75,0x08, // Report Size 8
0x95,0x01, // Report Count 1
0x91,0x02, // Output (Variable)
0x09,0x70, // Usage Magnitude
0x15,0x00, // Logical Minimum 0
0x26,0xFF,0x00, // Logical Maximum FFh (255d)
0x35,0x00, // Physical Minimum 0
0x46,0x10,0x27, // Physical Maximum 2710h (10000d)
0x75,0x08, // Report Size 8
0x95,0x01, // Report Count 1
0x91,0x02, // Output (Variable)
0x09,0x6F, // Usage Offset
0x15,0x80, // Logical Minimum 80h (-128d)
0x25,0x7F, // Logical Maximum 7Fh (127d)
0x36,0xF0,0xD8, // Physical Minimum D8F0h (-10000d)
0x46,0x10,0x27, // Physical Maximum 2710h (10000d)
0x95,0x01, // Report Count 1
0x91,0x02, // Output (Variable)
0x09,0x71, // Usage Phase
0x66,0x14,0x00, // Unit 14h (20d)
0x55,0xFE, // Unit Exponent FEh (254d)
0x15,0x00, // Logical Minimum 0
0x26,0xFF,0x00, // Logical Maximum FFh (255d)
0x35,0x00, // Physical Minimum 0
0x47,0xA0,0x8C,0x00,0x00, // Physical Maximum 8CA0h (36000d)
0x91,0x02, // Output (Variable)
0x09,0x72, // Usage Period
0x26,0xFF,0x7F, // Logical Maximum 7FFFh (32767d)
0x46,0xFF,0x7F, // Physical Maximum 7FFFh (32767d)
0x66,0x03,0x10, // Unit 1003h (4099d)
0x55,0xFD, // Unit Exponent FDh (253d)
0x75,0x10, // Report Size 10h (16d)
0x95,0x01, // Report Count 1
0x91,0x02, // Output (Variable)
0x66,0x00,0x00, // Unit 0
0x55,0x00, // Unit Exponent 0
0xC0 , // End Collection
0x09,0x73, // Usage Set Constant Force Rep...
0xA1,0x02, // Collection Datalink
0x85,0x05, // Report ID 5
0x09,0x22, // Usage Effect Block Index
0x15,0x01, // Logical Minimum 1
0x25,0x28, // Logical Maximum 28h (40d)
0x35,0x01, // Physical Minimum 1
0x45,0x28, // Physical Maximum 28h (40d)
0x75,0x08, // Report Size 8
0x95,0x01, // Report Count 1
0x91,0x02, // Output (Variable)
0x09,0x70, // Usage Magnitude
0x16,0x01,0xFF, // Logical Minimum FF01h (-255d)
0x26,0xFF,0x00, // Logical Maximum FFh (255d)
0x36,0xF0,0xD8, // Physical Minimum D8F0h (-10000d)
0x46,0x10,0x27, // Physical Maximum 2710h (10000d)
0x75,0x10, // Report Size 10h (16d)
0x95,0x01, // Report Count 1
0x91,0x02, // Output (Variable)
0xC0 , // End Collection
0x09,0x74, // Usage Set Ramp Force Report
0xA1,0x02, // Collection Datalink
0x85,0x06, // Report ID 6
0x09,0x22, // Usage Effect Block Index
0x15,0x01, // Logical Minimum 1
0x25,0x28, // Logical Maximum 28h (40d)
0x35,0x01, // Physical Minimum 1
0x45,0x28, // Physical Maximum 28h (40d)
0x75,0x08, // Report Size 8
0x95,0x01, // Report Count 1
0x91,0x02, // Output (Variable)
0x09,0x75, // Usage Ramp Start
0x09,0x76, // Usage Ramp End
0x15,0x80, // Logical Minimum 80h (-128d)
0x25,0x7F, // Logical Maximum 7Fh (127d)
0x36,0xF0,0xD8, // Physical Minimum D8F0h (-10000d)
0x46,0x10,0x27, // Physical Maximum 2710h (10000d)
0x75,0x08, // Report Size 8
0x95,0x02, // Report Count 2
0x91,0x02, // Output (Variable)
0xC0 , // End Collection
0x09,0x68, // Usage Custom Force Data Rep...
0xA1,0x02, // Collection Datalink
0x85,0x07, // Report ID 7
0x09,0x22, // Usage Effect Block Index
0x15,0x01, // Logical Minimum 1
0x25,0x28, // Logical Maximum 28h (40d)
0x35,0x01, // Physical Minimum 1
0x45,0x28, // Physical Maximum 28h (40d)
0x75,0x08, // Report Size 8
0x95,0x01, // Report Count 1
0x91,0x02, // Output (Variable)
0x09,0x6C, // Usage Custom Force Data Offset
0x15,0x00, // Logical Minimum 0
0x26,0x10,0x27, // Logical Maximum 2710h (10000d)
0x35,0x00, // Physical Minimum 0
0x46,0x10,0x27, // Physical Maximum 2710h (10000d)
0x75,0x10, // Report Size 10h (16d)
0x95,0x01, // Report Count 1
0x91,0x02, // Output (Variable)
0x09,0x69, // Usage Custom Force Data
0x15,0x81, // Logical Minimum 81h (-127d)
0x25,0x7F, // Logical Maximum 7Fh (127d)
0x35,0x00, // Physical Minimum 0
0x46,0xFF,0x00, // Physical Maximum FFh (255d)
0x75,0x08, // Report Size 8
0x95,0x0C, // Report Count Ch (12d)
0x92,0x02,0x01, // Output (Variable, Buffered)
0xC0 , // End Collection
0x09,0x66, // Usage Download Force Sample
0xA1,0x02, // Collection Datalink
0x85,0x08, // Report ID 8
0x05,0x01, // Usage Page Generic Desktop
0x09,0x30, // Usage X
0x09,0x31, // Usage Y
0x15,0x81, // Logical Minimum 81h (-127d)
0x25,0x7F, // Logical Maximum 7Fh (127d)
0x35,0x00, // Physical Minimum 0
0x46,0xFF,0x00, // Physical Maximum FFh (255d)
0x75,0x08, // Report Size 8
0x95,0x02, // Report Count 2
0x91,0x02, // Output (Variable)
0xC0 , // End Collection
0x05,0x0F, // Usage Page Physical Interface
0x09,0x77, // Usage Effect Operation Report
0xA1,0x02, // Collection Datalink
0x85,0x0A, // Report ID Ah (10d)
0x09,0x22, // Usage Effect Block Index
0x15,0x01, // Logical Minimum 1
0x25,0x28, // Logical Maximum 28h (40d)
0x35,0x01, // Physical Minimum 1
0x45,0x28, // Physical Maximum 28h (40d)
0x75,0x08, // Report Size 8
0x95,0x01, // Report Count 1
0x91,0x02, // Output (Variable)
0x09,0x78, // Usage Operation
0xA1,0x02, // Collection Datalink
0x09,0x79, // Usage Op Effect Start
0x09,0x7A, // Usage Op Effect Start Solo
0x09,0x7B, // Usage Op Effect Stop
0x15,0x01, // Logical Minimum 1
0x25,0x03, // Logical Maximum 3
0x75,0x08, // Report Size 8
0x95,0x01, // Report Count 1
0x91,0x00, // Output
0xC0 , // End Collection
0x09,0x7C, // Usage Loop Count
0x15,0x00, // Logical Minimum 0
0x26,0xFF,0x00, // Logical Maximum FFh (255d)
0x35,0x00, // Physical Minimum 0
0x46,0xFF,0x00, // Physical Maximum FFh (255d)
0x91,0x02, // Output (Variable)
0xC0 , // End Collection
0x09,0x90, // Usage PID State Report
0xA1,0x02, // Collection Datalink
0x85,0x0B, // Report ID Bh (11d)
0x09,0x22, // Usage Effect Block Index
0x25,0x28, // Logical Maximum 28h (40d)
0x15,0x01, // Logical Minimum 1
0x35,0x01, // Physical Minimum 1
0x45,0x28, // Physical Maximum 28h (40d)
0x75,0x08, // Report Size 8
0x95,0x01, // Report Count 1
0x91,0x02, // Output (Variable)
0xC0 , // End Collection
0x09,0x96, // Usage DC Disable Actuators
0xA1,0x02, // Collection Datalink
0x85,0x0C, // Report ID Ch (12d)
0x09,0x97, // Usage DC Stop All Effects
0x09,0x98, // Usage DC Device Reset
0x09,0x99, // Usage DC Device Pause
0x09,0x9A, // Usage DC Device Continue
0x09,0x9B, // Usage PID Device State
0x09,0x9C, // Usage DS Actuators Enabled
0x15,0x01, // Logical Minimum 1
0x25,0x06, // Logical Maximum 6
0x75,0x08, // Report Size 8
0x95,0x01, // Report Count 1
0x91,0x00, // Output
0xC0 , // End Collection
0x09,0x7D, // Usage PID Pool Report
0xA1,0x02, // Collection Datalink
0x85,0x0D, // Report ID Dh (13d)
0x09,0x7E, // Usage RAM Pool Size
0x15,0x00, // Logical Minimum 0
0x26,0xFF,0x00, // Logical Maximum FFh (255d)
0x35,0x00, // Physical Minimum 0
0x46,0x10,0x27, // Physical Maximum 2710h (10000d)
0x75,0x08, // Report Size 8
0x95,0x01, // Report Count 1
0x91,0x02, // Output (Variable)
0xC0 , // End Collection
0x09,0x6B, // Usage Set Custom Force Report
0xA1,0x02, // Collection Datalink
0x85,0x0E, // Report ID Eh (14d)
0x09,0x22, // Usage Effect Block Index
0x15,0x01, // Logical Minimum 1
0x25,0x28, // Logical Maximum 28h (40d)
0x35,0x01, // Physical Minimum 1
0x45,0x28, // Physical Maximum 28h (40d)
0x75,0x08, // Report Size 8
0x95,0x01, // Report Count 1
0x91,0x02, // Output (Variable)
0x09,0x6D, // Usage Sample Count
0x15,0x00, // Logical Minimum 0
0x26,0xFF,0x00, // Logical Maximum FFh (255d)
0x35,0x00, // Physical Minimum 0
0x46,0xFF,0x00, // Physical Maximum FFh (255d)
0x75,0x08, // Report Size 8
0x95,0x01, // Report Count 1
0x91,0x02, // Output (Variable)
0x09,0x51, // Usage Sample Period
0x66,0x03,0x10, // Unit 1003h (4099d)
0x55,0xFD, // Unit Exponent FDh (253d)
0x15,0x00, // Logical Minimum 0
0x26,0xFF,0x7F, // Logical Maximum 7FFFh (32767d)
0x35,0x00, // Physical Minimum 0
0x46,0xFF,0x7F, // Physical Maximum 7FFFh (32767d)
0x75,0x10, // Report Size 10h (16d)
0x95,0x01, // Report Count 1
0x91,0x02, // Output (Variable)
0x55,0x00, // Unit Exponent 0
0x66,0x00,0x00, // Unit 0
0xC0 , // End Collection
0x09,0xAB, // Usage Undefined
0xA1,0x02, // Collection Datalink
0x85,0x01, // Report ID 1
0x09,0x25, // Usage Effect Type
0xA1,0x02, // Collection Datalink
0x09,0x26, // Usage ET Constant Force
0x09,0x27, // Usage ET Ramp
0x09,0x30, // Usage ET Square
0x09,0x31, // Usage ET Sine
0x09,0x32, // Usage ET Triangle
0x09,0x33, // Usage ET Sawtooth Up
0x09,0x34, // Usage ET Sawtooth Down
0x09,0x40, // Usage ET Spring
0x09,0x41, // Usage ET Damper
0x09,0x42, // Usage ET Inertia
0x09,0x43, // Usage ET Friction
0x09,0x28, // Usage ET Custom Force Data
0x25,0x0C, // Logical Maximum Ch (12d)
0x15,0x01, // Logical Minimum 1
0x35,0x01, // Physical Minimum 1
0x45,0x0C, // Physical Maximum Ch (12d)
0x75,0x08, // Report Size 8
0x95,0x01, // Report Count 1
0xB1,0x00, // Feature
0xC0 , // End Collection
0x05,0x01, // Usage Page Generic Desktop
0x09,0x3B, // Usage Byte Count
0x15,0x00, // Logical Minimum 0
0x26,0xFF,0x01, // Logical Maximum 1FFh (511d)
0x35,0x00, // Physical Minimum 0
0x46,0xFF,0x01, // Physical Maximum 1FFh (511d)
0x75,0x0A, // Report Size Ah (10d)
0x95,0x01, // Report Count 1
0xB1,0x02, // Feature (Variable)
0x75,0x06, // Report Size 6
0xB1,0x01, // Feature (Constant)
0xC0 , // End Collection
0x05,0x0F, // Usage Page Physical Interface
0x09,0x89, // Usage Block Load Status
0xA1,0x02, // Collection Datalink
0x85,0x02, // Report ID 2
0x09,0x22, // Usage Effect Block Index
0x25,0x28, // Logical Maximum 28h (40d)
0x15,0x01, // Logical Minimum 1
0x35,0x01, // Physical Minimum 1
0x45,0x28, // Physical Maximum 28h (40d)
0x75,0x08, // Report Size 8
0x95,0x01, // Report Count 1
0xB1,0x02, // Feature (Variable)
0x09,0x8B, // Usage Block Load Full
0xA1,0x02, // Collection Datalink
0x09,0x8C, // Usage Block Load Error
0x09,0x8D, // Usage Block Handle
0x09,0x8E, // Usage PID Block Free Report
0x25,0x03, // Logical Maximum 3
0x15,0x01, // Logical Minimum 1
0x35,0x01, // Physical Minimum 1
0x45,0x03, // Physical Maximum 3
0x75,0x08, // Report Size 8
0x95,0x01, // Report Count 1
0xB1,0x00, // Feature
0xC0 , // End Collection
0x09,0xAC, // Usage Undefined
0x15,0x00, // Logical Minimum 0
0x27,0xFF,0xFF,0x00,0x00, // Logical Maximum FFFFh (65535d)
0x35,0x00, // Physical Minimum 0
0x47,0xFF,0xFF,0x00,0x00, // Physical Maximum FFFFh (65535d)
0x75,0x10, // Report Size 10h (16d)
0x95,0x01, // Report Count 1
0xB1,0x00, // Feature
0xC0 , // End Collection
0x09,0x7F, // Usage ROM Pool Size
0xA1,0x02, // Collection Datalink
0x85,0x03, // Report ID 3
0x09,0x80, // Usage ROM Effect Block Count
0x75,0x10, // Report Size 10h (16d)
0x95,0x01, // Report Count 1
0x15,0x00, // Logical Minimum 0
0x35,0x00, // Physical Minimum 0
0x27,0xFF,0xFF,0x00,0x00, // Logical Maximum FFFFh (65535d)
0x47,0xFF,0xFF,0x00,0x00, // Physical Maximum FFFFh (65535d)
0xB1,0x02, // Feature (Variable)
0x09,0x83, // Usage PID Pool Move Report
0x26,0xFF,0x00, // Logical Maximum FFh (255d)
0x46,0xFF,0x00, // Physical Maximum FFh (255d)
0x75,0x08, // Report Size 8
0x95,0x01, // Report Count 1
0xB1,0x02, // Feature (Variable)
0x09,0xA9, // Usage Undefined
0x09,0xAA, // Usage Undefined
0x75,0x01, // Report Size 1
0x95,0x02, // Report Count 2
0x15,0x00, // Logical Minimum 0
0x25,0x01, // Logical Maximum 1
0x35,0x00, // Physical Minimum 0
0x45,0x01, // Physical Maximum 1
0xB1,0x02, // Feature (Variable)
0x75,0x06, // Report Size 6
0x95,0x01, // Report Count 1
0xB1,0x03, // Feature (Constant, Variable)
0xC0, // End Collection
0xC0 // End Collection


I have no time to check it, but I will be nice if some one send it an check if it working.


Kind regards,
Sylwester
post edited by Arrow - 2008/11/19 04:36:16
#36
pk_volt
Super Member
  • Total Posts : 354
  • Reward points : 0
  • Joined: 2007/04/27 19:35:47
  • Location: 0
  • Status: offline
RE: Force Feedback Device 2008/10/30 11:04:53 (permalink)
0
Arrow,

just try out that report descriptor to see if it works.

All you have to do is find the size of that report descriptor by simply doing something like char reportDsc = { COPY & PASTE ENTIRE REPORT DESCRIPTOR};

Then do a printf("report size = %d", sizeof (reportDsc) );  to print out the size of the report descriptor.

paste this value in your firmware and see if it runs.
#37
Arrow
New Member
  • Total Posts : 12
  • Reward points : 0
  • Joined: 2008/09/23 12:54:17
  • Location: POLAND
  • Status: offline
RE: Force Feedback Device 2008/11/17 09:44:07 (permalink)
0
Hello,
After some time I have opportunity to check this long descriptor and it working!!! grin
Windows see it as force feedback device, I'm able to send data to PC but can’t receive :(
I used USBlyzer to look what is transferred between PC and my device and I get some think like this:


URB Class Interface issued
Device Object USBPDO-10
Driver Object usbhub

URB Function URB_FUNCTION_CLASS_INTERFACE

Request Type Class request to Interface
Request 09h
Value 0301h
Index 0000h
Length 0004h

-----------------------------------------------------------

URB Control Transfer failed
Device Object USBPDO-10
Driver Object usbhub

URB Function URB_FUNCTION_CONTROL_TRANSFER
URB Status USBD_STATUS_STALL_PID

Endpoint 0 Default Control

Request Type Class request to Interface
Request 09h
Value 0301h
Index 0000h
Length 0004h




If any one of you know some thing about it? For sure some thing is missing in my USB implementation.
#38
pk_volt
Super Member
  • Total Posts : 354
  • Reward points : 0
  • Joined: 2007/04/27 19:35:47
  • Location: 0
  • Status: offline
RE: Force Feedback Device 2008/11/17 12:01:09 (permalink)
0
CONGRATS Arrow!

You're almost there.  Keep us posted
#39
verm_pat
New Member
  • Total Posts : 21
  • Reward points : 0
  • Joined: 2008/10/23 00:43:02
  • Location: The Netherlands
  • Status: offline
RE: Force Feedback Device 2008/11/18 05:50:27 (permalink)
0
You know what? That report descriptor looks awfully familliar, I tried to use it before.
It didn't really work, it was possible to send data to the px, but not to recieve the force feedback on the device.
Does anybody know what to do to make it work? I have everything figured out on my chip, the only problem is that I can't get the device to enumerate as a Force Feedback Devicesad.

Can please anybody help me?

Verm_Pat
#40
Page: < 12345.. > >> Showing page 2 of 6
Jump to:
© 2019 APG vNext Commercial Version 4.5