3

I am trying to connect a joystick to my pc. The device has a serial cable which is supposed to be inserted into another device (a steering wheel), but instead I want to use it directly. Eventually I plan to connect it to a program that am currently writing.

How can I communicate with this device? I know how to communicate to a serial device, I just don't understand what I should send and expect to receive.

Debugging attempts:

If I connect it directly to my PC's serial device and using a program such as moserial I can sort of communicate with it, if I pound on the keyboard it returns (usually) one byte and "=\n" per byte sent. The return codes do not seem to always correspond to the state of the joysitck. It seems to be returning the same value for the same value. Once or twice I noticed that if I send a large amount of random data I can get it to hang until I switch the position of the joystick. But for the most part there seems to be nonsensical responses (same input per output regardless of state). I also tried a serial-to-usb converter which had a different result. Under USB the device does pretty much nothing regardless of the baud rate. I have noticed that if I send an incredible amount of random kepresses I occasionally get a single unprintable character in response.

https://i.stack.imgur.com/ZqvtX.png

https://i.stack.imgur.com/ZKtZv.png

I was expecting to get a continuous stream of numbers corresponding to the state of the joystick.

Summary: I don't know if my direct serial connection is just showing noise, I did try a second serial to USB converter which had the same results. Any ideas or suggesting in determining how to communicate with this device?

Tim Sylvester
  • 22,897
  • 2
  • 80
  • 94
user1529413
  • 458
  • 8
  • 19
  • I found this: http://www.basherboards.com/FL2 this is a serial to USB device to convert this shifter to a standard shifter. I'm not sure this helps my efforts or not but perhaps another piece of the puzzle. – user1529413 Aug 30 '15 at 00:42
  • See if you can identify the chipset inside the device. Preferably in the joystick itself, if not, look at steering wheel that decodes it. Hopefully at least one device isn't a chip-on-board(black blob of epoxy covering circuitry). Google the or related data sheet & ensure voltage levels are proper, 5v or 3.3v or something else.You could also monitor joy to steering wheel voltage(multimeter) & transmissions ~$8 "8ch USB Logic Analyzer" on ebay. Use datasheet for transmission modes, if many either write a program, or use one of the many python scripts on github for embedded devices to detect. – gmlime Sep 06 '15 at 14:08
  • You have my full support on this, as at one point in time I wanted to do the same. To buy this separately and make it work for a different steering wheel. I was even downloading the drivers to reverse engineer it, but I gave up eventually. – farmdve Sep 06 '15 at 22:37
  • Do you have the steering wheel it's expected to be plugged into? It might provide some kind of initialization command, calibration sequence, etc., that the joystick is expecting. You could use two ports and a simple program to snoop on their communication while proxying the data between the two ports to see what it's expecting. – Tim Sylvester Sep 07 '15 at 00:08
  • No I do not. I believe the answer is going to be to rip out the circuit and replace it with a adrino device. The adrino would return resistances over a serial connection and then get translated by software that I would write. I'm not familiar with microcontrollers so this is where I am stuck. – user1529413 Jan 30 '16 at 16:25
  • Hey Guys.. I've abandoned this and now use a Thrustmaster (USB/HID device). This ties into a desktop switcher application. I'm able to get the data over Serial/USB, start and terminate an associated windows program when the device is plugged in/removed. If anyone wants any of this code I'm happy to supply it. – user1529413 Dec 07 '18 at 18:37
  • I know this is late but this youtube video does it (https://www.youtube.com/watch?v=dLpWEu8kCec), I tried to do it myself and it works just fine. :) – dcangulo Jun 26 '19 at 09:40
  • @David Angulo, no I appreciate it. I've got another device that I can fully control (receive up to the millisecond x/y coordinates) then Kik of my application accordingly (dexpot desktop switcher btw) – user1529413 Jun 27 '19 at 16:40
  • @David your youtube video is the answer, if you add it I'll mark it. (Side note stackoverflow has all all scared to do something wrong.. I really think its a.problem with so) – user1529413 Jul 03 '19 at 23:47
  • It doesn't use serial. It's just straight connections to potentiometers for stick position and shift registers for buttons. https://github.com/chrisjansson/Shifter And questions how to wire hardware are off-topic here. – gre_gor Oct 31 '19 at 15:46

0 Answers0