pro_engineer — competizione

Pro Engineer/Competizione

Assetto Corsa Competizione — the telemetry works

Supported since v0.4.0. The terminal reads ACC, and this page says exactly what it can and cannot do on it.

Its three shared-memory pages are read, turned into the same reading Assetto Corsa produces, and every screen works on it unchanged. The layout was measured off a real session — a Huracán GT3 EVO at Spa, 337 seconds of it — rather than copied from somebody's header file. What ACC does not measure, the program says so instead of guessing; what it measures and Assetto Corsa cannot — what is left of the brakes, whether the lap counted — it uses. And the engineer judges a GT3 by a GT3's numbers, which is the difference between advice and silence.

WHERE IT STANDS

done ~ in progress not started

The groundworkThe program was rebuilt so that a simulator is an addition rather than a rewrite. That was the expensive half, and it is behind us.
Measured against the real gameA whole session was recorded off ACC and every field is pinned to what it actually did over two laps — 4.24 litres a lap that the tank divides by to give the laps remaining the next field holds, 520 °C front brakes against 257 °C rear. A page of zeros proves nothing, so none of it was taken on trust.
Reading its telemetrySpeed, revs, gear, fuel, four tyres, four brakes, lap and sector times, position on track. The dashboard, the tyre and brake screens, fuel strategy and lap analysis all work on it.
Telling it apart from Assetto CorsaBoth games publish under the same three names, and on Linux into the same files. Each reader now refuses pages the other game wrote — otherwise the wrong one attaches, reads plausible numbers, and says confident things about them.
Finding your installationRead off a machine that has the game rather than guessed: the Steam number, the folder, the executable, and where ACC keeps what it writes.
On LinuxUnder Proton the telemetry needs a helper inside the game's own prefix. It goes into ACC's now, and choosing the other game on the launcher moves it.
Choosing which simulatorA row on the launcher, on every platform. It used to be guessed from what was running, and for this pair of games guessing is not good enough.
What ACC measures and AC does notBrake pad and disc wear, in millimetres per corner, with advice of its own — the consumable that decides a GT3 stint, in place of the tyre wear ACC does not report. Track limits too: a lap the game called invalid stops being treated as a clean one.
SetupsACC stores them as JSON whose numbers are clicks rather than units, and the mapping differs per car — writing that from memory of the format is the one thing this project does not do. The setup tab says so rather than showing an empty list.
Driven, not just compiledFive laps through the application on a GT3, with the telemetry, the screens and the lap analysis all correct. The layout was already pinned to a recording; this is the whole chain, in a real session.
Advice judged by the class of carA GT3 is read against a GT3's numbers — tyres 75–100 °C, front brakes to 650 and rears to 500 — instead of the one band that was meant for road cars and that a GT3 never reaches at either end. That band is why the engineer used to be so quiet on this game.
~A full stint against every ruleThe class windows come from published operating ranges and from the recorded session, which is evidence rather than proof. Reading a whole stint's advice back against the numbers that produced it is the last thing owed, and it is the sort of thing that is never finished so much as kept up.

WHAT THE PROGRAM SAYS IT CANNOT SEE

ACC measures a different set of things from Assetto Corsa. Where it measures nothing, nothing is shown — and that is a feature rather than a gap, because a field a game does not publish reads as zero, and zero is a confident wrong answer. “Not measured” and “measured as zero” are different, and four unworn tyres reported as four destroyed ones is a mistake this program has made once already.

Tyre wearACC does not publish it. The wear advice and the stint projection go quiet on this game, and the launcher says so before you start.
Camber adviceBuilt entirely on inner tyre temperature minus outer, and ACC publishes neither — only the core, which the screens show instead. Withheld, not guessed.
The tread-temperature bandSame reason, and there is no substitute for it: the core temperature is a real reading of the same tyre, taken further in, so it is drawn and not judged.
The in-game panelIt is a Custom Shaders Patch app, and CSP is an Assetto Corsa mod. On ACC the product is the terminal and the network feed.
Track length in metresACC publishes none, so anything that would be reported in metres says it was not measured rather than inventing a circuit.
Track grip as a numberACC says how the track is by name instead of as a fraction. The strategy screen says “not measured” — and, more to the point, the cold-pressure target stops quietly gaining 0.3 psi for a green track nobody measured.

WHAT ACC GIVES INSTEAD

It is not a lesser Assetto Corsa. It measures things Assetto Corsa cannot, and the offsets for all of these are already pinned against the recording — what is left is the rule that reads each one, which is a feature of its own rather than a line in this one.

RG Pro Engineer's dashboard reading Assetto Corsa Competizione, with the readings that game publishes and the ones it does not marked as not measured
What Competizione does not publish is marked as not measured rather than drawn as a nought.
Brake pad and disc lifeIn millimetres, per corner, with advice that names the corner and tells you what to look at two laps later. ACC does not report tyre wear but it does report how much is left of the brakes — which over a GT3 stint is what actually decides the race.
Whether a lap countedTrack limits. A lap the game called invalid is stored as invalid and sets no best sector.
~A rain forecastRain now, in ten minutes and in thirty. The fields are read; the strategy rule that would use them is not written, and a flag with no rule behind it is a guess with a name.
~What the driver dialled inThe pressures, the fuel and the tyre set you set on the MFD, so the engineer can compare what you chose with what it would have chosen. No other simulator here can be asked that. Same state: read, not yet judged.

AND AFTER THAT

The other simulators the code already lists, with the reason each is not built. They are entries with no implementation, so this list and the program cannot drift apart.

Assetto Corsa EVOEarly access, telemetry not settled. Nothing written down until a released build says what it publishes.
iRacingIts own mapped file with a header and a session string, not fixed pages — the one most likely to find the wrong assumptions.
rFactor 2Needs a plugin the driver installs, so “running” and “readable” come apart further than under Proton.
Le Mans UltimaterFactor 2's engine, read the same way — it follows that one.

The second game is what made the boundary real. It was written expecting to find three wrong assumptions in it, and it found them: two games can publish under the same names with different layouts, a game's session numbering is its own, and which simulator is running is a question a program should ask the driver rather than guess. All three are cheaper to have found now than with five games in.