-
Notifications
You must be signed in to change notification settings - Fork 22
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
possible code source for friction / inertia effects ? #57
Comments
Interesting peace of code, but it doesn't help much, unfortunately. While the idea is similar, the protocol how to communicate with the device (eg the command codes you've posted) is vendor specific. There are only 2 ways to find out the Fanatec protocol: Since a) is not likely to happen, we're stuck with b).. So I think what we need is a game using |
In the next couple of days I will setup a windows machine ( have some parts laying around for a second PC) and install windows, i will dump all the USB traffic for you There has to be some sort of documentation for you with what I did with the wheel for any given time right? |
oh god, u r our damn saviour for real! with these datas, we can complete this driver.. i can almost see light at the end of the tunnel ;D |
This would be great! Not much docu is needed for this. Just playing the game for a few seconds should be enough. Then one can filter the data for unknown command codes. |
Is EA sports WRC the only game you know with the effects? Have everything setup to dump the traffic but honestly don't want to buy the game at its current price and also not because it's ea :D do you know some older games maybe? |
@SynthetikzZ Up to now, besides WRC I only found Dirt Rally 2 that requires |
Yes I have it in my steam library. I will do a dump as soon as I am at home again( im at work right now). Do you need other dumps out of the fanatec driver itself? (Wheel centering/calibration or whatever ?) I can provide the dumps as pcap or as JSON what do you prefer? |
Great! Other than the game, what I would be interested in is the 'initialization' sequence. So, a capture of the traffic when powering on the device. (Make sure that fanatec tray app is not running, and also no other fanatec app is open at that time). And then a dump of the traffic when opening the fanatec controller settings app.
I'd prefer pcap. Thank you! Btw, which wheel-rim do you have? |
CSL DD wheelbase with the CSL P1 v2 wheelrim. I'll do the dumps later :) |
https://github.com/SynthetikzZ/fanatec_usb_dump you can find the files there if you need something else just ask. and thank you for your work |
Thanks! But the DirtRally2 file lacks content... The other files look fine, though. Could you redo DR2? |
tought it so, dr2 had very light ffb for me (barely noticible but it was there). seems to be a problem of the game as its a problem a lot of people have :D have to resolve it first then or have to find another game :D |
Hmm... Maybe try editing
Or try it in compatibility mode. |
i just did some other things and had good ffb strength going on from the tarmac etc. i just uploaded a new dump could you check? the ffb problems are definitly related to the game a lot of people have issues on a lot of wheelbases |
added a dump in csw mode.. definitly csw gave me the best ffb in the game now and in csw mode leds and display are working |
Thanks! Had a brief look into the data, but sadly couldn't identify where the Just for reference, here the little snippet I've hacked together to get the cmd-codes used in a capture file
This outputs |
did you tried the csw dump instead? ffb felt alot better there. |
im not sure how this all work, but i think u have to trigger these eventcodes, no? |
The csw dump looks similar. Strange that the FFB felt different. Did you use the same setting in tuning-menu and in-game?
Yes, you have to 'trigger' them. But what I saw in Dirt Rally 2 (proton) was, that it sends |
Yes same settings, csw mode feels thousand times nicer compared to PC mode, also display and LEDs working in csw mode, not in PC mode. I started the dump while already in-game, later today I'll do a complete dump from wheelbase initialization to in-game driving. |
(maybe this issue should be Hi @gotzl I have suggestion here. I have windows application, the title says I have windows only in VirtualBox. Connected my CSL Elite to linux box and forwarded my wheel to windows VM. Installed all drivers and this application sees my wheel. I can enable effect, for example There is Damping Force list: Damper, Inertia, Friction Maybe this is possibility to use this application, change effects and monitor whats happens on USB port ? WARNING !!! in some off these effects, wheel goes crazy |
@dinuxlt Hey there! Yes, I've this tool as well and using it in qemu is exactly what I did to find out the other effects. Strange thing here is, that choosing Damper/Inertia/Friction all result in the same op-code... (and I also believe that the wheel didn't feel differently...) |
Just fired up DR2 (proton) again. What I see is that the game already sends I'm beginning to think that there are really are no op-codes for friction/inertia, and the fanatec driver somehow 'corrects' the applied forces to generate these effects... |
Which update do you mean? To my understanding, NDP/NFR/NIN are sort of base effects that are applied by the wheel / to the wheel directly, independent of the information coming from games. That's why they are called 'Natural ...'. You can change these values w/o a game running and you'll feel the difference. So the driver shouldn't have an influence on how these settings feel. |
ah no, its not true what i said. dont mind it, its all good ^^ i should have tested more, sry.
ye, i think so too. but i doubt that they r connected with the
i dont think that the driver is allowed to change that, only the output strength. this code can only be changed, with the firmware inside the wheelbase itself. i also could easily imagine, that the command output will look very similar. it will just have a different name ^^ |
ye, but with more "triggers" in diff situations, u might get other outputs. u can compare them, see whats different. u can better learn/understand, how the eventcodes actually work, even when there is no diff, right? ^^ @SynthetikzZ can i suggest u to do a record run in raceroom? i know u dont like it, but its f2p and its a quick 20gb (i think) download anyway ^^ just a one lapper on the raceway bridge with the hillclimb for example. than u can enjoy the power and sound from that car as well ;) |
I'm also willing to dump USB packages if you wish. I also have a Windows machine running to the right of me, that have the official Fanatac software running. I believe that Natural Friction is used in Asseta Corsa as well. But I could be wrong. I do notice quite some oscillation in Asseta Corsa with this Linux driver, I hope that natural friction (NFR) can help to prevent oscillation. Or like you said maybe it's just there in the firmware (or the Fanatec Windows software) that deals with this, instead of the game itself. |
Pretty sure that the natural ff effects are all independent from the game you are playing. For AC I highly recommend gyroscopic ffb effects activated in content manager. This will handle oscillatioms really well without making the ffb effects dull because of friction. Sorry @ gotzl for not updating the dumps. Something happened in Reallife, I wasn't at home since then . Tomorrow I can do the dumps you asked for. |
yes, give all the datas u want to give! the more, the better :)
and on the other hand, gotzl/coders do good so far, to let us know, were they stuck ^^ i also wanna add, its all voluntary. take all the time u need. no one needs to apologise. irl is always more important! |
Should we just create a new issue for implementing friction / inertia? And do not close that ticket, until some version of friction/inertia is implemented? |
we have #47 this thread for it. but i think we have all eventcodes in this driver now. just need a confirmation. than i will close this. |
@melroy89 thanks for offering to test with windows as well I've recently found ForceTest, but it doesn't work in qemu for whatever reason. It does work with wine, though. So, @melroy89 @SynthetikzZ, what I would be interested in is
|
not working for me.. throws me this in its diagnosticswindow |
https://github.com/SynthetikzZ/fanatec_usb_dump/blob/main/dirtrally_bootup_to_racestart_menu.pcapng added the dump for the usbtraffic before the racemenu.. defenitly some commnunication happening just before it loads up. |
Oh, looks similar to what I got in qemu... Then it seems this prog just doesn't like windows.... |
It was win 11 tho maybe I can try it in compability mode or maybe it works for win 7. I will have a look into it as soon as I have spare time for it. |
To be honest this forcetest. exe is also 6 years old. Moreover, the same log output (logfile.txt) was submitted to the repo: https://github.com/denisn73/JoyFFB/blob/cb8fd82d052a8348af35eea3b370def19f93e85e/logfile.txt#L31 |
Ps. I also tried this ForceTest.exe same results as you're seeing. I tried compatibility mode Windows 7 and even Windows XP. No luck. I also tried running as admin. Also no luck. Anyhow, I have everything up and running under Windows (I have the drivers installed already, I have AC running, I have recently now installed Device Monitoring Studio Ultimate as well). What is next?: |
In terms of the Another topic would be to create USB traffic dumps for FW upgrades for various parts, especially the base. Not sure if FW update will ever be supported in Linux, but having the dumps surly doesn't hurt... |
Not sure about DR2, but under AC (assetto corsa) I do feel a big difference in friction / inertia under Windows vs Linux. It doesn't oscillate as much under Windows (under Linux my steer under AC, if I let it go, goes from left to right, to left to right very intense and fast). Also I noticed the steering wheel is going back to enter again when you drive in a straight line and leave your hands off the wheel, just like a real car. In terms of USB dumps, I think it's basically the same kind of USB packages. Maybe that is why you do not really see a difference? Getting USB traffic dumps during a firmware upgrade would be nice indeed. |
Hmm... I don't think I have this oscillation in AC. I'll check later.
What do you mean by that? I wanted to say, that the commands that are send to the wheel look similar in Linux and Windows. So in terms of the fanatec-usb-protocol, I don't see a difference... |
Maybe you expected different kind of USB packages for friction and/or inertia... |
Yes, I expect different packages for damper/friction/inertia, but what the windows dumps show so far is that they are not different. That's what's puzzling... |
I think it's just the same kind of USB packages, but let's say the racing game force feedback says rotate the wheel 20 degrees, with inertia and friction algorithms within the driver it will only rotate 10 degrees for example and reduce the torque or visa versa. Just thinking out loud here... Not sure if this is how the driver is working under Windows. |
Ah, yes, I was thinking in this direction too ... Maybe have to give it a shot ... |
Does s.o. own F1 2X and is willing to capture windows usb-traffic for it? There are still some doubts about the effects these games use ... |
so i kept thinking how you could implement it correctly and then i stumbled upon openffbboard. i used it prevously (2-3 years ago) with a motor from one of these hoverboards :D. it has its own opensource software so i started searching the code and found a hint
here is the link to the file i found that https://ultrawipf.github.io/OpenFFBoard/doxygen/ffb__defs_8h_source.html
my programming skills are non existent so i dont know what im searching exactly for but maybe thats a good source for you ?
https://github.com/Ultrawipf/OpenFFBoard
The text was updated successfully, but these errors were encountered: