More Telemetry data in UDP

Wrong section…
The LED stuff was listed somewhere as bug for some wheels.
I’ve seen the thrustmaster sdk files in gamesfolder maybe bug or create own thread in suggestion hub with your wheel.

Thanks for the idea

1 Like

As a Dev myself, I’ve been planning on creating a kind of community for tunes and liveries, and accessing such data would e really cool

It would make a lot of things automatic instead of having to ask people to enter data manually, I could retrieve data in a much more reliable and easy way.

I was looking for some API made available by the dev team, but seems like such thing doesn’t exist yet. Would anyone have more info for that, by any chance ?

Exactly what I was looking for! Thanks a lot!!

Gonna second this, I’d like to see data on whether each of the wheel is within, on or beyond the track limits in the UDP packets.

I’d be interesting in seeing for each wheel if it’s within, on, or beyond track limits.

Voted! I’m so tired to not be able to check what tires I am on unless I use their HUD, which I dont want to use…

1 Like

Voted, as I saw this one has the least votes of 3 UDP related topics. And I would also really like to see them adding all these suggested points.

2 Likes

that setup is NARLY!

Unfortunately I can only upvote this once but the competitor gamer tags and current tyre would be awesome. I’m currently OCR’ing the starting grid and it’s a pest to say the least.

In terms of fastest lap times I’d rather get separate ones depending on tyre/fuel/weather combo. Instead I’m just having to ignore it for now and use the fastest which is usually always soft/3 laps/dry. So if it’s raining I can’t really tell how I’m doing in terms of other wet laps as SimHub is always comparing with the fastest of the fastest.

1 Like

UP. I noticed a lot of information missing in UDP.
Please update.

I use Dashpanel and the estimated fuel consumption or the number of total laps to be covered or drivers on the track is not displayed.

This is my Dash for the Porsche 963:

ABS active
TCS active
Brake temp
Tire compound

2 Likes

Hi orangepeel,
Nice to see that you went for the OCR approach. I tried it back in FH, but due to the blurred terrain in the background, my results were never consistent. I never tired in FM, but I feel like it would yield way better since it is a darker and higher contrasted background. Cool to see that I wasn’t the only one :slight_smile:

Popping this in this thread too.

Hi there, as requested by @T10ManteoMax here is a new thread requesting additional UDP Data Out channels for Forza Motorsport. I was intending to post this a few updates ago, but wanted to wait a bit to see what came in various updates.

As it stands:

  • The current Data Out package and set of channels are reasonably good.

  • They currently cover a lot of information about your car in particular

  • The weakness compared to other titles, and opportunity for improvement is primarily around session and opponent data

  • With a number of additional channels, players (and league/esports broadcasters, when spectating is added to the game) will be able to produce high quality dashboards and stream overlays to better showcase the game’s racing action.

Below are a list of channels I feel are worth adding, along with a one-line description where appropriate.

At minimum, everything that is in the game HUD and telemetry must be replicable via UDP, so that players can disable the in-game HUD entirely.

Session Data

  • session_type - Practice, Qualifying, Race, Rivals etc., useful for building dashboards with contextual data

  • session_total_laps_race - How many laps are in the Race. This race total must also be accessible in Practice/Qualifying so players can build better race strategies.

  • session_total_laps_qualifying - As above, but showing how many laps are in Qualifying

  • session_practice_time_remaining - Countdown timer, showing how long is left in Practice/Qualifying

  • session_race_time_remaining - As above but for timed races

  • session_race_finish_time_remaining - As above but for when the leader has finished and the race is about to end

Track Data

  • track_wetness - How wet the road surface under the car currently is (0-100%)

  • track_rubber - How rubbered in the road surface under the car currently is (0-100%)

  • track_config - What circuit (and layout) the player is currently driving on

  • track_length - Total length of a lap in metres

  • track_position_percent - Percentage of current lap completed

  • track_weather - Current weather condition (Clear, Light Cloud, Overcast, Heavy Rain etc.)

  • track_air_temperature

  • track_road_temperature

Player & Player Car Data

  • player_gamertag - Player’s gamertag

  • player_start_position - Player’s starting grid position

  • abs_active - On/Off value to show when ABS is currently active on the car

  • tc_active - On/Off value to show when Traction Control is currently active on the car

  • stm_active - On/Off value to show when Traction Control is currently active on the car

  • valid_lap_current - On/Off value to show if the current lap is “clean” or “dirty”

  • valid_lap_next - On/Off value to show if the next lap is “clean” or “dirty” (ie, player goes off-track on final turn)

  • frr_track_limit - Value to show if the player is (1) within track limits, (2) has part of the car outside of track limits or (3) has their entire car beyond track limits

  • frr_penalties_amount - Value to show how many penalties the player has received in the session

  • frr_penalties_time - Value to show total time penalty received so far in the session

  • frr_penalties_waiting - Value to indicate a player is under investigation by FRR

  • frr_penalties_waiting_result - Value to show the result of the most recent FRR investigation (in seconds)

  • gap_car_ahead_distance - The gap to the car directly ahead, in metres

  • gap_car_ahead_time - The time gap to the car directly ahead, in seconds

  • gap_car_behind_distance - The gap to the car directly ahead, in metres

  • gap_car_behind_time - The time gap to the car directly ahead, in seconds

  • gap_leader_distance - The gap to the race leader, in metres

  • gap_leader_time - The time gap to the race leader, in seconds

  • laptime_best - Personal best lap time in the session, irrespective of penalties

  • laptime_best_clean - Personal best clean lap in the session

  • laptime_previous - Previous lap time in the session

  • laptime_predicted - Predicted current lap time, calculated by taking best lap and adding/subtracting latest split difference

  • laptime_predicted_clean - As above, but comparing to best clean lap

  • sector_current - What sector the player is currently in

  • sector_1_time - Time recorded in sector 1, current lap

  • sector_1_time_pb - Personal best time recorded in sector 1 across all laps

  • sector_2_time - Time recorded in sector 2, current lap

  • sector_2_time_pb - Personal best time recorded in sector 2 across all laps

  • sector_3_time - Time recorded in sector 3, current lap

  • sector_3_time_pb - Personal best time recorded in sector 3 across all laps

  • tyre_compound - Current tyre compound fitted (Soft, Medium, Hard, Wet, Sport, Street, Stock)

  • tyre_pressure_front_left

  • tyre_pressure_front_right

  • tyre_pressure_rear_left

  • tyre_pressure_rear_right

  • tyre_temperature_front_left_inner

  • tyre_temperature_front_left_middle

  • tyre_temperature_front_left_outer

  • tyre_temperature_front_right_inner

  • tyre_temperature_front_right_middle

  • tyre_temperature_front_right_outer

  • tyre_temperature_rear_left_inner

  • tyre_temperature_rear_left_middle

  • tyre_temperature_rear_left_outer

  • tyre_temperature_rear_right_inner

  • tyre_temperature_rear_right_middle

  • tyre_temperature_rear_right_outer

  • brake_temperature_front_left

  • brake_temperature_front_right

  • brake_temperature_rear_left

  • brake_temperature_rear_right

  • brake_lock_front_left - Yes/No on if the brake for this wheel has locked or not

  • brake_lock_front_right - Yes/No on if the brake for this wheel has locked or not

  • brake_lock_rear_left - Yes/No on if the brake for this wheel has locked or not

  • brake_lock_rear_right - Yes/No on if the brake for this wheel has locked or not

  • pitstops_completed - Number of pitstops completed in the current race

  • pitstops_required - Number of mandatory pitstops in the race

  • force_feedback_spring - Spring value from force-feedback telemetry menu

  • force_feedback_force - Force value from force-feedback telemetry menu

  • force_feedback_damper - Damper value from force-feedback telemetry menu

Opponent Player Data

  • sector_1_time_overallbest - Overall best (ie: “purple”) time recorded in sector 1, by any player

  • sector_2_time_overallbest - Overall best (ie: “purple”) time recorded in sector 2, by any player

  • sector_3_time_overallbest - Overall best (ie: “purple”) time recorded in sector 3, by any player

  • laptime_best_overall - Overall best lap of the entire session, regardless of player

  • laptime_best_overall_clean - Overall best “clean” lap of the entire race, regardless of player

  • player_1_gamertag

  • player_1_car - Car name or ID, preferably name

  • player_1_car_class

  • player_1_car_pi

  • player_1_position

  • player_1_pitting - Yes/No

  • player_1_dnf - Yes/No

  • player_1_dsq - Yes/No

  • player_1_start_position

  • player_1_tyre_compound

  • player_1_car_coordinates_01 - X coordinate, important for building track maps and radars

  • player_1_car_coordinates_02 - Y coordinate, important for building track maps and radars

  • player_1_car_coordinates_03 - Z coordinate, important for building track maps and radars

  • player_1_penalties_amount

  • player_1_penalties_time

  • player_1_last_lap

  • player_1_best_lap

  • player_1_best_lap_clean

  • player_1_gap_leader_time

  • player_1_gap_leader_distance

  • player_1_gap_ahead_time - Gap to car ahead of this player

  • player_1_gap_ahead_distance - Gap to car ahead of this player

  • player_1_gap_behind_time - Gap to car behind this player

  • player_1_gap_behind_distance - Gap to car behind this player

  • player_1_gap_player_time - Gap from this player to “you”. If “you” are this player, return zero.

  • player_1_gap_player_distance - Gap from this player to “you”. If “you” are this player, return zero.

For brevity, I will not copy the player channels 24 times. Everything marked as player_1 should also be available for player_2, player_3 etc. all the way to player_24

I will likely add to this document over time.

Thank you for taking the time to look through this and I look forward to seeing what you can do.

Crossposting a little bit too, to add that with drift mode we’re going to need specific drift telemetry.

More details here:

1 Like

They’re not particularly consistent in FM either. Zeros and uppercase ‘o’ get mixed up sometimes, the VIP marker gets converted to a “w” and sometimes it puts a space between the gt and the 4 random numbers if those numbers start with a 1. But at least uppercase i and lowercase L no longer get mixed up like the do in FH.

The worst think about FH is the badges which ends up putting a load of crap on the end of gt’s. I was going to try to use regex to clean them up but I find regex baffling so have no idea how to create one for xbox gamertags.

Either way in both games I still have to check them manually to make sure there aren’t any mistakes.

Yeah FH has a lot of bloat in their result cards. For FM, try eroding the color codes which represent the racers and the fastest laper, then dilate those characters to help better identify the text. Thresholding, blurring, those may help a lot.

What I’ve done before is actually crop out the unnecessary image region in FH. Maybe do a template match of the names and times to cut out the extra bloat outside of that inner table grid.

Unfortunately, I never saw OCR as a 100% solution for automating results, wish we had some sort of API or data out for that, but I’m a very very broken record at this point - but we can get it to the point where we can definitely save 50-80% of time to just correct a few characters instead of typing it all out

Bumping this, based on recent Turn 10 comments :slightly_smiling_face:

2 Likes