Luke460 / steering-wheel-master

Steering Wheel Master is a useful tool that helps to improve the behavior of your steering wheel by aggregating data and eliminating reading errors, dead zones and clipping problems.
19 stars 2 forks source link

Download

Donate

Donations are not required, but always accepted with pleasure. Thanks for your support!


Steering Wheel Master

Steering Wheel Master is a useful tool that helps to improve the behavior of your steering wheel by aggregating data and eliminating reading errors, dead zones and clipping problems.

This application is free and open source. The development was born to help the simracers community get the most out of their steering wheels, regardless the price range of the hardware.

This procedure uses as input a force feedback calibration file, and by processing it, is able to produce a customizable lookup table (or lut file).

...but what does it means? what is data aggregation?

Data Aggregation example

Data aggregation is a widely used process that helps to extract the behavior of a set of raw data by mitigating reading errors. It's used mostly in advanced security and control systems (sensors networks, alarms).

In the following chart you can see an example of a generated log file for a Logitech G29. The red line represents the raw data, while the blue line is the dataset generated by Steering Wheel Master used in this example for the generation of a lookup table (or lut file).

example

Before to start

In these procedures there is always a remote possibility of damaging your hardware. Only proceed if you are aware of the risk. I take no responsibility for any damage caused by this procedure.

Before to start, you have to create a force feedback calibration file for your own steering wheel. Depending on the program you intend to use, you need to properly set the force column index and the delta column index in the CSV settings menu of Steering Wheel Master.

In this example my input csv file was generated by using iRacing force feedback test (v1.72), a tool made by David Tucker of iRacing.com that measures the change in the steering wheel position for each input applied. The used settings are Step Log 2 (linear force test) with Max Count set to 100 and Step Time set to 300ms (on the G29 you can set this value up to 500ms for better results, but don't go over this value or you can hit the end of the steering rotation. Don't go over 300ms if you have a faster steering wheel).

If you can't perform a calibration, you can use the example csv files provided in the zip. In this case, you can only use the linear lut generation mode by adjusting the value of the Dead zone enhancement. More details in the following sections.

How to use

To run Steering Wheel Master, download the latest version, unzip the file and run SteeringWheelMaster.jar (requires Java 8 or later):

icon

Now you have to locate your force feedback calibration file and configure Steering Wheel Master.

First of all, you have to choose between advanced lut generation and linear lut generation:

NOTE:

NOTE: The following settings are NOT recommended for the G29. More presets in the following sections.

menu

Now click on Generate lut and if everything goes well, you should get the following output message:

success

DONE: The generated file is located in the Steering Wheel Master folder.

Lut generation presets

The following settings can be applied to every steering wheel. The in-game FFB gain must be set to 100% and the minimum FFB must be set to 0% to ensure the best FFB dead zone correction. If you need to reduce the gain in the game, you may need to decrease the dead zone enhancement slider as well. Make sure to also disable the centering force of your steering wheel if present.

Steering wheel type Standard mode Advanced mode Competitive mode
direct drive ok ok ok
belt ok inaccurate ok
mixed ok inaccurate ok
geared ok inaccurate ok

Standard mode (dead zone correction only)

This is the standard preset and offers a good compromise between strength and quietness. Basically it only removes the dead zone leaving a linear behavior.

Advanced mode

This preset uses all the data provided by the csv file to attempt to correct the steering wheel reactions. This preset should maximize the fidelity of your FFB response.

Competitive mode

This preset makes force feedback noticeably stronger (but makes the steering wheel slightly noisy and less linear) by increasing the low and medium values of FFB in a progressive manner. Keep in mind that the maximum peak force is always limited to 100%.

My settings (Logitech G29)

Remember to adjust the value of the Dead zone enhancement. More info in the GENERAL TIPS section above.

NOTE: I highly recommend to add road effects only when you're happy with your LUT and FFB settings.

Linear (recommended settings)

my-G29-settings

Advanced (not recommended)

my-G29-settings

How to use LUT files in Assetto Corsa and Assetto Corsa Competizione

To allow AC and ACC to use your lut file, you need to create a text file named ff_post_process.ini

Here is an example:

[HEADER]
VERSION=1
TYPE=LUT
ENABLED=1

[GAMMA]
VALUE=1

[LUT]
CURVE=NAME-OF-YOUR-LUT-FILE.lut

NOTE: You need to set the CURVE variable with the name of your LUT file.

Now just place both the .lut file and the .ini file in the following folder:

How to use LUT files in Assetto Corsa with Content Manager

For Assetto Corsa, if you are using Content Manager as game launcher, you need to use its interface to set up your lut file as follows:

1 2 3


New Features

spike-detection

error-correction

user-interface