nightmode / logitech-g29

Logitech G29 Racing Wheel for Node
Creative Commons Zero v1.0 Universal
104 stars 35 forks source link

Applies to other Logitech wheels (G920) #10

Closed ctospark closed 5 years ago

ctospark commented 5 years ago

Thank you for your great work. I would like to apply this module for Logitech G920. I modified the vendor and product ID in index.js to connect G920 but when I executed example js file for connect, it made following error.

Error: Cannot write to HID device at relayOS (C:\Users\sungwoo\Documents\logitech_con\node_modules\logitech-g29\code\index.js:215:12) at forceConstant (C:\Users\sungwoo\Documents\logitech_con\node_modules\logitech-g29\code\index.js:388:5) at Object.connect (C:\Users\sungwoo\Documents\logitech_con\node_modules\logitech-g29\code\index.js:147:5) at Object. (C:\Users\sungwoo\Documents\logitech_con\connect.js:3:3) at Module._compile (module.js:652:30) at Object.Module._extensions..js (module.js:663:10) at Module.load (module.js:565:32) at tryModuleLoad (module.js:505:12) at Function.Module._load (module.js:497:3) at Function.Module.runMain (module.js:693:10)

Would you mind tell me which parts should be changed to connect with G920? Thank you for your great work.

Sungwoo

nightmode commented 5 years ago

Hi and thanks. :D

It looks like the G920 is the Xbox version of a Logitech Wheel ya?

Sounds like you found the wheel by changing the vendor and product ID so that is good news. Then it gets stuck trying to send a movement command to the wheel in order to see which wheel mode the G920 is in. Not sure if detecting the low or high precision wheel mode is necessary for this particular wheel though. I don't have a G920 to experiment on so I can only offer you some ideas to try.

Ideas to try in logitech-g29\code\index.js

I'm not sure how much I can help but if you find that you make a tiny bit more progress before getting stuck at the next thing, let me know.

nightmode commented 5 years ago

Hey ctospark,

Can you run node ./test/hid-devices.js and then search for G920 and post the object (or objects) you find?

Here is my G29 object. Ignore the productId since I'm having an issue with that currently.

{
    vendorId: 1133,
    productId: 49812,
    path: 'IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/XHC1@14/XHC1@14000000/HS11@14600000/G29 Driving Force Racing Wheel@14600000/IOUSBHostInterface@0/IOUSBHostHIDDevice@14600000,0',
    serialNumber: '',
    manufacturer: 'Logitech',
    product: 'G29 Driving Force Racing Wheel',
    release: 4944,
    interface: -1,
    usagePage: 1,
    usage: 5
}