sonik-br / lgff_wheel_adapter

Adapter for Logitech force feedback wheels
GNU General Public License v3.0
15 stars 0 forks source link

Wheel Radius adjustment #6

Open Invictaz opened 4 months ago

Invictaz commented 4 months ago

Some games have a minimum setting of wheel radius of 270 degrees. As the modern logitech wheels can have 900 degrees or more, but the spring loaded wheels only have 180 or maybe even lower, how can we adjust or emulate that?

I tried my Logitech Formula GP in Driveclub on PS4, via Gimx and a pc. The game only allows 270 degrees as minimum for the wheel, while my wheel as a much lower degree of rotation.

I know the Ras1ution adapter has an ajustable degree in the menu. The Ras1ution 2 even in 20 steps adjustable.

Is it something that if we have a screen on the Pico or maybe set it over wifi on the Pico W?

sonik-br commented 4 months ago

For ffb wheel it's possible (on some devices) to set the desired rotation range.

But I don't see how to emulate more rotation on a device that have a lower physical limited rotation. Can you elaborate?

Invictaz commented 4 months ago

If the device has a physical limited we might have to multiply each degree of rotation by 10 and set the in game rotation to 1080 degrees.

From what I have read the spring loaded wheels only turn if you turn the wheel very far left or right. In PC games this sometimes is adjustable but I tried on Gimx and it isn't. I have to turn the wheel very far and use more pressure in order to steer only a bit.

Otherwise the lower physical limit wheels cannot be used at all (Logitech Formula GP and Formula Force GP) they have both 180 degrees. Momo has 270 degrees. Only the newer G series wheels have 900.

This software has rotation conversion. Please look into it.

https://github.com/vsulako/AFFBWheel

sonik-br commented 4 months ago

Why it can't be used at all? It's impossible to play? Can you point me at the location on the project above that does the conversion?

Invictaz commented 4 months ago

https://github.com/vsulako/AFFBWheel/blob/82a882662460310e36e8a043420bf319b6afa2db/AFFBWheel/axis.cpp#L11

This does some range conversion.

Above comment updated. It isn't only the deadzone it's also if you turn the wheel nothing happens because the game expects more degrees of turning to turn the car which the 180 degree wheels do not have.

sonik-br commented 4 months ago

This happens on Driveclub?

Invictaz commented 4 months ago

Yes. The Cronus Zen has a GPC script to increase every wheel turn by +16 because from 0 to 16 the car does not turn at all.

Gimx does not have this option. They only have the option to do axis compensation from 0-65536 but it isn't the same. It's like how far is the max value of the axis. While the axis shouldn't start at 0 but at a higher level, or increase more because the wheel max radius is earlier reached.

On my Formula GP wheel it might as well be +30 to the deadzone compensation, because my wheel can be turned like crazy within Driveclub without doing anything to the car. It is really insensitive and there is no setting to have outer deadzone limited.

Some people recommend setting the game to hardcore mode and thus having better steering wheel options.

I did find another software to adjust wheel range from 40-900 degrees.

https://github.com/search?q=repo%3Aberarma%2Foversteer%20range&type=code

But I'm not fully clear on what needs to be adjusted. The deadzone, wheel range or something else.

There is no 270 degree mod for these fixed driveshaft wheels.

And I have to solder your adapter sometime soon to see if it works. If I inject a ps4 controller as Auth device it might work with ps4 also.

sonik-br commented 4 months ago

The code above is for FFB wheels that can be forced into a rotation limiter.

Please share the code if you get ps4 auth working. This would help a lot for users with a ps4!

Invictaz commented 4 months ago

The code for PS4 Auth is in GP2040-CE. I will try to look it up. It needs a .PEM file for authentication or a Mayflash dongle.

sonik-br commented 4 months ago

Ideally it should do auth using an open dualshock4. Check out the Santroller too. It can do auth by using a common dualshock4.

Invictaz commented 4 months ago

If you are closing issues the willingness to investigate further and do research on various outputs the motivation is lowering.

That said

I will send you the code example.

sonik-br commented 4 months ago

You are asking for stuff that have nothing to do with the adapter.

This one (Wheel Radius) is still open. Could be a good feature to be added but I still can't imagine how that would work. The wheel reports a value let's say it goes from zero to 1024. Zero being fully rotated ccw, 512 being the middle, and 1024 being fully rotated cw. Your wheel reports this value range. The logitech ps4 wheel also reports this same value range, no matter if it's set to 270 or 900 degrees. The value range is the same. The physical range is not, but I don't see how this would impact the game.

Invictaz commented 4 months ago

I don't agree. If I look at the Maxrace F1 adapter which is end of life, yours has the potention to become the open sourced variant If more features are added. If you want to keep the focus narrow I only can help you by finding obscure wheels and dump them but I'm not sure you are willing to integrate them. As I'm in Europe I'm now trying to find the missing wheels at a low price for a week already. I'm sure it can be done.

As for the wheel radius the max values are not the problem. It is how you reach the max values. And how far you have to turn the weel. On a wheel with 900 degrees you reach the max value after full turn. On a wheel with 180 degrees this should be scaled in lineair way otherwise the car will not move on small wheel turns. This is the most read critique on truck simulation games.

sonik-br commented 4 months ago

The adapter already does linear scale.

Support for more HID devices as input is also not the purpose of this adapter. Something like the hid-remapper would be more appropriate for the task. But it's a simple work to do if I have the descriptors. Won't take much of my available time so it's doable.

Invictaz commented 4 months ago

HID-remapper is a very cool project but doesn't support Xbox 360, Xbox One, Xbox Series, PS3, PSVita and isn't focussed on wheel support or wheel conversion to a normal controller. Their PS4 support is only an arcade stick and I don't know how they do authentication.

sonik-br commented 4 months ago

PS3 should work on hid-remapper as the ps3 is HID compatible. I can't say about Vita. But my adapter is also not compatible with the xbox consoles. PS4 auth works in the same way as GP2040-CE: Requires an usb auth dongle.

Back on topic: Build the adapter and test. If it still needs some kind of adjustment to the reported value we can see what can be done. Let me know when you have the adapter.