Exporting To STL
Exporting is done from the Telemetry Dashboard on the track machine, which drives the Exporter API a call at a time. There is no scheduled job and no automatic trigger.1
Find the karts
The dashboard asks which karts were charging in a time window, defaulting to a day from the start time.
2
Resolve the export path
The dashboard asks the API for the destination folder, passing the region, the event type and the timezone. The event type defaults to
Test unless the dashboard says otherwise.3
List the runs
For each kart, charging sessions are merged into runs, with any gap of five minutes or less treated as the same run. Runs shorter than a threshold, five minutes by default, are dropped. Each run is then divided into stints, though a stint is a full day, so in practice a run is one stint.
4
Export each run
The dashboard posts each run back to the API, which queries InfluxDB and writes the STL files to the local export folder.
5
Sync to S3
The dashboard calls the sync endpoint with the local path. That folder is uploaded to the telemetry bucket, and a Teams notification is posted saying whether it succeeded.
Run{NN}, or Run{NN}_Stint{NN} where a run genuinely has more than one stint.
What The Export Does To The Data
For each run the exporter:- Queries InfluxDB for that kart over the run window, aggregated into one second windows
- Pivots measurements into columns, prefixing the battery name where there is one
- Reindexes onto a continuous one second grid and forward fills the gaps
- Looks up the kart’s battery spec and applies the matching logging table, renaming each channel to its export name and applying its gain and offset
- Renames node columns to their export names
- Writes
{runName}_Tel.matand{runName}_Info.matinto{export path}/{kart}/
Charging data has no timing and no laps, so the export synthesises them. The run is written as a single lap, the kart takes the place of the driver, and the team is recorded as FKL. This is what lets SimTelLab open a charging run with the same tooling it uses for a racing run.
How It Differs From DAQ Runs
Both end up in the same place. See The STL Database and SimTelLab.
