Giter Club home page Giter Club logo

simhub-sf1000-udp's Introduction

SimHub SF1000 UDP

Build GitHub Downloads (all assets, all releases)

This plugin's primary goal is to provide more games support to Thrustmaster™ SF1000 wheel, such as Assetto Corsa, through its support for F1 2020 & F1 23 games UDP.

Some functionalities on the wheel won't be available depending on the game you play. Also, the SF1000 wheel has bugs in its firmware, so some data will not be shown on the dash, most notably the ERS bar (I reported this and got no response so I guess we'll have to live with it).

How it works (technical details?)

From SimHub app, this plugin will send UDP packets containing data in F1 23 UDP format, or F1 2020 UDP format.

Data comes directly from SimHub without any other plugins so it is limited.

Some data is modified to adapt to some bugs in the wheel, and some will be dropped to avoid unnecessary data being transferred to the wheel (eg. weather).

Installation

  • Download latest SimHub
  • Download latest release (SimHubSF1000UDP_v*.zip)
  • Open the zip file
  • Extract the one file (*.dll) to your SimHub folder (where SimHubWPF.exe file is)
  • Start SimHub and enable the plugin when prompted (only have to do once)
  • Follow Configuration steps below

Note

Starting from v2, this plugin supports F1 2020 and F1 23 UDP format. By default, F1 23 UDP format is used, which only supports SF1000 wheel with firmware v6.27 and above.

If your wheel does not show any data or has older firmware, you can switch to F1 2020 format by opening SimHub -> Additional plugins -> SimHub SF1000 UDP tab -> UDP format dropdown -> Select F1 2020 -> Click Save button.

(Recommended) See Thrustmaster SF1000 website for more information on how to check & update your wheel firmware.

Configuration

1. Wheel config

  • First thing, you need to configure Wi-Fi for your wheel, please go to Thrustmaster SF1000 website, and read instructions provided by them on how to set up UDP/Wi-Fi. You should see these two files (you can ignore the steps for F1 games):

    image

  • If your wheel's firmware is v5 and below (check on wheel's info screen), you need to configure your wheel to read UDP data. You need to do this everytime the wheel turns on. Please read Thrustmaster's guide on how to set it up.

    image

  • If you have firmware v6.27 and above, UDP is always enabled, you don't have to configure anything on the wheel. If the Wi-Fi screen shows UDP: 20777 then you are good to go. If not, check your firmware version again on Info screen or check if Wi-Fi has been configured correctly.

2. Plugin config

  • On your wheel Wi-Fi screen, note the IP: xxx.xxx.xxx.xxx address line.

    image

  • Open SimHub, go to Additional plugins -> SimHub SF1000 UDP tab -> Enter the IP shown on your wheel in "New IP" section -> Click Save button.

    image

  • Select your game in SimHub Games screen if you haven't already (if you have SimHub Licensed Edition then you don't have to manually select the game - not an ad).

  • Start your game and the wheel should show the dash.

Building

Note

This section is for developers only, if you just want to use the plugin, follow Installation and Configuration

Requirements

  • Visual Studio 2022 (recommended), other versions might work but not tested.
  • .NET Framework 4.8

Steps

  1. Clone this repo
  2. Open Visual Studio
  3. SimHub libraries are included in this repo, so building should be straightforward as hitting build button.
  4. A .dll file will be generated in bin/Debug or bin/Release folder, depending on your configuration selection.
  5. Copy the built .dll file to SimHub directory.
  6. Do whatever you want with the plugin

Issues & suggestions

If you have any issues/questions or suggestions, please create an issue here.

Disclaimer

This application/project is not affiliated, associated, authorized, endorsed by, or in any way officially connected with Guillemot Corporation S.A, or any of its subsidiaries or its affiliate. Thrustmaster is a registered trademarks of Guillemot Corporation S.A.

This application/project is not affiliated, associated, authorized, endorsed by, or in any way officially connected with Electronic Arts, or any of its subsidiaries or its affiliate.

simhub-sf1000-udp's People

Contributors

dependabot[bot] avatar ducng99 avatar macreiben-dev avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

simhub-sf1000-udp's Issues

Error message when launching simhub

20240215_102649

Hi, I have updated the registry files to enable logging but no I get this error message when I try to launch sim hub? Any ideas what I have done wrong?

My wheel is using the latest firmware and I have put your dll file into the main simhub registry. Anyhelp would be greatly appreciated

DRS lights

Unable to get DRS lights working on AC. Working on other simhub arduindo device but not being detected on wheel.

simhub stops working SimHub-to-F12020-UDP

i copied the .dll files to the main simhub folder and because of that simhub stopped working.
i executed simhub.exe as admin but no luck
any help will be appreciated

Connecting through a mesh wifi extension

Hi mate, great work! I have moved my pc out into the shed beyond the range of the house wifi. The shed has an ethernet port connected to the router in the house.

I have added a mesh terminal to the ehernet port in the shed and my pc is plugged into that and my sf100 is connected to the mesh WiFi.

My problem is that now the wheel isn't getting any udp data so the ferrari/tm logo screen is all I get. Is this because simhub still gets the house ip address where as the wheel is on the new one?

I have changed the ip in your simhub plugin and the udp port is still 20777 on both.

Any ideas??

Failed connection on game start

SimHub.log

Hello again,

Thanks for the update, I was able to confirm the lap number tracks accurately, even though the wheel doesn't get UDP packets from the plugin consistently quite yet.

I've attached the log showing errors initiating the plugin while GT7 is starting up, and the wheelrim just defaults back to the screen with missing telemetry.

UDP configured, Simhub connected, still doesn't work

Addon appears in Simhub, I matched the IP address, port 20777 but the dispaly is not woking on the SF1000.
Simhub is connected to assetto corsa, running as admin, ShakeIt motors is connected and working in game,
Wifi screen is set to Codemasters F12019, 2020.
Latest TM firmare, wheel and base, latest SimHUb v8.3.9
Log says AC UDP data connected.

Error in simhub log

Dear, first of all thanks alot for your job!
I have this error in the log of Simhub

Failed to send UDP packet
System.MissingMethodException: Method not found: 'SimHub.Plugins.PluginManager SimHub.Plugins.PluginManager.GetInstance()'.
  at SimHubToF12020UDP.Packets.CarStatusDataPacket.Read()
  at SimHubToF12020UDPPlugin.UDPServer.<LoopCarStatusData>d__15.MoveNext()<

couid you help?

OverflowException

Hi, plugin works great, but sometimes sf1000 lcd restarted right during the race. In logs found these errors:

Снимок экрана 2023-03-08 162143

SimHub 8.2.3

UDP configured, Simhub connected, still doesn't work

Hey, the dash is displayed on my SF1000 (good IP / port), but the speed and other data don't change when I drive.
sf1000
image

Simhu Logs:
10:35:01.695 INFO [SimHub SF1000 UDP] UDP server stopped
10:35:01.695 INFO [SimHub SF1000 UDP] UDP server started. Sending to 192.168.1.19:20777 every 16.6666666666667ms

Any ideas? I tried on rf2 & LMU

Bugs and missing telemetry applying plugin to GT7 telemetry packet

Hello there,

Thank you for all the hard work you've all put into this plugin. I've been tinkering with it to try and get the SF1000 working with as much telemetry detail possible in GT7, using simlab's new capabilities in GT7.

Many of the telemetry details apply well to the wheel, especially tire temps and wear percentages, fuel loads, and track temps.

However, the lap counter is bugged since it starts at lap 1 (before the line) and increments to lap 2 by the start of the race (once crossing the line for the first time). I believe if it began from the 0th lap, the counter would work perfectly.

Current lap time doesn't count up, nor are last-laps or deltas presented with the plugin. Even though some of this data is present in simlab's dashboards.

Hope the feedback helps, keep up the awesome work!

sf1000 telemetry with github

hi,
ive tried to use your plugin, but after i put the ip that my wheel gives me, and after launching assetto corsa, nothing will show on the display.
thanks in advance

Make more field "work" in the SF1000

Hey man !

I don't know how to reach you unless to create an issue-question ;).

I wanted to know if you had any idea on how to make more field on SF1000 work ? D+1 / D-1, relative and so on. I'd enjoy working on that.

Could we have chat about that when/if you have some time ? Do you have some ideas on how to do it ?

Keep in touch !

Regards,

No plug-in visible

I am almost certain I am doing this wrong. But I see no plug-in in the actual sim hub app…

When I copy dll files, simhub doesnot open

Hey Guys! I have a issue with this plugin, when I copy the dll files my simhub cannot open anymore, I did a new install the simhub to default files. could you guys help me please

Dashbord shows but no data

Hello

I follow all the steps except "4.you know what to do next". When i launch the game the wheel dashboard is shown but i cannot have any data on it.
My wheel is connected to wifi that is OK! UDP is set to 20777
I launch the game through simhub, i installed the plugin and put the correct IP.
The wheel firmware is the last one, i think is why i do not have the screen anymore with UDP OFF or codemaster F1 2020.
It is the first time i use the Visual studio so i may have made a mistake there but i go the dll file in release folder.
I supposed it was a plugin for LMU so i put it in plugin file and I enable it in custompluginvariables

  • SimHub version: [e.g. 9.3.9]
  • Plugin version [e.g. 2.0.1]

Thank you in advance

Change RPM LED scale

I am using this plug-in to send telemetry to my SF1000 using Forza Motorsport (2023). It works pretty well.

One thing I noticed is that the LED's never reach the "blue" part in any car. Is there a way to change this behaviour, so that the redline (RPM limit) of the car matches the final blue zone of the LED lights?

No connection.

Hello Team, first of all thanks for the Plugin. I'm using rFactor2, and I tried to send my Simhub info to the SF1000 but it wasn't possible. My computer just has an Ethernet internet connection, does I need to install a WIFI antenna or something?
My regards.

Implementing ERS values

Hi @ducng99 I made some search inside Simhub dashes and I found these information:

In the gauge showing the current level of Kers charge
if(isnull([DataCorePlugin.GameRawData.StaticInfo.HasKERS],0) or isnull([DataCorePlugin.GameRawData.StaticInfo.HasERS],0),isnull([DataCorePlugin.GameRawData.Physics.KersCharge],1),1)

Range 0.000000 upto 1

In the gauge showing the current ERS use in the Lap
isnull([DataCorePlugin.GameRawData.Physics.KersCurrentKJ],0)

value from 0 to ErsMax

Max value ERS permitterd per Lap
isnull([DataCorePlugin.GameRawData.StaticInfo.ErsMaxJ],0)/1000

Value noted is 8000

I don't know if this help you to implement something more, for me the ERS info is important when I drive AC with F1 or LMP cars. I suppose that the SF1000 display has surely this information showed in some dash for F1

Thanks anyhow for trying
Claudio

Originally posted by @ilduca1960 in #6 (comment)

Optimization

Hello !

Just watching at the code, and I see that most data are standard game data :
IE :

pluginManager.GetPropertyValue("DataCorePlugin.GameData.LastLapTime") ?? new TimeSpan()

Everything starting with DataCorePlugin.GameData can be replaced directly by direct value access :

pluginManager.LastData?.NewData?.LastLapTime ?? new TimeSpan()

It will skip you lot of overhead and save some significant CPU load :)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.