Jump to content Jump to content

F1 2021 UDP Specification


BarryBL
 Share

Recommended Posts

Hi everyone! I’m new to UDP data as I’m actually programming a Nextion hud via SimHub…

Is there any way to get the TYRES DELTA via UDP? In particular I’m looking for the delta between Wet/Inter/Dry so I can make an alert visible when the delta is decreasing as it’s the best moment to pit!

Any suggestion is really appreciated!
Thanks!

Link to comment
Share on other sites

  • 3 weeks later...

Dear @Hoo

it's me... Again... 😄

int8     m_sessionType;              // 0 = unknown, 1 = P1, 2 = P2, 3 = P3, 4 = Short P, 5 = Q1, 6 = Q2, 7 = Q3, 8 = Short Q, 9 = OSQ, 10 = R, 11 = R2, 12 = Time Trial

since the last update the R2 in F2 2021 is became "12". bug or update ?

Regards

 

Link to comment
Share on other sites

  • Codemasters Staff
2 hours ago, ThibaudPHP said:

Dear @Hoo

it's me... Again... 😄

int8     m_sessionType;              // 0 = unknown, 1 = P1, 2 = P2, 3 = P3, 4 = Short P, 5 = Q1, 6 = Q2, 7 = Q3, 8 = Short Q, 9 = OSQ, 10 = R, 11 = R2, 12 = Time Trial

since the last update the R2 in F2 2021 is became "12". bug or update ?

Regards

 

It looks like the m_sessionType comments against the weather entry contains a typo. This shoud be the same as the PacketSessionData comment, which reads:
 

  uint8           m_sessionType;               // 0 = unknown, 1 = P1, 2 = P2, 3 = P3, 4 = Short P
                                               // 5 = Q1, 6 = Q2, 7 = Q3, 8 = Short Q, 9 = OSQ
                                               // 10 = R, 11 = R2, 12 = R3, 13 = Time Trial

However, this should be reporting "11" for an R2 session and not "12". Are you seeing both R2 and R3 sessions reporting as "12"?

Link to comment
Share on other sites

1 minute ago, Hoo said:

It looks like the m_sessionType comments against the weather entry contains a typo. This shoud be the same as the PacketSessionData comment, which reads:
 


  uint8           m_sessionType;               // 0 = unknown, 1 = P1, 2 = P2, 3 = P3, 4 = Short P
                                               // 5 = Q1, 6 = Q2, 7 = Q3, 8 = Short Q, 9 = OSQ
                                               // 10 = R, 11 = R2, 12 = R3, 13 = Time Trial

However, this should be reporting "11" for an R2 session and not "12". Are you seeing both R2 and R3 sessions reporting as "12"?

i did a simple F2 test on grand prix and had a 12 when i choose "sprint and principal". i was surprised because i was waiting an 11.

So i dont know if the 11 is not used anymore.

Link to comment
Share on other sites

  • Codemasters Staff

@ThibaudPHP - I believe that "11" is only used for the second F2 sprint race, with "12" being used for the main feature race. However, I'm not sure whether the main race in an F1 race weekend will use "11" or "12" - I suspect you will find out the answer before I do! 

  • Agree 1
Link to comment
Share on other sites

Hi, I understand that the m_name field is currently unusable because of legal issues.

Maybe a solution of, instead of the full name, sending a (one-way) hash of the player's name, or even a portion of that hash would be sufficient to circumvent the legal issues around it while still providing the devs with some way to identify particular players?

Thanks!

  • Agree 4
Link to comment
Share on other sites

On 12/11/2021 at 10:18 AM, TheMightyMat said:

Time trial ghosts are missing some data (throttle, steering angle, current lap time and sector times are the most important onces I've noticed). I've had a quick look on this thread and can't see any mention of this issue, is this going to be fixed?

@Hoo  Is time trial ghost data going to be improved? It's missing some important data (see my earlier comment), and the only one I can work around is the missing currentLapTimeInMS (since this should be the same as the player)

Link to comment
Share on other sites

Hi,  i can't see a direct field to check the FFB to apply. Do any of you know how to calculate it?. I mean,  from available udp data (motion packet).

I've tried to read papers about it but I'm a bit confused. I know it may be not easy, but any help would be greatly appreciated.

Link to comment
Share on other sites

  • 2 weeks later...

@Hoo
I have heard from a PS5 user that says he cannot use the R3 button in my or any other telemetry app.
My app just checks the button flag is 0x00004000 and works on every other platform.
Is this a PS5 specific bug that its sending the wrong flag for this button?

Left stick click works fine for him (0x00002000).

Link to comment
Share on other sites

  • Codemasters Staff
On 12/18/2021 at 1:13 PM, TheMightyMat said:

@Hoo  Is time trial ghost data going to be improved? It's missing some important data (see my earlier comment), and the only one I can work around is the missing currentLapTimeInMS (since this should be the same as the player)

This is a limitation (or optimisation) of the ghost lap data. This will need further investigation to see what is possible.

Link to comment
Share on other sites

  • Codemasters Staff
On 1/5/2022 at 3:31 AM, BernoAU said:

@Hoo
I have heard from a PS5 user that says he cannot use the R3 button in my or any other telemetry app.
My app just checks the button flag is 0x00004000 and works on every other platform.
Is this a PS5 specific bug that its sending the wrong flag for this button?

Left stick click works fine for him (0x00002000).

Hi @BernoAU - we've checked this one internally and the PS5 is correctly producing 0x00004000 in the UDP output when R3 is pressed. It might be an issue with the user's pad or telemetry setup?

  • Thanks 1
Link to comment
Share on other sites

After latest update, is anybody getting same value for bestLapTime and totalRaceTime?

Example packet:
{
      "FinalClassificationData_V1":{
         "position":2,
         "numLaps":1,
         "gridPosition":1,
         "points":26,
         "numPitStops":0,
         "resultStatus":3,
         "bestLapTime":105274,
         "totalRaceTime":105.27483367919922,
         "penaltiesTime":0,
         "numPenalties":0,
         "numTyreStints":1,
         "tyreStintsActual":[

Link to comment
Share on other sites

On 1/9/2022 at 1:40 AM, gpesportsrd said:

After latest update, is anybody getting same value for bestLapTime and totalRaceTime?

Example packet:
{
      "FinalClassificationData_V1":{
         "position":2,
         "numLaps":1,
         "gridPosition":1,
         "points":26,
         "numPitStops":0,
         "resultStatus":3,
         "bestLapTime":105274,
         "totalRaceTime":105.27483367919922,
         "penaltiesTime":0,
         "numPenalties":0,
         "numTyreStints":1,
         "tyreStintsActual":[

It’s working well for us, we’re getting valid values for the two fields. Have you double checked your packet fields and code?

Link to comment
Share on other sites

Hi, I want to detect when the game is paused in individual games but m_gamePaused doesn't detect that.

When network game is paused, both m_gamePaused and m_networkPaused are set to 1. But when playing solo ones, i cant see the 1 in m_gamePaused .

Is it supposed to be like that?

Link to comment
Share on other sites

On 11/19/2021 at 10:19 PM, Allu83 said:

Hi everyone! I’m new to UDP data as I’m actually programming a Nextion hud via SimHub…

Is there any way to get the TYRES DELTA via UDP? In particular I’m looking for the delta between Wet/Inter/Dry so I can make an alert visible when the delta is decreasing as it’s the best moment to pit!

Any suggestion is really appreciated!
Thanks!

 Maybe you could give some advice looking at  m_wheelslip ?

Link to comment
Share on other sites

On 11/19/2021 at 10:19 PM, Allu83 said:

Is there any way to get the TYRES DELTA via UDP? In particular I’m looking for the delta between Wet/Inter/Dry so I can make an alert visible when the delta is decreasing as it’s the best moment to pit!

I know this is an older comment, but it made me curious since it is an interesting thought. Have you looked at the Session History Packet for this? It does have tyre information (TyreStintHistoryData) as well as lap times so if you keep track of those, you should be able to do what you want to do? Did you end up doing it this way?

Link to comment
Share on other sites

  • 3 weeks later...

Hi everyone, I'm trying to get the relief of the track applied to the car for a personal project.

I have noticed for roll, pitch and yaw they are quite different on each circuit. Let me explain, for example, between Monaco and SPA circuit for practically the same slope percentage the values don't show the same results. I wanted to know if any other values need to be used for redirecting the movement in the good way like the world position or forward position ? Do I have to do a change of basis?

It would be appreciated if you can give me some advice for that.

I'm thankful in advance for your concern.

Link to comment
Share on other sites

  • 2 weeks later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...