Skip to content

How to override car profile gauge values in settings

Jeffrey Gilliam edited this page Nov 15, 2021 · 8 revisions

Note: This is only available in version 1.18 and greater.

In the "settings.txt" file, the following variables can be added to override/add a new value for a specific car/gauge/track combination. This is very detailed and I will describe it as simply as I possibly can. Feel free to post questions in the Facebook group.

Each of these combinations of variables can be used.

{Car}-{Gauge}-{Track}-{Attribute} = {value}
{Car}-{Gauge}-{Track}-{Gear}-{Attribute} = {value}
{Car}-{Gauge}-{Track}-{Gear}-{PowerLevel}-{Attribute} = {value}
{Car}-{Gauge}-{Track}-States-{StateName}-{Attribute} = {value}
{Car}-{Gauge}-{Track}-{Gear}-States-{StateName}-{Attribute} = {value}
{Car}-{Gauge}-{Track}-{Gear}-{PowerLevel}-States-{StateName}-{Attribute} = {value}

NOTE: {Gear} and {PowerLevel} only apply to the Tachometer gauge at the moment.

In the default settings file, I have given these examples. You can also get the current values to be written to the server log by setting the logging "Level" to "FINE" in the settings.

stockcars2_camaro2019-WaterTemp-default-States-WARNING-Start = 240.0
stockcars2_camaro2019-WaterTemp-default-States-WARNING-End = 276.0
stockcars2_camaro2019-WaterTemp-default-States-CRITICAL-Start = 276.0
stockcars2_camaro2019-WaterTemp-default-States-CRITICAL-End = 9999.0

The source code for the default values can be found here https://github.com/SIMRacingApps/SIMRacingAppsServer/blob/master/src/com/SIMRacingApps/Car.json.

Car:

The car name is highly dependent on the SIM. For iRacing Cars look here https://github.com/SIMRacingApps/SIMRacingAppsSIMPluginiRacing/tree/master/src/com/SIMRacingApps/SIMPlugins/iRacing/Cars. These files contain values that overrides the values found in the default Car.json file listed above. Use the name of the file without the .json extension.

Gauge:

This is the name of the gauge you want to override. The names of the supported gauges can be found here http://simracingapps.com/docs/JavaDoc/com/SIMRacingApps/Gauge.Type.html.

Track:

This is the name of the track that this setting refers to. This has 2 levels. First, the value of "default" applies to all tracks. Otherwise, you can specify the track that this setting applies to. I have not done a good job of keeping up with track specific changes. A list of the supported track names can be found here https://github.com/SIMRacingApps/SIMRacingAppsServer/tree/master/src/com/SIMRacingApps/Tracks. Look for the .json files and use the name without that extension. Note that some tracks have multiple configurations. When so, all layouts must be overridden for it to apply to all configurations.

Gear-PowerLevel:

These variables refer to the state of the engine. Meaning, the combination of the gear you are in along with the power output level. For an example of how these are used to define different shift points, see the Williams FW31 here https://github.com/SIMRacingApps/SIMRacingAppsSIMPluginiRacing/blob/master/src/com/SIMRacingApps/SIMPlugins/iRacing/Cars/williamsfw31.json. It uses these patterns.

NOTE: Currently only the Tachometer uses these.

-{Gear}
-{Gear}-{PowerLevel}

Example with the track name:

{car}-{track}-{Gear}-...
{car}-{track}-{Gear}-{PowerLevel}-...

Attribute:

Attributes are the staple of the gauge. Each one has a default value found in the Cars.json file. Please refer to this help page for a list of attributes and what they do, http://simracingapps.com/docs/JavaDoc/com/SIMRacingApps/Gauge.html. Look for the methods that start with "get" and take the name from that. For example: getMinimum() would be referred to as the "Minimum" attribute. Here is a list of the supported attributes:

  • Name
  • TypeName
  • UOM
  • imperial
  • metric
  • StateAscending
  • Multiplier
  • Minimum
  • Maximum
  • MajorIncrement
  • MinorIncrement
  • CapacityMinimum
  • CapacityMaximum
  • CapacityIncrement
  • IsFixed
  • IsChangable
  • OnResetChange

States have their own attributes as follows:

  • Start
  • End
  • Name
  • Value

StateName:

States are defined with ranges with a start and end value. If the value is equal or greater than the start value and less than the end value, it is considered to be in that state. Not all gauges support every state. For a list of gauges and what states they support, go to here http://simracingapps.com/docs/JavaDoc/com/SIMRacingApps/Gauge.Type.html. Here is a list of supported state names.

  • NORMAL
  • CRITICAL
  • WARNING
  • APPROACHINGLIMIT
  • LIMIT
  • OVERLIMIT
  • WAYOVERLIMIT
  • SHIFT
  • SHIFTLIGHTS
  • SHIFTBLINK