GT7 is compatible with motion rig ?

  • Thread starter poumpoum
  • 680 comments
  • 161,631 views
I've been looking too for a python implementation, if you need help let me know. I'm not an expert into decryption, but willing to help
This is what I am working with on Python too. Have a bunch of data. Just working on the decryption now myself. the one part I am not understanding is the key length needs to be 32 bytes, but the key is 38 bytes. From what I can see in Nenkai's implementation is that is it truncating the key? I can't seem to get the magic to match right now.
 
I can't seem to be able to run the exe file on Windows (not recognised as an exe.).
Anything specific as to the environment it needs?
 
Last edited:
I can't seem to be able to run the exe file on Windows (not recognised as an exe.)
I have one quick general suggestion. Upon the chance that the file was contaminated during transfer, you might rename your original file, download again & compare second file size (in bytes) to the original. Did your original file have and .exe extension?
Good luck 🤞
 
Oh, I have it decrypted in Python. Give me a few minutes to write up some crap code...
EDIT: When I mean decrpyted, what I mean is that the magic number used to verify the decryption matches what is expected. I haven't done anything more yet.
 
Last edited:
This is what I am working with on Python too. Have a bunch of data. Just working on the decryption now myself. the one part I am not understanding is the key length needs to be 32 bytes, but the key is 38 bytes. From what I can see in Nenkai's implementation is that is it truncating the key? I can't seem to get the magic to match right now.
key = b'Simulator Interface Packet GT7 ver 0.0'[:32]
 
This is the discussion thread for an article on GTPlanet:

Gran Turismo 7 Telemetry Data Now Available via Open-Source Software

Over the weekend, we told you about the discovery of a “secret” API in Gran Turismo 7 which enables motion simulators to respond to what is happening inside the game’s environment. Through additional research, this same interface was found to contain a wide range of real-time data, including everything from tire “temperatures”, to engine RPMs, and positional information...

This is the discussion thread for an article on GTPlanet:

Gran Turismo 7 Telemetry Data Now Available via Open-Source Software

Over the weekend, we told you about the discovery of a “secret” API in Gran Turismo 7 which enables motion simulators to respond to what is happening inside the game’s environment. Through additional research, this same interface was found to contain a wide range of real-time data, including everything from tire “temperatures”, to engine RPMs, and positional information...
i would like to see a youtube vid of this in use and a step by step how to before i look into buying a motion setup
 
For those seeking to use the simulator interface into their own .NET project; i've split it into a proper, .NET 6 async library.
Library: https://github.com/Nenkai/PDTools/tree/master/PDTools.SimulatorInterface
Test Tool: https://github.com/Nenkai/PDTools/tree/master/SimulatorInterfaceTest

Still no support for GT6 and Sport right now, but that'll be coming soon.
Edit: Added GTS support.
This is what I am working with on Python too. Have a bunch of data. Just working on the decryption now myself. the one part I am not understanding is the key length needs to be 32 bytes, but the key is 38 bytes. From what I can see in Nenkai's implementation is that is it truncating the key? I can't seem to get the magic to match right now.
Correct, it's truncated.
 
Last edited:
I am wondering if someone can help get the g forces of the game, the acceleration fields does not behave as gforces.

I am wondering also if they send the suspension travel
 
From what I've been testing, those values in 0xC4 are for suspension height.
Lower value = higher car.
0x54 is something about RPM. It goes non-linear and:
3k RPM = 6.00
4k = 6.20
5k = 6.40
and etc.
1658874657823.png
 
Last edited:
I am wondering if someone can help get the g forces of the game, the acceleration fields does not behave as gforces.

I am wondering also if they send the suspension travel
I was playing with G-Force values using a standard G-Force calculator, and I can get standard acceleration G-Force but anything else (collision, 2+ axis) is still not done. I have tomorrow off work so I know what I am doing.
 
This has the potential to be a game-changer for sure. Is there an updated list of every decrypted value thus far?


Jerome
 
Last edited:
Could I suggest that Tires RL & RR parameters .. err ....aren't!?

I've put car in neutral , it's going nowhere just sat on the grid.

Whilst the fronts are both around 20, the rears have constantly crept up = currently around 57!!

Also a parameter that seems to be an odd omission is the current lap time?

Wondering if these issues are related? Lap time is something that constantly increases, whilst tire temps don't usually raise indefinitely :)

1658876794960.png
 
Last edited:
Could I suggest that Tires RL & RR parameters .. err ....aren't!?

I've put car in neutral , it's going nowhere just sat on the grid.

Whilst the fronts are both around 20, the rears have constantly crept up = currently around 57!!

Also a parameter that seems to be an odd omission is the current lap time?

Wondering if these issues are related? Lap time is something that constantly increases, whilst tire temps don't usually raise indefinitely :)

View attachment 1177103
Done the same thing for an hour, no issues here.

1658879278347.png



Now that you mention it, yeah I don't think there's an actual lap time, oddly enough.
 
Ok, so I have been playing with this in Python all evening for shiggles, and I am now at the point where I can just take a car (say, Tomahawk in this case, and drive it on SSRX and get a Speed / RPM chart)
View attachment 1177100
Thats so cool. So now we could potentially do proper throttle/brake/gear/speed traces, with lap markers, to graphically analyse, overlay and compare our own laps and others? Although I can not see many fast/aliens sharing their traces! :lol:
Looks like PD are going to be dragged kicking and screaming into the proper sim world... unless PD do a PD and change the decryption key.
 
Ok, so I have been playing with this in Python all evening for shiggles, and I am now at the point where I can just take a car (say, Tomahawk in this case, and drive it on SSRX and get a Speed / RPM chart)
View attachment 1177100

Anyone has a repo for python code I could use to log the data? I think I'll be able to help with the values later on... im used to deal with these numbers!
 
Thats so cool. So now we could potentially do proper throttle/brake/gear/speed traces, with lap markers, to graphically analyse, overlay and compare our own laps and others? Although I can not see many fast/aliens sharing their traces! :lol:
Looks like PD are going to be dragged kicking and screaming into the proper sim world... unless PD do a PD and change the decryption key.
To analyse lap time data, you'd need a 'current laptime' parameter logged to reference everything against
 
To analyse lap time data, you'd need a 'current laptime' parameter logged to reference everything against
lap time might not have to come from game data...
I would be possible to have a timer running in the application and have it restart each time the lap counter goes up.
 
lap time might not have to come from game data...
I would be possible to have a timer running in the application and have it restart each time the lap counter goes up.
UDP can arrive with a wrong order. Having the data from the game is better in order to ensure the value of the data received won't be misinterpreted.
 
Last edited:
lap time might not have to come from game data...
I would be possible to have a timer running in the application and have it restart each time the lap counter goes up.
Could be calculated from logging time of day (if that is recorded down to 1000ths) and timestamp of lap change, but lap is 1 before crossing the line, so that's not gonna work for lap 1
 
Also seems we get data from replay (and from menues), well I'm not sure it is intended as if you watch a replay your rig would shake - or maybe that's one of the unknown variables ?

I tried quickly on my daily race replay, seems the data I get is the one from my car. (But I have data on user hotlap in showcase) I'll give anothere dig later
 
Last edited:
Back