Welcome to the Codemasters Forums! Be sure to check the FAQ and Forum Rules before you get started.

F1 2017 D-Box and UDP Output Specification

145791013

Comments

  • eXe131091eXe131091 Member New Car Smell
    Hey,
    Thanks for you answer!
    Maybe I don't get it but the float value I'm receiving is something like you said. It's like "1.5" but(!) I have to multiplize it with 5 to get the correct seconds in session. Like when I'm m_time=5.7486 secons in session my real session time is 5.7486*5 = 28.743 (example). I recognized this "failure" when i was stopping the time in session with my mobile ;D.

    Like you said world positions change when I leave the box. I think it's the same thing like the m_time. My values are "dancing" until i change them into the right order. But what does a "position" stand for and what can i do with it? First it's just a value for me..but is it something like meters or how do i have to interpret it?

    The receiving bytes is 1237 so i think this is correct. I think i'm able to calculate everything with a real physical unit (and %, too), but the rest is just a "value"?

    If you want pictures i can show you.
    Thanks a lot!
    Mark


  • cjorgens79cjorgens79 Member Unleaded
    eXe131091 said:
    Hey,
    Thanks for you answer!
    Maybe I don't get it but the float value I'm receiving is something like you said. It's like "1.5" but(!) I have to multiplize it with 5 to get the correct seconds in session. Like when I'm m_time=5.7486 secons in session my real session time is 5.7486*5 = 28.743 (example). I recognized this "failure" when i was stopping the time in session with my mobile ;D.

    Like you said world positions change when I leave the box. I think it's the same thing like the m_time. My values are "dancing" until i change them into the right order. But what does a "position" stand for and what can i do with it? First it's just a value for me..but is it something like meters or how do i have to interpret it?

    The receiving bytes is 1237 so i think this is correct. I think i'm able to calculate everything with a real physical unit (and %, too), but the rest is just a "value"?

    If you want pictures i can show you.
    Thanks a lot!
    Mark


    Perhaps try a different field than m_time, i dont use this field myself and i believe some others have reported issues with it updating intermittantly. Instead try looking at the m_session_time_left which was added for patch v1.3. I used this value myself and know it works fine (except in time trial or one shot qual where it just gives a massive number). Test against a quick race, any car/track, set prac to 30 mins and then try and read this value, i know in this situation it works correctly and it will be a way to test your decoder.  Most of the telemetry is floats, so even things like RPM, throttle position etc are easy enough to test with as well.
  • theblacknight04theblacknight04 Member Unleaded
    edited September 2017
    Slowish said:
    Is there a way to provide Engine RPM in % for LED RPM light arrays?

    I use SimDash with both a DLC-247 and ProRace2 LED displays but, have to assign actual RPM values for each LED and make custom profiles for each car in Dirt4. With all other titles, RPM% automatically provides relevant RPM values for any car using a single SimDash profile.
    I am using a Monstadash (DLC-247) and the Engine RPM% was supposed to have been implemeted according to the first page of this thread, yet its still not working.. I have made a profile to use %RPM for my LED's but im getting nothing via my dash. so once i checked the telemetry the game is not sending a percentage value for RPM whatsoever.

    is Percentage RPM now supported or not?

    Also can someone please also explain how were now supposed to use more than 1 UDP device?,F1 2016 gave you options to add up to 4 UDP devices with seperate ports.  Now if i try to run my MonstaDash LED which reads from port 20777 and then run a android app such as RS Dash it will try to read from the same port and all it creates is huge lag obviously as multiple devices cant share the same port number

    Whos bright idea was to remove the multiple udp port option by adding broadcast mode instead? Ive tried using broadcast mode and all i get is my Monstdash light array working and the RS Dash android app is lagging like hell because its trying to use the same port!

    Their advise is to use broadcast mode so it can use multiple devices on the same subnet! WRONG!!!!!! maybe for multiple versions of the same app perhaps, but not seperate devices. Each device needs their own port number and you've removed that option!

    Come on guys fix this udp issue please|!!!

    UPDATE** Ive now found how to get around the single port limitation by using Codemasters Proxy Server (CMPS) from EKSimracing.. Works poerfectly for adding multiple devices via the proxy server.. so issue resolved thanks
    Post edited by theblacknight04 on
    i7 4790K | 32GB Vengeance Pro | EVGA GTX 980Ti SLI | Thrustmaster TX Base | Ferrari F1 Rim | 599xx Rim | Tobii EyeX | Monsta SIM Dash | Fanatec SQ 1.5 Shifter|  Fanatec Handbrake | Fanatec CSP V3 with load cell | DSD Sequential Shifter | DSD P1/2 Button Boxes |
  • IJS84IJS84 Member New Car Smell
    Found another issue.
    As a test in our league I've asked one of the streamers to set the telemetry up to see if the spectate mode sends data correctly.
    I am receiving data from him but all the fields are coming across as 0. There's no car data for the cars that are actually in the race. He started off in one of the spectate slots
  • cjorgens79cjorgens79 Member Unleaded

    Also can someone please also explain how were now supposed to use more than 1 UDP device?,F1 2016 gave you options to add up to 4 UDP devices with seperate ports.  Now if i try to run my MonstaDash LED which reads from port 20777 and then run a android app such as RS Dash it will try to read from the same port and all it creates is huge lag obviously as multiple devices cant share the same port number

    Whos bright idea was to remove the multiple udp port option by adding broadcast mode instead? Ive tried using broadcast mode and all i get is my Monstdash light array working and the RS Dash android app is lagging like hell because its trying to use the same port!

    Their advise is to use broadcast mode so it can use multiple devices on the same subnet! WRONG!!!!!! maybe for multiple versions of the same app perhaps, but not seperate devices. Each device needs their own port number and you've removed that option!

    Umm, thats not how networking works. The problem is not that multiple devices are trying to use the same UDP port, its that the Android device or Router you are using doesn't forward on the broadcast packets correctly to the app. Broadcast packets are treated differently to packets that target specific IP addresses by network devices. 

    Think of it this way, F1 2017 is a person standing in a room facing the wall with noise cancelling headphones on. They dont know if the room behind them is empty, or if it has 1 person or 100 people in it (people being the apps). F1 2017 yells out "HELLO", everyone in the room can hear it. F1 2017 doesnt know if anyone hears it or not, it also doesnt care. The people (or apps) in the room that are listening will all hear it, whether there is 1 or 100 of them. UDP effectively works this way, there is no guarantee that the messages arrives at there destination and the sender does not know whether it was delivered or not. TCP is a different story, but the above is analogous to UDP broadcasts.

    This particular issue of some devices not working well with broadcast message is one I am very well aware of, as it came up a bit with my pCars Dash app as Project CARS could only transmit its UDP telemetry using the global broadcast address. In my experience, iOS devices work fine, most Android devices also work fine EXCEPT motorolla devices and cheap chinese devices. Some others like HTC were problematic but i beleive there were firmware updates which could resolve their issues. RS Dash has a "compatibility mode" option which can help with some chinese devices. The other issue is routers, some will see broadcast UDP data from the telemetry stream as a possible attack on the network so they will simply block or cause it to lag. Sometimes this can be turned off with settings such as "UDP Flood Protection" or similarly named options. Outside that, the only way to make problematic devices/routers work is to send the telemetry directly to their IP address.
  • theblacknight04theblacknight04 Member Unleaded
    edited September 2017
    well ive tried to just use the 20777 port with all my devices and its simply creates huge lag on everything.. Im not running any cheap android stuff either.. All other games work fine its just Codemasters games which is why we use the Proxy server (CMPS). However for it to work you MUST change the port number in each application and set that port in the server(see example below)

    Unfortunately I cant use RS Dash which has annoyed me as its a great app but no option to change the default port number from 20777. leaving it on 20777 doesn't work as the CMPS is using the port

    Sheild Tablet running RS Dash Port: CANT USE NO OPTION TO CHANGE PORT NUMBER :(
    Samsung S6 running Dash Meter Pro port 20780
    Monstadash DLC-247 running Simdash Port 20778
    Fanatec CSW running SLIMax Manager Pro Port 40555
    Asus RT-N66U Router

    Image and video hosting by TinyPic
     
    I am currently in correspondence with Craig from pocketplayground (maker of RS Dash) to see if an option can be added to change the listening port to make RS Dash compatible using the CMPS Server.. ;)
    Post edited by theblacknight04 on
    i7 4790K | 32GB Vengeance Pro | EVGA GTX 980Ti SLI | Thrustmaster TX Base | Ferrari F1 Rim | 599xx Rim | Tobii EyeX | Monsta SIM Dash | Fanatec SQ 1.5 Shifter|  Fanatec Handbrake | Fanatec CSP V3 with load cell | DSD Sequential Shifter | DSD P1/2 Button Boxes |
  • cjorgens79cjorgens79 Member Unleaded
    edited September 2017
    well ive tried to just use the 20777 port with all my devices and its simply creates huge lag on everything.. Im not running any cheap android stuff either.. All other games work fine its just Codemasters games which is why we use the Proxy server. However for it to work you MUST change the port number in each application and set that port in the server.

    Sheild Tablet running RS Dash Port: CANT USE NO OPTION TO CHANGE PORT NUMBER
    Samsung S6 running Dash Meter Pro port 20780
    Monstadash DLC-247 running Simdash Port 12000
    Fanatec CSW running SLIMax Manager Pro Port 40555
    Asus RT-N66U Router

    As far as I know the Samsung stuff usually works fine, and its unlikely that all those different devices would have the same issues. The router is therefore the likely cause, i actually have an Asus AC-68U and it does suffer from this problem, so it may be common to other asus routers as well. I have submitted this issue to Asus, but they are yet to do anything about fixing it. In my case however, the lag is not particularly bad but it is a little annoying, it could be that in your model the lag is more pronounced. 
  • zappadoczappadoc Member New Car Smell
    edited September 2017
    well ive tried to just use the 20777 port with all my devices and its simply creates huge lag on everything.. Im not running any cheap android stuff either.. All other games work fine its just Codemasters games which is why we use the Proxy server (CMPS). However for it to work you MUST change the port number in each application and set that port in the server(see example below)

    Unfortunately I cant use RS Dash which has annoyed me as its a great app but no option to change the default port number from 20777. leaving it on 20777 doesn't work as the CMPS is using the port

    Sheild Tablet running RS Dash Port: CANT USE NO OPTION TO CHANGE PORT NUMBER :(
    Samsung S6 running Dash Meter Pro port 20780
    Monstadash DLC-247 running Simdash Port 20778
    Fanatec CSW running SLIMax Manager Pro Port 40555
    Asus RT-N66U Router

    Image and video hosting by TinyPic
     
    I am currently in correspondence with Craig from pocketplayground (maker of RS Dash) to see if an option can be added to change the listening port to make RS Dash compatible using the CMPS Server.. ;)


    Hi,

    You really need to follow instructions in EKSIMRacing website, SLIMax Manager Pro F1 2017 plugin requires API V5 not v1 :)

    Also, if you have a problem to change the default udp port of one app, just put another udp port in Proxy and Game whicj let you use the 20777 for the target app.
    for example:
    Proxy main port 30555
    F1 Game 30555
    and
    all others devices
    40555 API v5
    20780
    12000
    20778
    20777


    F1 2017 Game (send rate = 60Hz):
    <udp enabled="true" broadcast="false" ip="127.0.0.1" port="30555"
    sendRate="60" />

    CMPS:


    SLIMax F1 2017 Plugin (using the Plugins Manager):


    That's it!

    Related link (to configure correctly the F1 2017 plugin)
    http://www.eksimracing.com/f-a-q/how-to-get-codemasters-f1-20xx-dirt2-and-dirt3-working-with-latest-slimax-mgr-software/

    Codemasters Proxy Server (for all the information about the API versions to use):
    http://www.eksimracing.com/cmps/

    Cheers,
    z




    Post edited by zappadoc on
    MotionMax Manager & SLIMax Manager Pro & VDASH-EMU ©2011-2018 By zappadoc. Edited by EKSIMRacing. Control Your Sim Rig with your favorite games and simulations (more than 60 games/simulations supported). 6DOF Motion Platform, USB Devices Displays and Virtual Racing Dash EMULator Managment.
    For more info visit: http://www.eksimracing.com

  • theblacknight04theblacknight04 Member Unleaded
    edited September 2017
    Can confirm I now have Simdash, SLI-Max Manager & RS Dash all working via the CMPS Server. RS Dash will be getting an update from the beta version ive been testing, which now has the option to specify a port number for the app to run on
    Post edited by theblacknight04 on
    i7 4790K | 32GB Vengeance Pro | EVGA GTX 980Ti SLI | Thrustmaster TX Base | Ferrari F1 Rim | 599xx Rim | Tobii EyeX | Monsta SIM Dash | Fanatec SQ 1.5 Shifter|  Fanatec Handbrake | Fanatec CSP V3 with load cell | DSD Sequential Shifter | DSD P1/2 Button Boxes |
  • ArjanKArjanK Member New Car Smell
    How amazing would it be if only something like this could be a (limited) two way road. What I mean is: if the host could also send (some) data over UDP to the match. That way you can race with your friends and the host can be like 'Race Control', sending out the safety car, giving flags and penalties to players etc.

    This is probably not happenings since we're 'subscribing' to only the data F1 is sending out. But what are you guys' thoughts about this?

    -Arjan
  • himstienhimstien Member New Car Smell
    Hoo said:
    Thanks for all of the feedback. I'll pass this on to the dev team to look at. 

    Regarding the temperatures and participant data, this isn't available in the Time Trial beta (wear and temperature is locked to optimal values). This will hopefully be available soon.

    Is there an easier way to get lap delta w.r.t last lap and best lap and get sector deltas?
  • ArjanKArjanK Member New Car Smell
    Are there any examples of what can be done with the world space location? I was hoping this could be used to somehow plot it on a track and be able to 'watch' the race. (Like they have in the official F1 app)
  • EnsiFerrumEnsiFerrum Member Pit Crew
    ArjanK said:
    Are there any examples of what can be done with the world space location? I was hoping this could be used to somehow plot it on a track and be able to 'watch' the race. (Like they have in the official F1 app)
    Take a look over there: SimHub 
    "I find your lack of communications disturbing" - Lord Darth Vader to Codemasters Community Manager
    Body is n characters too short. <- THIS IS RIDICULOUS!!
    Once with professionals ...

    Sys-Spec:
     Intel Core i7-6700K / 32GB RAM / ASUS Stryx GTX 1080 A8G / Creative Soundblaster Z
     Fanatec CSL Elite / CSL Wheel P1/ CSW Formula Carbon / CSL Elite Steering Wheel McLaren GT3 / ClubSport Wheel GT / CSP v3 / ClubSport Shifter SQ V 1.5 / ClubSport Handbrake
     TrackIR / WMR Lenovo Explorer
     Windows Version 1803 (Build 18219.1000)
  • cjorgens79cjorgens79 Member Unleaded
    ArjanK said:
    Are there any examples of what can be done with the world space location? I was hoping this could be used to somehow plot it on a track and be able to 'watch' the race. (Like they have in the official F1 app)
    I use it for displaying the live positions of all cars on the track in my RS Dash app, there is a screenshot from one of the views of the map page here

    In my case its all 2d top view of the track layout, but the telemetry does contain 3 dimensions of data so you could do a 3d one too if you had a decent 3d map to render it to.
  • LonelyRacerLonelyRacer Member New Car Smell
    edited September 2017
    ArjanK said:
    Are there any examples of what can be done with the world space location? I was hoping this could be used to somehow plot it on a track and be able to 'watch' the race. (Like they have in the official F1 app)
    In my Telemetry Toolhttp://www.racedepartment.com/downloads/telemetry-application.16862/ you can see a 2D track map with all the cars on track and you can zoom in if you want. I also save the lap data to a file, which contains all the 3 coordinates and you could create a 3D map with that data. I am just doing new version, where you can save the whole race's data and the replay that on the tool, so you can after the race do more visual analysis or e.g. see on 2D track map,  how the race developed..

    You can see some screenshots at the link above.
  • ArjanKArjanK Member New Car Smell
    You guys have made some amazing things, thanks for sharing! 
  • KafumantoKafumanto Member New Car Smell
    Hi,

    tested on PS4 using several "single race" games in a row. When the session begins and you are in the grid lane, before the green lights are on, the game starts streaming wrong data; when the green lights are on, the game streams correct data. The wrong data contain a mixture of the past session and the new one, e.g. m_team_info, m_track_number, m_era, m_car_position, m_car_data etc contains values from the past session, while eg. m_track_size and few others contains data for the current running session. It makes hard to properly detect the change of session and the mixture of some data (e.g. track id and track length) are problematic too.

    I have to check if it happens also with other game modes.
  • vg132vg132 Member New Car Smell
    Hi,

    I'm on PS4 and trying to decode the data with a C# app but have some truble with gear selection.
    The data I get for the current gear is the following,
    R : 00-00-00-00
    N: 00-00-3F-3F
    1: 00-00-00-40
    2: 00-00-40-40
    3: 00-00-3F-40
    4: 00-00-3F-40
    5: 00-00-3F-40
    6: 00-00-3F-40
    7: 00-00-00-41
    8: 00-00-10-41

    So for gear 3-6 it's the same value. Is this a known problem with PS4 or am I doing something wrong here?

    /Viktor
  • cjorgens79cjorgens79 Member Unleaded
    vg132 said:
    Hi,

    I'm on PS4 and trying to decode the data with a C# app but have some truble with gear selection.
    The data I get for the current gear is the following,
    R : 00-00-00-00
    N: 00-00-3F-3F
    1: 00-00-00-40
    2: 00-00-40-40
    3: 00-00-3F-40
    4: 00-00-3F-40
    5: 00-00-3F-40
    6: 00-00-3F-40
    7: 00-00-00-41
    8: 00-00-10-41

    So for gear 3-6 it's the same value. Is this a known problem with PS4 or am I doing something wrong here?

    /Viktor
    Hi Viktor, yes you are doing something wrong. Given that they are float, you will need to convert the raw bytes into float data, however looking at the data you are showing i think you've got other issues, your probably reading the wrong bytes. 

    You can use the BinaryReader.ReadSingle in c# to  to read floats and other data types from a stream, otherwise you can do a direct structure mapping instead, just google something like "read c struct in c#".
  • HooHoo Member, Codemasters admin
    I have come across some bugs with the telemetry
    1. Time remaining for "one shot qualifying" (confirmed) and "Time trail" (so ive been told) is a very large number "3.402823E+38"

    2. Sector number appears to get frozen on real players in a MP session which are being simulated during network connection issues? In race i did (which i have the telemetry recorded for analysis) one of the players was stuck with "Sector = 2" for three whole laps (lap number was increasing, sector never changed). I suspect the player might have been having connection difficulties and their telemetry may be being simulated? if this is the case then it may be a bug that the simulated player is not updating the sector field in the telemetry. This causes major headaches trying to process the timing data if the sector number is not ticking over correctly.

    3. Player positions get messed up after the session has finished. In the same race mentioned above, the player (data screenshots below) crossed the line in 13th position, however after crossing the line they suddenly jumped up to p2, then p1. The other players all got shifted +1 in their positions in the data being received. So the real race winner was suddenly p2, p2 was p3, p3 was p4 etc. 
    You can see from the screenshots below that Track Position goes from 13 at the end of the final lap (5 of 5), then drops to 2 and then 1 for the remainder of the telemetry packets being sent. The second screenshot below is the results from the game itself. The data is for the player shown in P13 in the second shot "Mortician" (Fernando Alonso), so clearly P1 is the wrong value in the telemetry as the race was won by dancslaslzo14 (Lewis Hamilton). 

    For 1, this is correct - we have an unlimited (almost) amount of time for players to complete these modes. The number probably doesn't look that friendly if displayed as is. Either we could make this display something else, or you can ignore it and/or display something else too.

    We couldn't repeat number 2 here. If you see it again please let us know.

    I've left number 3 with our team to investigate further.
145791013
Sign In or Register to comment.