Posted on , by Rob

Introducing F1Speed

Update (20/10/2015): F1Speed is no longer being maintained. The source code can be found at https://bitbucket.org/robgray/f1speed

F1Speed is an iSpeed clone for Codemasters F1 series games.

F1Speed is intended to run side-by-side with Codemasters F1 series games to display data useful for giving instant feedback on setup changes and changes to driving style, such as braking points, throttle on points and apexes.  It's useful also to analyse the effect of KERS usage at difference points of the track and can easily highlight where you're the weaker during your lap.

Quick Links

F1Speed functionality

  • Instant Speed Delta to comparison lap
  • Time delta to comparison lap
  • Comparison (Fastest or Reference) Lap time
  • Current Lap time
  • Wheelspin indicators
  • Save and load fastest lap for each track and session type (types are: Qualifying, Race, Practice, Time Trial, On-line Qualifying, On-line Race).
  • Load reference lap (f1s format)
  • Save fastest lap (f1s format)
  • Capture F1PerfView data for analysis.
  • Export Fastest Lap to F1PerfView (csv format)

The delta is taken between your fastest lap and your current lap.  As such, F1Speed will not show delta's until you start your second complete lap.

A green Speed Delta indicates your current car speed is greater than your car speed at that point of your fastest lap. Red indicates that you car speed is currently less.  This is also indicated by '+' and '-'. 

The Time delta at the bottom of the screen shows the difference in lap time between your current lap and your fastest lap.  Green means your current lap is faster than that your fastest at this point in time, as does a positive time. Red means you're slower, as does a negative time.  The bar will grow from the center as your current lap time gets further from your current fastest lap.

The maximum time granularity of the bar is +/- 2.0 seconds from your fastest lap.  Once your time exceeds that limit the bar will not move, although the time delta numeric display will continue to update.  Once your time drops below the limit the bar will again continue to move.

F1Speed Main

Before you go out and start setting times you need to set your circuit and session type. Once you've done this and set a fastest lap, that lap time will be loaded each time you select that circuit and session combination.

F1Speed also shows three times on the right hand side.

  • Fastest Lap  displays the fastest lap you have ever set at this circuit / type combination.
  • Average Lap shows the average lap time for all laps performed in this session.
  • Current Lap shows the lap time of your current lap. This will match the lap time shown in game.

Advanced Features

Import Reference Lap
Importing a reference lap allows you to import a lap time from a previously exported f1speed file.  This allows you to save your fastest lap and share it with your friends or post it on your league forum for others to compare against.  Importing a reference lap switch F1Speed to "Reference Lap" mode, as seen by the text changing from "Fastest Lap" to "Reference Lap".  In reference lap mode your fastest lap time is still saved if you happen to set a fastest lap while in reference mode, but you cannot see it until you switch back to "Fastest Lap" mode.

Clear Reference Lap
This menu item allows you to clear the previously imported reference lap and revert back to "Fastest Lap" mode, where your fastest lap is loaded and that is the time against which your current lap is compared.

Export Fastest Lap
Save your current fastest lap to file so it can be imported later.

F1PerfView files
All files are stored in My Documents\F1Speed.  The Data folder contains fastest laps and the F1PerfView Data folder contains files that can be read by F1PerfView (csv format).

 

Installation

F1Speed needs .NET 4.0 installed.  .NET 4.0 is a recommended update for Vista and Windows 7 so hopefully most people have it installed, if not you can download the 30MB .NET 4.0 client profile.  When you click on the Install button below you be asked to download setup.exe which will launch the bootstrapper and install the rest of the application from the web. It's tiny, so doens't take long and because it's a ClickOnce app it'll notify you whenever it's updated!

The most important step is to configure the link between F1 2012/2011/2010 and F1Speed.  F1 2011 publishes telemetry data via UDP and we need to tell F1 2012/2011/2010 to use F1Speed as the telemetry destination. To do this you need to change your files.

To do this first ensure F1 2012/2011/2010 is closed, and then open the file "hardware_settings_config.xml". This is found in your My Documents folder in the subpath./My Games/FormulaOne2011/hardwaresettings/.

Open the file in your favourite text editor and change the line

old telem setting f1 2011

to be

new telem setting f1 2011

Just to be clear, use a text editor like notepad.  Don't open the file in something like word and try and convert it around.  It'll only lead to tears (as a few guys have found out).

Once this change has been made be sure to mark the file as 'read-only' or F1 2012/2011/2010 will overwrite your changes. Marking the file as readonly will not effect the game in any way.

Running on another computer

Not everyone has a multiple monitor setup.  You can run F1Speed on another windows based (or Linux running Mono!) PC by changing the ip value in the <motion>  element above to be the ip of the pc that will run F1Speed.  The only hurdle you may come up against is firewalls.  You can check by running telnet from your F1 2012/2011/2010 machine to the pc hosting F1Speed. 

For version 0.5.5 and above you'll need to go to options and enable connections from other computers by ticking "F1 2011 runs on another PC"

F1speed Options

Important: Versions of F1Speed prior to 0.5.3 do not work on other computers.  I guess I should have actually tested it before just going 'yeh it'll work!' - This nerd had set the UDP listener to only receive from localhost.

You'll need to set an outgoing firewall rule on your F1 2012/2011/2010 machine. Open Windows Firewall (type "Windows Firewall with Advanced Security" in your Start Menu and then click on it). 

  1. On the left hand side click "Outbound Rules"
  2. On the right hand side click "New Rule..."
  3. Select "Port. Rule that controls connection for TCP or UDP port" and then click Next
  4. Select UDP and Specific local ports, then enter 20777 in the text box. click Next
  5. Click Allow the connection. click Next
  6. Check only "Private" for "Where does this rule apply". click Next
  7. Name it "F1Speed" and click Finish
  8. Repeat on your pc that will run F1Speed but this time creating an "Inbound Rule"

Or follow the steps for your installed firewall software.

Install

Once the ClickOnce install has completed, there will be an F1Speed icon in your start menu.  Don't forget to set the ip address in the motion element, as described above.  

 

Connection Tester

I've created a connection tester for those having troubles connecting to F1Speed from F1 2012.  This small app will attempt a UDP connection to F1Speed on the same port as if it were F1 2012.  If successful, F1Speed's connection light (top right hand corner of the app) will flash green, the same as it does when F1 2012 is connected.  

The connection tester sends data to F1Speed that simulates the car sitting in the garage. 

The tester comes in a zip file.  To use, download the zip and unblock, by right clicking on the zip, selecting properties, then unblock (on the General tab). Then unzip to location of your choice and click "Send To F1Speed". By default the app looks for F1Speed on your local machine but you can enter a different addres to test the connection to a remote machine - useful if you're running F1Speed on your laptop.

Download Test Connection Tool

 

 

Revisions

0.6.0 Added wheelspin indicator and fixed some spelling errors with the track names
0.5.7.4 Added Circuit of the Americas (United States) for F1 2012
0.5.7.3 Improved logic of lap change detection and added debug switch
0.5.7.2 Added Hungoraring as a circuit!
0.5.7.1 Added Japan as a circuit!
0.5.6 Added fastest lap detection to export/save fastest lap. (Thanks AdeTan :)).
0.5.5 Added logging (debug and exception) to the F1Speed\Logsdirectory in My Documents.  Added the option to listen for connections from other computers. By default this is off, so your firewall won't prompt you.  Added option to log all data packets from F1 2010 - False by default.  Added options screen accessible from File menu.  Made minor improvements to the detection of end of laps.
0.5.4 Internal only
0.5.3 Fixed not being able to connect to F1Speed when its running on another computer
0.5.2 Added a Transmission indicator (Tx) which will flash green whenever F1Speed recieves data from F1 2011.  This should help diagnose connection problems (typically caused by either a firewall or incorrect settings in your config file change.
0.5.1 Added ability to export fastest lap to F1PerfView format.  Fixed Track View in F1PerfView data so you can see which area on track your current data set selection related to.
0.5.0 Added exporting to F1PerfView.  F1Speed now exports each lap to a file compatiable with F1PerfView, enabling analysis of othe captured data.  Now also saves data to My Documents\F1Speed\Data (fastest laps) and My Documents\F1Speed\F1PerfView Data. I haven't get got the circuit map function working in F1PerfView based on the data export.  If anyone knows how to do this give me a yell (comment here) -F1PerfView website says its not supported
0.4.2 Fixed bug where lap times were getting lost each new release.  FYI they're now stored in "c:\users\username\AppData\Local\atomicf1.com\f1speed\data".
0.4.1 Added Average Lap time for the current session.
0.4.0 Added ability to import reference laps and export fastest laps.
0.3.2 Added Brake and Throttle Display
0.3.1 Added saving to f1s (binary) file type to make the file 35 times smaller, now ~250kb instead of 9Mb.
0.3.0.0 Added ability to save and load fastest laps per circuit and session.  Reduced maximum time for bar to 2.0s and increased time delta to include hundredths of a second. Jumped version numbers :)
0.0.2.0 Added Time Delta bar and number display.
0.0.1.0 Visual update.  Added Fastest Lap and Current Lap.
0.0.0.2 fixed bug capturing data when coming out of pits after a restart.
0.0.0.1 Initial alpha release

Post a comment

comments powered by Disqus