458 Italia overhaul
Posted 01 February 2012 - 07:42 PM
A few days ago I purchased the Thrustmaster 458 Italia off newegg (the one and only review on that site for that wheel is mine.. ) and there are few things I could use some tips on before completely overhauling this wheel, general advice, any info that you might be able to share, to help me accomplish this goal.
First off, let's start with the mission debriefing. The 458 Italia wheel does not have any force feedback or vibration, just a belt/pulley system that simply re-centers the wheel. I will be working closely with a hardware engineer who has many years of experience with robotics, automated machinery such as CNC, and many other aspects across the board. I'll be the software engineer taking part in driver development / reverse-engineering drivers already out there. I study C / C++, and many scripting languages such as python and perl. Our goal here is to simply add force feedback capabilities to the 458 Italia.
The 458 Italia wheel does not have any force feedback functionality AT ALL, this means a custom PCB layout will be necessary (not a problem at all) which will power the motors and also contain a controller to make the motors move when they are supposed to. The hardware aspects aren't much of an issue, such as what types of motors to use, creating the PCB and assembling it, and none of that is really any importance to me, personally. I'm interested in more of the software side of things.
I don't really know how the force feedback fundamentals actually come to life, like when your car starts to oversteer for example, and then the motors start moving. Are there any SDKs, example code, driver utilities or anything that could assist people with developing their own Xinput / Directinput compatible device with force feedback instructions? Are there "special" or "magic" things I should know about that would throw some people off-guard or be difficult to figure out? I understand how to map buttons and how signals for buttons are transmitted, like an Xbox 360 controller for PC works, but force feedback, I am quite oblivious to. I've never messed with force feedback before and was wondering if a person who knows more about how the Windows APIs work, could give me advice / tips on how to go about. I'm more of a Linux software developer, and I honestly don't have quite a lot of experience when it comes to Windows development, let alone Directinput / DirectX and Xinput hacking. Knowing C and other programming languages doesn't solve everything, especially when you're using something as clunky as Windows.
Another theory that came to my mind was changing the USB IDs on the 458 Italia to be recognized as a Thrustmaster F430 FFB wheel, and just hoping most of the work has been done for me. For the main chip / controller itself, I was thinking about using an ARM development board, a specific board with the tagline "I/O connections galore." The SAM9G45 mini board:
In theory, this board has have PLENTY (possibly ridiculously overkill) of the things needed to act as a controller for the motors, and handle all the instructions sent by the driver. A weapon of it's own.
Just for future reference if anybody out there wants to know, The USB IDs for various FFB/non-FFB wheels (and everything else) are here:
Use Ctrl+F to find a string, like G27 or Thrustmaster. It's all there. (It's also in the Linux kernel source under the drivers/hid directory but you might get a headache using that route.)
Has anybody here made their own device with even rumble functionality, like adding vibration motors to a gamepad? Any information that you think might help is greatly appreciated! Thank you so much in advance!
Posted 03 February 2012 - 09:27 AM
As for the rumble... well... you might want to check how XBCD works. http://en.wikipedia.org/wiki/XBCD
It makes 360 controller in to DirectInput device so you're going to doing the exact opposite from them.
Also force feedback needs mechanism, not just pcb and motor. Sure you can attach a cog wheel on steering column and put motor straight in to it but I don't think it's gonna work very well.
ps. I don't actually know how inside of F458 is but I own a Ferrari GT Experience and on paper they're pretty much the same and FGT has rumble feature. Why F458 wouldn't?
Posted 03 February 2012 - 02:16 PM
I was looking into purchasing a GT3 RS upgrade kit to sort of assist in the development of this process.
http://simparts.co.n... ... eturnid=61
I'm not sure if these guys ship to the US or not as they seem to be the only site that still has it. The kit comes with encoders too (for the motors.)
The main reason I am doing this is because every FFB wheel I have had, the motors burn out. I have sent back six Driving Force GTs by Logitech (amazing customer support I must say) and two G27s. I actually offered them a deal if I could send them my wheel and pay the difference to get a G27 back instead. They agreed (obviously.) The one wheel that lasted the longest actually was my Logitech Driving Force Pro. I think I had 5 years on that? 6? I bought it when it first came out for GT4 on the PS2. That wheel was built like a tank. DFGT was total garbage.
The motors would always smoke, arc, and sometimes smell bad.. and that's how I knew it was the motors. Phew... I had to open a window once.
Posted 04 February 2012 - 11:19 AM
Never mind, you've bought 458 already anyway.
Posted 05 February 2012 - 12:10 PM
If you're gonna use it with PC only why don't you get the 430 one instead? It got FFB also better pedals as well, pedal set is magnetic resistance or some sort (not the same as 458 or FGT), it gives really nice feeling. I've tried it once and want to swap my current DFGT pedals with it, it's that good.
Never mind, you've bought 458 already anyway.
I didn't buy the F430 because I'd have to do just as much work to that as the 458. I just don't fully understand the fundamentals of the force feedback stuff because this isn't what I normally do.. If I broke two G27s in 4 months, chances are the F430 would break even faster out of the box, and would require just as much work as me modding the 458. Btw I really like this wheel, just tried it out last night.
Seriously, how do people end up with a working wheel that lasts forever? Do you literally baby the thing every time you use it? I used the G27 quite often, the drifting wore it out the fastest. Drifting would instantly break the DFGT, no doubt about it. And hey, I like drifting, so if I can't drift with a wheel, it's useless to me.
The 458 pedals have good resistance too, very good resistance.
If anybody else has any actual MODDING / DIY tips, help is appreciated. Thank you! I could figure it all out by myself, but I was just, I don't know.. hoping that somebody could drop their 2 cents in and save me a hell of a lot of time. I'm not much of a Windows guru, the only thing I really understand well is the Registry, but that's a bit irrelevant to FFB..
Posted 06 February 2012 - 01:59 PM
It's G25 with new FFB mechanism (belt drive). Basically all you're gonna need are 1. Wheel case and the wheel, which you've got already 2. FFB bord, I think it's better to salvage it from your broken wheel since you don't have to mess with soldering and driver making and 3. the driver for the wheel, that's why I recommend use your old wheel's one.
ps. I highly doubt your 458 gonna last that long since I've got the FGT and I managed to break 2 of them within a year. As for DFGT, it's been tortured the same state (or even more) for more than a year now and it still feels as new.
Posted 08 February 2012 - 02:27 PM
"Well, what do you want to use it for?" "It seems awfully suspicious." Well good for me! I'm glad I made you so concerned regarding money going INTO your pocket! ...... I thought the philosophy here was to go to work, get customers, and let them pay, especially if they want to. Don't drive them away just because you don't know the reasons as to WHY they want to pay..... I'm baffled as to why this always happens.... Paranoid much?
Posted 09 February 2012 - 07:35 AM
Posted 16 February 2012 - 06:10 PM
Maybe they're wondering why you want their conversion kit without having own a GT3RS.
Posted 17 February 2012 - 08:25 AM
Posted 17 February 2012 - 03:16 PM
It would be nice to know that once my wheel dies, that there would be an open source wheel that I could easily repair on my own since they seem to have a fairly short life span.
I'm so glad I'm not the only one having problems with all these wheels on the market. If enough people had enough, then that gives me even more of a reason to turn this into a kickstarter project. I do appreciate your feedback, and thank you.
Posted 17 February 2012 - 03:31 PM
Posted 17 February 2012 - 05:05 PM
How does the game interact with the motors in the wheel? Does the game send the force feedback instructions to the USB device driver for that specific wheel, and then the driver sends the instructions to the wheel to make the motor move? Would this mean that every wheel would have different FFB effects than others (not in terms of DFGT / G27, but more like G27 and Fanatec GT2.) How specific are the game's FFB effects to certain specific wheels? Do the games look at the VID/PID and then give certain FFB effects based on the USB IDs? This is all the stuff I don't know.
Controlling just a base motor from a PC is easy, especially for me considering I have software engineering experience with CNC machining software (LinuxCNC EMC) and RTAI development (Real-time Application Interface, this reduces latency / jitter, this is mandatory for motors that run at relatively high speeds but also require precision. Too much latency on the computer would cause the machine to skip steps and have possible severe side effects) but that's not what I'm stuck on. A motor spinning clockwise and counter-clockwise is one thing. Real-time FFB instructions for a video game is a WHOLE other story. I need to know all the _MAGIC_ regarding the force feedback instructions from the game are being sent to the wheel in real-time and how the FFB links to the game or the driver, as all this stuff is poorly documented. I'm downloading the WDK (Windows Driver Kit) right now and hopefully I'll find some more answers in there.
I will report back after messing with the WDK. I am really not a Windows guy, and there's so many more Windows people than there are Linux people... Where's a Windows guru when you need one....
Edit: The WDK is awesome, no doubt about it, but I think it will serve it's purpose much better after I know all the DirectX stuff. The WDK is more actual DRIVER related things but after seeing what it offers, I'll have to now look over the DirectX SDK, in order to use the WDK more effectively. Windows development is so much easier than Linux in a way.. Linux doesn't really revolve around SDKs and such, it's more like opening up a text editor, writing / modifying source, and then running it past make / GCC (make is used for compiling software that consists of Makefiles and simply automates the GCC process, GCC is the actual C-compiler that creates object files.) Windows has much more of a learning curve though but with friendly SDKs and GUIs instead of just straight-out C coding. Sure you can use tools like eclipse and such, but it just isn't the same compared to the native windows tools with all the super fancy odds and ends that you just don't get with Linux. There's gotta be an SDK for everything regarding Windows lol.
0 user(s) are reading this topic
0 members, 0 guests, 0 anonymous users