Some incorrect values, and mapping (several solutions and fixes in thread)


First, I love this program, I bought almost all the dashboards for it, and I’m trying to use it with FH4. Most everything works, however, some of the math appears to be incorrect, and I have a few questions about input mapping.

First, the boost value seems to be incorrect. Dashboards that have the boost gauge set to “calculated boost bar/psi” or “calculated boost psi” report a boost level of 7.4, when the game is outputting a level of 22 psi.

I can make it work by changing the boost input to manifold absolute pressure and applying V/0.14503, but that means I have to go into every dashboard that I have (as I said, I bought most of them) and then re-save them all, adjust all the parameters, etc etc. This seems like a silly amount of work, when all the software has to do is display the value from the game.

Second, I’ve read everything I can find, looked through the xml export, read all the docs, etc, and I can’t figure out how to simply tell the software how to map the boost value coming from the game just as a straight up decimal value, no calculations, and put that somewhere in the mappings, I.E make it so that “dummy 01” (or whatever) displays the game’s boost value.

All I can find are OBD2 docs, and there doesn’t seem to be much information on how realdash gets data from FH4, so I’m kinda lost editing the xml. Ideally, I’d like “Boost bar/psi” to just grab the boost value from the game, so all the dashboards just work by default without having to spend hours going into them all and editing them to work.

If anyone can help, that would be fantastic! I’m really looking forward to completing my racing sim setup using realdash as my dashboard and a big tv for the hood view in game. :slight_smile:

Does anyone browse this forum? lmao. I can’t be the only person using this…

Try to temporarily change the units in FH4 to metric- to output the boost in bar instead of psi. Is the value correct then?

I did try that temporarily the other day, it doesn’t seem to have any effect.

Edit: Thank you, by the way, I was starting to think I was all alone! <3

If you add Manifold Absolute Pressure gauge, is that showing correct value from FH4?

Yeah, that’s how I’m running my boost gauges that work now, I have to edit the skins to manifold absolute and do special math on all the instances of boost in whichever skin, and about half of them stop working properly when I do, and lately I’ve been getting weird things like the lap timer will suddenly start going up when I press the accelterator and I’ll have to quit the app to get it showing again.

Ok, I will check why Boost inputs do not match with the MAP.

Awesome, thank you!

You know, what I really wish, if the config for the racing sim just deleted all the values except the ones coming from the game, and they were just in the mappings list, “Forza speed” “Forza RPM” “Forza Boost”

A way to edit those easily would be even better.

Is there any documentation specific to mapping simulators like there is for the OBD2 docs? I’ve looked through everything I can find, and I can’t find a clear description of what is mapped where and what all the codes are.

There is no option (nor need) to customize the data sent by the racing simulators as they are always a static set of data. Making all those variables a custom ones is not a good idea as it would require to do input mapping every time you switch the data source.

Fair enough :slight_smile: Hopefully I can get all of this figured out, and there’s just a small issue with numbers somewhere.

Just to follow up, did anything get figured out?

I’d like to get this going properly, stop crashing, and figure out how to use all the mappings.

Is there a document somewhere that lists where all of these go?

s32 IsRaceOn; // = 1 when race is on. = 0 when in menus/race stopped …
u32 TimestampMS; //Can overflow to 0 eventually
f32 EngineMaxRpm;
f32 EngineIdleRpm;
f32 CurrentEngineRpm;
f32 AccelerationX; //In the car’s local space; X = right, Y = up, Z = forward
f32 AccelerationY;
f32 AccelerationZ;
f32 VelocityX; //In the car’s local space; X = right, Y = up, Z = forward
f32 VelocityY;
f32 VelocityZ;
f32 AngularVelocityX; //In the car’s local space; X = pitch, Y = yaw, Z = roll
f32 AngularVelocityY;
f32 AngularVelocityZ;
f32 Yaw;
f32 Pitch;
f32 Roll;
f32 NormalizedSuspensionTravelFrontLeft; // Suspension travel normalized: 0.0f = max stretch; 1.0 = max compression
f32 NormalizedSuspensionTravelFrontRight;
f32 NormalizedSuspensionTravelRearLeft;
f32 NormalizedSuspensionTravelRearRight;
f32 TireSlipRatioFrontLeft; // Tire normalized slip ratio, = 0 means 100% grip and |ratio| > 1.0 means loss of grip.
f32 TireSlipRatioFrontRight;
f32 TireSlipRatioRearLeft;
f32 TireSlipRatioRearRight;
f32 WheelRotationSpeedFrontLeft; // Wheel rotation speed radians/sec.
f32 WheelRotationSpeedFrontRight;
f32 WheelRotationSpeedRearLeft;
f32 WheelRotationSpeedRearRight;
s32 WheelOnRumbleStripFrontLeft; // = 1 when wheel is on rumble strip, = 0 when off.
s32 WheelOnRumbleStripFrontRight;
s32 WheelOnRumbleStripRearLeft;
s32 WheelOnRumbleStripRearRight;
f32 WheelInPuddleDepthFrontLeft; // = from 0 to 1, where 1 is the deepest puddle
f32 WheelInPuddleDepthFrontRight;
f32 WheelInPuddleDepthRearLeft;
f32 WheelInPuddleDepthRearRight;
f32 SurfaceRumbleFrontLeft; // Non-dimensional surface rumble values passed to controller force feedback
f32 SurfaceRumbleFrontRight;
f32 SurfaceRumbleRearLeft;
f32 SurfaceRumbleRearRight;
f32 TireSlipAngleFrontLeft; // Tire normalized slip angle, = 0 means 100% grip and |angle| > 1.0 means loss of grip.
f32 TireSlipAngleFrontRight;
f32 TireSlipAngleRearLeft;
f32 TireSlipAngleRearRight;
f32 TireCombinedSlipFrontLeft; // Tire normalized combined slip, = 0 means 100% grip and |slip| > 1.0 means loss of grip.
f32 TireCombinedSlipFrontRight;
f32 TireCombinedSlipRearLeft;
f32 TireCombinedSlipRearRight;
f32 SuspensionTravelMetersFrontLeft; // Actual suspension travel in meters
f32 SuspensionTravelMetersFrontRight;
f32 SuspensionTravelMetersRearLeft;
f32 SuspensionTravelMetersRearRight;
s32 CarOrdinal; //Unique ID of the car make/model
s32 CarClass; //Between 0 (D – worst cars) and 7 (X class – best cars) inclusive
s32 CarPerformanceIndex; //Between 100 (slowest car) and 999 (fastest car) inclusive
s32 DrivetrainType; //Corresponds to EDrivetrainType; 0 = FWD, 1 = RWD, 2 = AWD
s32 NumCylinders; //Number of cylinders in the engine
hzn HorizonPlaceholder; // unknown FH4 values
f32 PositionX;
f32 PositionY;
f32 PositionZ;
f32 Speed; // meters per second
f32 Power; // watts
f32 Torque; // newton meter
f32 TireTempFrontLeft;
f32 TireTempFrontRight;
f32 TireTempRearLeft;
f32 TireTempRearRight;
f32 Boost;
f32 Fuel;
f32 DistanceTraveled;
f32 BestLap;
f32 LastLap;
f32 CurrentLap;
f32 CurrentRaceTime;
u16 LapNumber;
u8 RacePosition;
u8 Accel;
u8 Brake;
u8 Clutch;
u8 HandBrake;
u8 Gear;
s8 Steer;
s8 NormalizedDrivingLine;
s8 NormalizedAIBrakeDifference;

Haven’t got time to check this yet as there are other issues pending. Try to check this for the next release though (later this week).

Cool, thanks :slight_smile:

Found the problem, the MAP was 100kpa low. Fix will be in next release.

Awesome, thank you!

I’m still trying to gather all the documentation that I can as it pertains to simulator and data mapping, I must be missing something, a lot of the mappings and what’s connected where is still a little foggy.

Awesome, boost works!

Although now, when I push 1 to go into the gallery, it locks up and stops responding to key presses, so I have to swipe the title bar down and X it out, and now I’m stuck on the mclaren dash. yay.

And then, I can get it working again if I go into Windows’ apps and reset it, then it’ll let me load another dash (after I go through setup again), but then when I go to the gallery again, it’s screwed until I reset the app again. So, right now I have it on the vette dash, and I have to leave it there.

Also, since I’m whining now, RPM doesn’t scale to vehicle max RPM like it should, so all of my cars that run over 8000 rpm just peg the needle, GPS should just be completely disabled unless there’s a way to get the game map in there, and fuel level reads 0, no matter what I change the mapping to. For Forza, it should probably just be locked to Device inputs : battery level, so it just shows the battery level of the tablet, however that doesn’t seem to work, either…so it’s always complaining about low fuel, even though there’s no fuel consumption in the game at all.

  • Use the quick settings to set your tank to full. To access quick settings open the top menu and tap the ‘gear’ icon on lower right on the screen.

  • You can disable internal GPS from Settings->Application->2nd page

  • Not all dashboards support MAX RPM setting as they are published before this option was available in RealDash

  • Unable to reproduce the gallery problem you mentioned.

When I do that, all it does is make the fuel level gauge bounce with the accelerator pedal. EDIT: It also makes gauges like the fuel consumption indicator quickly count through numbers, it reaches numbers in the millions within seconds and overflows the areas where it’s displayed.

That’s what I’ve been doing. This isn’t really too much of a problem, more of a suggestion. It’s a global “no” for Forza, thought it might be a good idea to just turn it off when simulators are selected as the data source, but it doesn’t make much difference, considering the other issues.

No, I mean every dashboard, including ones that I’ve checked and have the option to scale the gauges active, like the Corvette, none of them work. If I change the “max rpm” value in the connection manager, they will scale to that value, but that doesn’t help, as I have over 400 cars in the game, and I’ll be damned if I’m going to add over 400 connections in realdash so that they can all display accurate RPM values. “Max RPM” is a value that Forza spits out over the connection, and if the only way the dashboards will scale is to change the value in the connection manager, then that value needs to scale with the value that the game offers through the data connection, not a static user supplied value for proper support.

Well, it didn’t do this before the update, so something changed. If I load any dashboard and then push 1 to go to the gallery, it shows me the recent screen, and it’s just stuck there until I exit it. It will not respond to inputs, period, and I’ve done nothing but update the app and try to use it as before. I’ve reset it with the windows app manager, I’ve uninstalled and re-installed, and it just forces me to re-install it if I want to change dashboards.

EDIT: I have now tried this on two different computers and the same behavior persists. Going to try yet a third.
EDIT 2: 3 computers tried now. I’m surprised you can’t reproduce this. This is the windows version, in case that wasn’t clear.

EDIT 3: Here is the gallery problem.