Reverse Engineering the Force Feedback Pro

For system help, all hardware / software topics NOTE: use Coders Corner for all coders topics.

Moderators: Krom, Grendel

papounet2
DBB Cadet
DBB Cadet
Posts: 2
Joined: Mon May 19, 2014 4:38 pm

Re: Reverse Engineering the Force Feedback Pro

Post by papounet2 »

Hi,

I am in dire need of such an adapter .
I tried to build my own but could not source a db15 in-line connector.

Please help

nicolas
User avatar
Scanjo
DBB Ace
DBB Ace
Posts: 64
Joined: Wed Oct 23, 2013 9:01 pm

Re: Reverse Engineering the Force Feedback Pro

Post by Scanjo »

papounet2 wrote:Hi,

I am in dire need of such an adapter .
I tried to build my own but could not source a db15 in-line connector.

Please help

nicolas
I'd send you a DB-15 but all I have are right angle circuit board mount, which won't work on a breadboard... Sorry.
=================
More info is on MY SITE.
TheGenesis
DBB Cadet
DBB Cadet
Posts: 3
Joined: Fri Jun 06, 2014 12:33 pm

Re: Reverse Engineering the Force Feedback Pro

Post by TheGenesis »

Is there anyone willing to sell such adapter to me?
edmacfly
DBB Cadet
DBB Cadet
Posts: 2
Joined: Wed Jun 25, 2014 5:05 am

Re: Reverse Engineering the Force Feedback Pro

Post by edmacfly »

Been keeping hold of my Sidewinder Force Feedback Wheel for a good few years now and finally happened upon this thread. Looks like there has been some great work in trying to get these classic controllers back up and running. Are there any updates from the developers as to progress? Thanks everyone involved for all the hard work to date - it will be so good to get the old wheel going again!!
User avatar
Scanjo
DBB Ace
DBB Ace
Posts: 64
Joined: Wed Oct 23, 2013 9:01 pm

Re: Reverse Engineering the Force Feedback Pro

Post by Scanjo »

edmacfly wrote:Been keeping hold of my Sidewinder Force Feedback Wheel for a good few years now and finally happened upon this thread. Looks like there has been some great work in trying to get these classic controllers back up and running. Are there any updates from the developers as to progress? Thanks everyone involved for all the hard work to date - it will be so good to get the old wheel going again!!
You should see any progress noted here or at the Google code page. Things are currently in a lull.
=================
More info is on MY SITE.
edmacfly
DBB Cadet
DBB Cadet
Posts: 2
Joined: Wed Jun 25, 2014 5:05 am

Re: Reverse Engineering the Force Feedback Pro

Post by edmacfly »

Thanks for the link. Actually posted a small message on there back in May but no response. Would be great if the team could make a breakthrough but as with all these things, real life gets in the way. I will sit and wait patiently...
wuratzu
DBB Cadet
DBB Cadet
Posts: 3
Joined: Sun Aug 03, 2014 9:34 am

Re: Reverse Engineering the Force Feedback Pro

Post by wuratzu »

Hi guys, I just dusted off my old Sidewinder Force Feedback Pro and got here with a search to get it working with USB. It seems that the adapt-ffb-joy project is only meant for windows, but I'm using linux. I know sidewinder support is built into the linux kernel, but I can't seem to find out if it would also work with the Teensy 2.0 based adapter board.

Does anyone know? Or could maybe point me in the right direction? Thanks.
User avatar
Scanjo
DBB Ace
DBB Ace
Posts: 64
Joined: Wed Oct 23, 2013 9:01 pm

Re: Reverse Engineering the Force Feedback Pro

Post by Scanjo »

wuratzu wrote:Hi guys, I just dusted off my old Sidewinder Force Feedback Pro and got here with a search to get it working with USB. It seems that the adapt-ffb-joy project is only meant for windows, but I'm using linux. I know sidewinder support is built into the linux kernel, but I can't seem to find out if it would also work with the Teensy 2.0 based adapter board.

Does anyone know? Or could maybe point me in the right direction? Thanks.
It should work just fine on Linux. The smarts are in the code loaded to the Teensy. The computer sees it as a rather generic HID (Human Interface Device) which Windows, Mac OS, and Linux all support. The adapt-ffb-joy code is based on the 3DP-Vert project and I'm pretty sure I remember Grendel saying 3DP-Vert would work on Linux. I have been wrong before, but that's the way I understand it.
=================
More info is on MY SITE.
wuratzu
DBB Cadet
DBB Cadet
Posts: 3
Joined: Sun Aug 03, 2014 9:34 am

Re: Reverse Engineering the Force Feedback Pro

Post by wuratzu »

Thanks for the answer. That's good news as a Teensy 2.0 is already on the way. I thought I read in the other thread that someone got it working on linux so I'm quite confident it should.

I read that the force feedback is send through midi ports and that the protocol is mostly reverse engineered, so I might try to write a script that sends FFB effects from Kerbal Space Program. As I have an extra midi port available and KSP is easily modable. I'm sure to report back here in the small chance I get this working.
User avatar
Scanjo
DBB Ace
DBB Ace
Posts: 64
Joined: Wed Oct 23, 2013 9:01 pm

Re: Reverse Engineering the Force Feedback Pro

Post by Scanjo »

wuratzu wrote:Thanks for the answer. That's good news as a Teensy 2.0 is already on the way. I thought I read in the other thread that someone got it working on linux so I'm quite confident it should.

I read that the force feedback is send through midi ports and that the protocol is mostly reverse engineered, so I might try to write a script that sends FFB effects from Kerbal Space Program. As I have an extra midi port available and KSP is easily modable. I'm sure to report back here in the small chance I get this working.
As far as I know, the FFP is complete. Everything works. The project that is still ongoing is the FFB Wheel. They have the basic wheel working and a good foothold on the reverse engineering of the FFB commands. There is a basic firmware file available so people can at least dust off their wheels and use them. It should be updated at some point to add the FFB effects.

Good luck with your project. I'm not sure what you mean when you say you "have an extra midi port available" as current motherboards don't have them...but maybe I just don't understand what you're doing. :? It wouldn't be the first time. :lol:
=================
More info is on MY SITE.
wuratzu
DBB Cadet
DBB Cadet
Posts: 3
Joined: Sun Aug 03, 2014 9:34 am

Re: Reverse Engineering the Force Feedback Pro

Post by wuratzu »

First off: I have patched up the adapter on a breadboard and the FFP works great.
Scanjo wrote:As far as I know, the FFP is complete. Everything works. [...]
Oh that's amazing, I thought it wasn't implemented yet because of Grendel's first post in the other thread. Guess I should have read this whole thread before posting. I still have to try it out though as I have sold off my FFP's power supply a few years earlier in (what appears to be now) a not so smart move, thinking I would never use it again. :oops:
Scanjo wrote:[...] I'm not sure what you mean when you say you "have an extra midi port available" [...]
Well what I meant was that I have a midi keyboard with a midi output on it (and a lot of patchcables to cut up). But gladly it seems I'll "just" have to write a standard FFB plugin for KSP.

Now I still have some questions about the firmware. Am I correct in thinking that the adaptffbjoy-r54.hex is basically the same as the 3DPro32u4-10.hex firmware but with FFB support and 4 extra trim pots/axes?
cal wrote:About the trimpots. Yes, they were intended (and used) for additional analog axis and primarily I myself put them since I wanted to have my rudder pedals, elevator trims and rudder trims in the same controller when playing my favorite combat flight sim IL-2. Anyone is free to use these additional axis for anything or just leave them unused. I have them connected to pedals and a couple of quality pots I have mechanically attached to a side of my Sidewinder so I can easily reach them with my fingers while playing. I was actually still missing a couple more of these analog axis for the wheel breaks of an airplane (like some commercial pedals have), but as the pedals I made for myself didn't have enough mechanical parts, the wheel break axis were still left out from the adapter project too. It is quite easy (for a programmer with basic AVR-skills) to have these additional axis. And I think there is still room for some additional buttons too if desired.
I would love to turn this adapter into a little control box with a small joystick for translation, some switches and a big abort button. So I'm rather interested in the additional buttons that can be added.

Futhermore I am having a little trouble with getting the extra axes to work with a logitech pedal I have, but I'll try it with a normal 10k pot first before asking for help.
User avatar
Scanjo
DBB Ace
DBB Ace
Posts: 64
Joined: Wed Oct 23, 2013 9:01 pm

Re: Reverse Engineering the Force Feedback Pro

Post by Scanjo »

wuratzu wrote:Now I still have some questions about the firmware. Am I correct in thinking that the adaptffbjoy-r54.hex is basically the same as the 3DPro32u4-10.hex firmware but with FFB support and 4 extra trim pots/axes?
Ok...How do I explain this without being confusing... They are similar but have big differences.

The 3DPro32u4-10.hex is basically the same as the 3DPro32u4-9.hex and supports the whole mess of Sidewinder sticks (not the wheel) but neither have FFB support. The reason -10 was made was specifically by my request so my board could support BOTH firmwares. One piece of hardware to go both ways with a quick firmware swap. Cal had to change some connections to the teensy for technical reasons to be able to add the FFB effects. Grendel made the changes to 3DPro32u4-10.hex so it supports those connection changes. The code in these files is optimized for gaming.

The adaptffbjoy-r54.hex is based upon an earlier version of 3DPro32u4-9.hex but supports ONLY the FFP with FFB effects but none of the other sticks or the wheel. Cal stripped the code supporting the other sticks and the optional pots to make room for FFB descriptors. Grendel did a lot of optimizing on his code while Cal was working on the Adapt-FFB-Joy project. adaptffbjoy-r54.hex works well with flight sims.

The adapt-ffb-joy-wheel.zip is for the wheel only. The wheel is shown as "LUFA Wheel wFFB" when connected. There is hat, x/y/z-rotation, wrong number of buttons etc shown with joy.cpl as left overs from joystick descriptors. FFB Initialization works with this version, spring effect is released when the wheel is detected. No FFB effects function yet. This is a developmental release only so people could hook up their wheels and get some use from them. It isn't even to the alpha or beta stage.

Hopefully that helps to clarify what the different firmware files support and why they are all 3 needed if you want all the functionality available.
=================
More info is on MY SITE.
osterac
DBB Cadet
DBB Cadet
Posts: 16
Joined: Sat Aug 17, 2013 4:43 pm
Location: California

Re: Reverse Engineering the Force Feedback Pro

Post by osterac »

Okay so it's been a little while so I'm sorry if this has already been covered but I'm trying to get my sidewinder FFB wheel working with the prototype wheel firmware. If there's no force feedback I'm okay with that. Does the teensy need to wired differently? I have it wired for the FFB pro joystick. I'm having trouble finding info on this, the firmware was also difficult to find (I know it's unfinished, but I want to try it).
Thanks
User avatar
Scanjo
DBB Ace
DBB Ace
Posts: 64
Joined: Wed Oct 23, 2013 9:01 pm

Re: Reverse Engineering the Force Feedback Pro

Post by Scanjo »

osterac wrote:Okay so it's been a little while so I'm sorry if this has already been covered but I'm trying to get my sidewinder FFB wheel working with the prototype wheel firmware. If there's no force feedback I'm okay with that. Does the teensy need to wired differently? I have it wired for the FFB pro joystick. I'm having trouble finding info on this, the firmware was also difficult to find (I know it's unfinished, but I want to try it).
Thanks
I'm fairly certain you just load the new firmware on the Teensy and it works with no changes to the wiring. You must be using the schematic for the adapt-ffb-joy and NOT the sw3dprousb (aka 3DP-Vert). Easy way to tell the difference, the adapt-ffb-joy has 3 resistors where the 3DP-Vert has only 2. Thus far, there is no FFB for the wheel. There are 2 files for the firmware in this thread. Be sure to use the second one as it is more recent and I believe it turns off centering when the wheel is initialized.
=================
More info is on MY SITE.
osterac
DBB Cadet
DBB Cadet
Posts: 16
Joined: Sat Aug 17, 2013 4:43 pm
Location: California

Re: Reverse Engineering the Force Feedback Pro

Post by osterac »

Thanks Ace, all working now. By the way, I don't think I ever showed you guys my finished adapter.

Image
Image
Image
Attachments
FFB3.jpg
FFB2.jpg
FFB1.jpg
User avatar
Scanjo
DBB Ace
DBB Ace
Posts: 64
Joined: Wed Oct 23, 2013 9:01 pm

Re: Reverse Engineering the Force Feedback Pro

Post by Scanjo »

Glad you got it working. Nice compact design. I like it.
=================
More info is on MY SITE.
TheGenesis
DBB Cadet
DBB Cadet
Posts: 3
Joined: Fri Jun 06, 2014 12:33 pm

Re: Reverse Engineering the Force Feedback Pro

Post by TheGenesis »

Finally a friend of mine has soldered me the adapter.
Everything is working fine except the FFB effects.

My stick is a brand new "SideWinder Force Feedback Pro" and works perfect under Windows 98.
It is the version without the fan (Product ID. 96755-579-0463576-00000).

I have flashed the firmware adaptffbjoy-r54.hex.

Anyone any ideas?
Drakoz
DBB Captain
DBB Captain
Posts: 556
Joined: Thu Nov 05, 1998 12:01 pm
Location: San Jose, CA
Contact:

Re: Reverse Engineering the Force Feedback Pro

Post by Drakoz »

Make sure the two caps (C1, C2, the 1nF caps) were installed in the correct place. They are listed as optional in the schematic, but I found the FFB does not work without them. I think those that have gotten it to work without these caps were lucky - because their circuit added enough capacitance by the wires and such (like on a breadboard). But in a small tight circuit soldered together on a circuit board, you probably always need them. Beyond that, you just have to meticulously verify the circuit was made correctly. Assume whatever is the issue is an assembly issue because that is most likely the cause.

If you still have difficulty, take pictures of your board (close up) and post here.

Mike
TheGenesis
DBB Cadet
DBB Cadet
Posts: 3
Joined: Fri Jun 06, 2014 12:33 pm

Re: Reverse Engineering the Force Feedback Pro

Post by TheGenesis »

With the two caps everything is working fine now.
Seems this has also stabilized the readings from the pots.

Thanks alot!!!
User avatar
Scanjo
DBB Ace
DBB Ace
Posts: 64
Joined: Wed Oct 23, 2013 9:01 pm

Re: Reverse Engineering the Force Feedback Pro

Post by Scanjo »

I'm preparing for a second production run. Parts are ordered. Sample board is soldered up and tested. Sample is on it's way to a fellow who will be designing a 3D printed case for the version 2 board. I haven't got a solid price on the board yet but it should be about the same as last time. Around $40 plus actual shipping costs. Won't know a cost on the custom case till it's designed. Stay tuned. Here's a pic of the v2.0 board. It will come without the option header and jumper unless requested. At this point it allows the addition of rudder pedals. There may be future options made available with a new firmware file.

Image
=================
More info is on MY SITE.
User avatar
Scanjo
DBB Ace
DBB Ace
Posts: 64
Joined: Wed Oct 23, 2013 9:01 pm

Re: Reverse Engineering the Force Feedback Pro

Post by Scanjo »

I have enough parts ordered to make 100 boards. 90 are spoken for right now. Get your request in ASAP as I don't know when or IF there will be a run 3.
=================
More info is on MY SITE.
User avatar
Do_Checkor
DBB DemiGod
DBB DemiGod
Posts: 710
Joined: Mon Jan 26, 2004 3:01 am
Location: Germany
Contact:

Re: Reverse Engineering the Force Feedback Pro

Post by Do_Checkor »

Hi there Scott!

I tried to find out from skimming through this thread but am still not sure. So: This adapter actually does the precision pro FFB as well as 3D PRO, right?

I'd be in for 2-20 - I am soldering the 3D pro ones by hand for years - mostly for the german / european Descent community - but because of my new job I just don't have the time to serve all the requests...

http://www.descentforum.de/forum/viewto ... 1715#61715

So: I'd be happy about a couple of your ones :-)
User avatar
Scanjo
DBB Ace
DBB Ace
Posts: 64
Joined: Wed Oct 23, 2013 9:01 pm

Re: Reverse Engineering the Force Feedback Pro

Post by Scanjo »

Do_Checkor wrote:Hi there Scott!

I tried to find out from skimming through this thread but am still not sure. So: This adapter actually does the precision pro FFB as well as 3D PRO, right?

I'd be in for 2-20 - I am soldering the 3D pro ones by hand for years - mostly for the german / european Descent community - but because of my new job I just don't have the time to serve all the requests...

http://www.descentforum.de/forum/viewto ... 1715#61715

So: I'd be happy about a couple of your ones :-)
It supports FFP with FFB effects on one firmware, FFP (without FFB) & PP & 3D Pro & 3D Pro Plus on another firmware, and FFW (no FFB) on beta firmware.

I have 5 left on run 2 (which I haven't started building yet except for the sample) so if you want them, use the link in my sig to fill out the form. Looks like I'll be soldering all winter! I was worried I wouldn't have demand enough for a run of 50. I got real good response over the summer so ordered 100 boards. Maybe should have ordered more...but then I'd need help building. If this keeps up, I may need to just sell kits, or raise the price so I actually make some money and slow down orders. :)
=================
More info is on MY SITE.
User avatar
Do_Checkor
DBB DemiGod
DBB DemiGod
Posts: 710
Joined: Mon Jan 26, 2004 3:01 am
Location: Germany
Contact:

Re: Reverse Engineering the Force Feedback Pro

Post by Do_Checkor »

I understand.

Well: I'll happily take them, then, as per form confirmation. Forgot to mention firmware: Make them FFP please, but if you don't fancy it:
No worries. I have flashed 20 hex files myself through the Teensy tool, so I should be fine.

Good news! Thank you!
User avatar
Scanjo
DBB Ace
DBB Ace
Posts: 64
Joined: Wed Oct 23, 2013 9:01 pm

Re: Reverse Engineering the Force Feedback Pro

Post by Scanjo »

Do_Checkor wrote:I understand.

Well: I'll happily take them, then, as per form confirmation. Forgot to mention firmware: Make them FFP please, but if you don't fancy it:
No worries. I have flashed 20 hex files myself through the Teensy tool, so I should be fine.

Good news! Thank you!
I always load firmware on the Teensy. Every board is tested before it leaves here. If the buyer doesn't specify, then I normally load the firmware that works with the most joysticks. I'll load the FFP w/FFB on yours.

BTW...your email address in the form looks a bit strange. Could you send me a test message real quick so I can save the reply address please? If I can't contact you for payment when the boards are ready then I won't send them. Thanks.

Scott at IowaJohnsons dot com (at=@ and dot=.)
=================
More info is on MY SITE.
User avatar
Do_Checkor
DBB DemiGod
DBB DemiGod
Posts: 710
Joined: Mon Jan 26, 2004 3:01 am
Location: Germany
Contact:

Re: Reverse Engineering the Force Feedback Pro

Post by Do_Checkor »

Scanjo wrote: I always load firmware on the Teensy. Every board is tested before it leaves here. If the buyer doesn't specify, then I normally load the firmware that works with the most joysticks. I'll load the FFP w/FFB on yours.

BTW...your email address in the form looks a bit strange. Could you send me a test message real quick so I can save the reply address please? If I can't contact you for payment when the boards are ready then I won't send them. Thanks.

Scott at IowaJohnsons dot com (at=@ and dot=.)

Alright, great, thanks :) The mail address is correct, no worries. I received a confirmation email (through that google form) just fine. It is just my way to prevent spam - but it works fine :)
jaffa225man
DBB Cadet
DBB Cadet
Posts: 15
Joined: Mon Dec 15, 2014 5:32 pm

Re: Reverse Engineering the Force Feedback Pro

Post by jaffa225man »

I've built the circuit and programmed it with both the stable and then the latest (self-compiled) firmware. I think I must have done something wrong building the circuit, because the shift button acts as a separate button and doesn't double each other button's functionality. I doubt this is normal because I see the extra buttons in XP's joystick calibration screen, but I can't get them to show as pushed in that interface. (I should really try it on GNU/Linux, as that's what I plan to use it on.)

Thanks for the awesome project and any answers to this.
User avatar
Scanjo
DBB Ace
DBB Ace
Posts: 64
Joined: Wed Oct 23, 2013 9:01 pm

Re: Reverse Engineering the Force Feedback Pro

Post by Scanjo »

jaffa225man wrote:I've built the circuit and programmed it with both the stable and then the latest (self-compiled) firmware. I think I must have done something wrong building the circuit, because the shift button acts as a separate button and doesn't double each other button's functionality. I doubt this is normal because I see the extra buttons in XP's joystick calibration screen, but I can't get them to show as pushed in that interface. (I should really try it on GNU/Linux, as that's what I plan to use it on.)

Thanks for the awesome project and any answers to this.
I'd like to help but I need specifics to have any hope of helping.

-What firmware file are you using? Some of them show buttons in the control panel that don't do anything.
-What joystick are you using?
-Can you load a downloadable file so we know for sure what we're working with? Either here: http://code.google.com/p/adapt-ffb-joy/downloads/list or here: http://code.google.com/p/sw3dprousb/downloads/list depending on the stick you're connecting.
-Are you sure the buttons are working correctly to begin with? When I dug my joystick out after years in a closet, the buttons were hit and miss. Had to tear into it and clean it up good.

I'll try to watch here better so my reply is quicker. ;)
=================
More info is on MY SITE.
jaffa225man
DBB Cadet
DBB Cadet
Posts: 15
Joined: Mon Dec 15, 2014 5:32 pm

Re: Reverse Engineering the Force Feedback Pro

Post by jaffa225man »

Thanks DBB Ace, you're brilliant! Your response seems fast to me, and I don't intend for you work on this over the holidays if you don't want to.

The firmware I used first was adaptffbjoy-r54.hex and now I'm on a self-compiled variant of r74 (with debugging disabled to improve my joystick's responsiveness). I didn't build the circuit with the extra optional potentiometers, so I know there are some controls that are not controllable, but I think these buttons should be.

I'm using a "Sidewinder Force Feedback Pro" with a 96755-579-starting serial number. It has a fan that runs when it's plugged in and hooked up to your adapter (or a standard gameport).

Sure, I can load any file you'd like from either location. I believe the adaptffbjoy-r54.hex I had tried was from https://code.google.com/p/adapt-ffb-joy/downloads/list.

Here, interestingly, I think you've made me realize the issue. I was able to test it in "Gaming Options" -> "Properties" -> "Test Forces" on windows millenium and the shift button functions to double every other button, so the buttons are actually working. But on the same system in a game (star wars racer) I was unable to use it this way. Instead the shift button, once pressed, is instantly detected as button 10, without waiting for a simultaneous button press. Therefore, I can't even try to assign a combination to a function. So, it appears microsoft didn't implement this as a shift button in hardware, and probably just expected software to poll both at the same time if they wanted to utilize extra combinations.

I'm sorry for bothering you with such a trivial discovery when you probably were aware of this limitation from the start, and I was just basing it all on an incorrect assumption. :(

Thanks again for your excellent work and time! :)
User avatar
Scanjo
DBB Ace
DBB Ace
Posts: 64
Joined: Wed Oct 23, 2013 9:01 pm

Re: Reverse Engineering the Force Feedback Pro

Post by Scanjo »

jaffa225man wrote:Thanks DBB Ace, you're brilliant! Your response seems fast to me, and I don't intend for you work on this over the holidays if you don't want to.

The firmware I used first was adaptffbjoy-r54.hex and now I'm on a self-compiled variant of r74 (with debugging disabled to improve my joystick's responsiveness). I didn't build the circuit with the extra optional potentiometers, so I know there are some controls that are not controllable, but I think these buttons should be.

I'm using a "Sidewinder Force Feedback Pro" with a 96755-579-starting serial number. It has a fan that runs when it's plugged in and hooked up to your adapter (or a standard gameport).

Sure, I can load any file you'd like from either location. I believe the adaptffbjoy-r54.hex I had tried was from https://code.google.com/p/adapt-ffb-joy/downloads/list.

Here, interestingly, I think you've made me realize the issue. I was able to test it in "Gaming Options" -> "Properties" -> "Test Forces" on windows millenium and the shift button functions to double every other button, so the buttons are actually working. But on the same system in a game (star wars racer) I was unable to use it this way. Instead the shift button, once pressed, is instantly detected as button 10, without waiting for a simultaneous button press. Therefore, I can't even try to assign a combination to a function. So, it appears microsoft didn't implement this as a shift button in hardware, and probably just expected software to poll both at the same time if they wanted to utilize extra combinations.

I'm sorry for bothering you with such a trivial discovery when you probably were aware of this limitation from the start, and I was just basing it all on an incorrect assumption. :(

Thanks again for your excellent work and time! :)
Actually I probably don't know much more than you. Grendel and Cal wrote the firmware for the 2 different uses. I was just going to load the same as you had and help with the detective work. I don't know all of what they have done and who knows what Microsoft intended... :) If you're satisfied with your discovery then we can consider this one done, otherwise I'll help you figure out whatever else we can. Let me know.
=================
More info is on MY SITE.
jaffa225man
DBB Cadet
DBB Cadet
Posts: 15
Joined: Mon Dec 15, 2014 5:32 pm

Re: Reverse Engineering the Force Feedback Pro

Post by jaffa225man »

I'm happy to leave it as solved. Soon after I posted, however, I realized that the tenth button probably could be made into a hardware button-shifter fairly easily with the right programming, but I don't think I have the time to look into it now. It shouldn't break compatibility with games, since the joystick isn't being detected as an actual force feedback pro. Maybe in the future I'll play with the source to see what I can come up with. I'm not at all a circuit-designer, though, so that could hinder me if it's more fundamental and something there needs modification.

Thanks again!
User avatar
Scanjo
DBB Ace
DBB Ace
Posts: 64
Joined: Wed Oct 23, 2013 9:01 pm

Re: Reverse Engineering the Force Feedback Pro

Post by Scanjo »

jaffa225man wrote: I'm not at all a circuit-designer, though, so that could hinder me if it's more fundamental and something there needs modification.

Thanks again!
You shouldn't have to change the hardware. These are digital joysticks so there are only a couple of wires sending signals back and forth. It's the firmware that tells the computer which button is being pushed or which axis is changing. Just think about it...FFP has 8 buttons (4 in the base and 4 in the stick) an 8 position hat, and 3 axis (x,y,and throttle). If each one needed it's own signal, you'd need a shared power wire and 19 more wires for individual signals. Not happening with a DB-15 connector. The adapter then squeezes things down to power, ground, transmit, and receive in the USB cable. REALLY not happening.

My understanding is that there is an identifier of some sort (which button or axis) and then the changed value (pressed, not pressed,moved right...etc). Any change you wanted to make to buttons or axis would be done using the HID spec if I'm not mistaken.
=================
More info is on MY SITE.
jaffa225man
DBB Cadet
DBB Cadet
Posts: 15
Joined: Mon Dec 15, 2014 5:32 pm

Re: Reverse Engineering the Force Feedback Pro

Post by jaffa225man »

Yes, that makes a lot of sense. I'm still uncertain whether I would want to assign the extra buttons that I can't "press" to shift-process buttons, because I don't know why they're there in the first place. I'll have to check the force feedback test diagnostic again to decide which buttons I would want shifted, although I'm sure all of them (including the hat switch) could be, with that logic.

I will look into the source one of these days, thanks again,

Lucas
User avatar
sparx
DBB Cadet
DBB Cadet
Posts: 5
Joined: Sun Dec 28, 2014 6:43 am

Re: Reverse Engineering the Force Feedback Pro

Post by sparx »

Project with a tiny twist - Arduino Micro (ATmega32u4)

As it happened, I had a spare Arduino Micro R3 board and an old MS Sidewinder FFP (the old version with a fan - Part No. 98755 Prod ID: 579-7511356). A bit of research on the Arduino Uno quickly revealed the pins to be used in order to achieve 100% compatibility between the Teensy 2.0 and the Micro R3 and soldered the resistors and the two 1nF capacitors onto a dev board (triple checked all the wiring) and uploaded adaptffbjoy-r54.hex.

So far everything went smooth and avrdude.exe (using a Win7 x64 OS) flashed the code without any problem.

FFP Joystick & power supply plugged in, D-Sub15 connector to the dev board with the Arduino Micro R3 and connected the Arduino via microUSB to the PC. Windows Device Manager shows "LUFA Joystick wFFB" but can't find a driver. LED is burning bright and steady (RX LED on Micro R3). Same effect on my Dell laptop with Win8.1 x64.

So the code seems to be fine, just that Windows 7 x64 nor Win 8.1 x64 do not know what to do with the USB PID? To me, this seems like it has something to do with the PID , am I missing some kind of .inf file that tells Windows to use a joystick driver on this USB device?

Any help is greatly appreciated.

John.

PS. I checked all the cabling with a multimeter, so cabling and wiring on the dev board is fine and the FFP joystick is providing resistance when moving the stick around. So the FFP is alive and powered, just my PC don not know what to do with the USB device it sees.
User avatar
Scanjo
DBB Ace
DBB Ace
Posts: 64
Joined: Wed Oct 23, 2013 9:01 pm

Re: Reverse Engineering the Force Feedback Pro

Post by Scanjo »

sparx wrote:Project with a tiny twist - Arduino Micro (ATmega32u4)

As it happened, I had a spare Arduino Micro R3 board and an old MS Sidewinder FFP (the old version with a fan - Part No. 98755 Prod ID: 579-7511356). A bit of research on the Arduino Uno quickly revealed the pins to be used in order to achieve 100% compatibility between the Teensy 2.0 and the Micro R3 and soldered the resistors and the two 1nF capacitors onto a dev board (triple checked all the wiring) and uploaded adaptffbjoy-r54.hex.

So far everything went smooth and avrdude.exe (using a Win7 x64 OS) flashed the code without any problem.

FFP Joystick & power supply plugged in, D-Sub15 connector to the dev board with the Arduino Micro R3 and connected the Arduino via microUSB to the PC. Windows Device Manager shows "LUFA Joystick wFFB" but can't find a driver. LED is burning bright and steady (RX LED on Micro R3). Same effect on my Dell laptop with Win8.1 x64.

So the code seems to be fine, just that Windows 7 x64 nor Win 8.1 x64 do not know what to do with the USB PID? To me, this seems like it has something to do with the PID , am I missing some kind of .inf file that tells Windows to use a joystick driver on this USB device?

Any help is greatly appreciated.

John.

PS. I checked all the cabling with a multimeter, so cabling and wiring on the dev board is fine and the FFP joystick is providing resistance when moving the stick around. So the FFP is alive and powered, just my PC don not know what to do with the USB device it sees.
It uses a generic HID driver that's built in to Windows. Not sure why it complains of no driver but it works anyway.

If I remember correctly, the centering doesn't work until the joystick is initialized, so if you're centered then I suspect it's working.

Do a search on your computer for JOY.CPL (It's in the "windows\system32" folder on Win7) and run it to see if the joystick is working properly. Can't remember if joystick must be plugged in first or after it's run so you may have to try it both ways. Highlight the LUFA device and click properties. You'll need ForceTest.exe to test the FFB effects.
ForceTest.zip
(32.78 KiB) Downloaded 2858 times
Let us know what you find.
=================
More info is on MY SITE.
kyanite286
DBB Cadet
DBB Cadet
Posts: 2
Joined: Mon Dec 29, 2014 8:31 am

Re: Reverse Engineering the Force Feedback Pro

Post by kyanite286 »

Hello,
I have a FFB Pro and am looking to make the adapter that you have described here. Which code should I use for it? The one for the 3Dpro or the other adaptffbjoy?

Thank you!
User avatar
sparx
DBB Cadet
DBB Cadet
Posts: 5
Joined: Sun Dec 28, 2014 6:43 am

Re: Reverse Engineering the Force Feedback Pro

Post by sparx »

I ran joy.cpl but there was nothing there, no FFP device or any joystick for that matter. Also tried ForceTest.exe but it pops up with a message box telling me "No force feedback joystick detected!" and then followed by a second message: "Error Initializing DirectInput.".

Unless someone has seen this behaviour before, I assume something must be wrong with the wiring I’ve soldered. I will verify the board again in the coming days and may hopefully find some blatant error on my behalf.

John.
User avatar
Scanjo
DBB Ace
DBB Ace
Posts: 64
Joined: Wed Oct 23, 2013 9:01 pm

Re: Reverse Engineering the Force Feedback Pro

Post by Scanjo »

kyanite286 wrote:Hello,
I have a FFB Pro and am looking to make the adapter that you have described here. Which code should I use for it? The one for the 3Dpro or the other adaptffbjoy?

Thank you!
Either one will make it function as a joystick. The 3DP-Vert firmware (must use 3DPro32u4-10.hex) will be more responsive (faster polling of the joystick) but it does not support the force feedback effects. The Adapt-FFB-Joy (adaptffbjoy-r54.hex) fully supports force feedback effects but is not optimized for gaming. Basically it's your choice. Run the one that works best for your intended use, or switch back and forth if you use your stick for different things. The memory on the Teensy will have limited writes as all flash memory does, but I don't think it will be an issue. You would have to switch firmware ALOT!

Note: if you want to use one of the other Sidewinder joysticks with this design, use the 3DPro32u4-10.hex firmware and jumper pins 11 and 13 on the gameport connector.

Scott
=================
More info is on MY SITE.
kyanite286
DBB Cadet
DBB Cadet
Posts: 2
Joined: Mon Dec 29, 2014 8:31 am

Re: Reverse Engineering the Force Feedback Pro

Post by kyanite286 »

Thank you for the clarification. I would like to use the FFB effects. WHat do you mean it is not optimized for gaming? How will it be affected. I really only use it in descent freespace and some other space sims.
User avatar
Scanjo
DBB Ace
DBB Ace
Posts: 64
Joined: Wed Oct 23, 2013 9:01 pm

Re: Reverse Engineering the Force Feedback Pro

Post by Scanjo »

sparx wrote:I ran joy.cpl but there was nothing there, no FFP device or any joystick for that matter. Also tried ForceTest.exe but it pops up with a message box telling me "No force feedback joystick detected!" and then followed by a second message: "Error Initializing DirectInput.".

Unless someone has seen this behaviour before, I assume something must be wrong with the wiring I’ve soldered. I will verify the board again in the coming days and may hopefully find some blatant error on my behalf.

John.
I'm not sure how much I can help since you're not using a Teensy. The fact that Device Manager reports a LUFA Joystick wFFB tells me that there is at least SOME communication going on (which implies that the wiring is correct), but something must be failing before it's completely recognized. I know timing is really tight when initializing the stick so even though you say the pinouts are 100% compatible, they may be like 98% and this case is one of the 2% that falls through the cracks due to timing issues. I don't know. Grendel or Cal would be the ones who could give more advice on what to try next but I haven't seen them around for a while.

I just plugged my stick in so I know exactly what it's doing here. I have a LUFA Joystick wFFB in Device Manager under OTHER and it reports driver not loaded (code 28). If I launch the control panel it shows up as LUFA Joystick wFFB with status OK and lets me check properties. Centering of the stick is turned off. It recognizes the stick whether launched before or after. This is how yours should be. I'm running 32 bit Win7 Pro but that shouldn't make a difference. It seems to me that if Device Manager sees the stick, then the control panel should as well. Did you verify it was still in Device Manager when you tried the control panel? Did you try another USB port? Sometimes Windows gets confused and switching ports can help. Sorry if I'm stating the obvious but I'm making no assumptions about your comfort level using Windows...

Double check the wiring anyway. (can't hurt) Make sure the resistors and capacitors are good and the correct values. We've had posts from people in here before who were having problems and they have found bad caps and bad connections on a breadboard to be the problems. I see you mention solder so the bread board connections are ruled out, but check for cold solder joints. I seem to recall someone having issues that traced back to the type or length of wire they used also... We've discussed a lot of problems in here so if you haven't yet, please skim through and read all the posts that might apply.

It feels to me like a marginal/incorrect component or bad connection since it's trying to communicate, or timing issues within the Arduino. That's all I've got. Sorry I can't help more. Maybe someone else here will have an idea. I'm not a programmer or designer. I just sling solder and read the forum so I'm slightly ahead of the curve.

Good luck.

Scott
=================
More info is on MY SITE.
Post Reply