Die cubigato GmbH hat das Projekt ThinkCar TC Reader als Open Source unter der Apache 2.0 Lizenz veröffentlicht. Das Projekt ist ab sofort auf GitHub verfügbar und steht der Entwicklergemeinschaft zur Verfügung.
ThinkCar TC Reader ist eine Python-Bibliothek und ein Kommandozeilen-Tool zum Lesen und Konvertieren von ThinkCar .TC Diagnoselog-Dateien in das CSV-Format. ThinkCar-Diagnosegeräte (ThinkDiag, ThinkScan, ThinkTool) und Reseller-Apps (Kingbolen eDiag, Topdon) zeichnen OBD-II Live-Daten in einem proprietären Binärformat mit der Endung .TC auf. Diese Software ermöglicht das Parsen dieser Dateien und den Export der Daten für weitere Analysen.
tc2csv-Befehl für schnelle KonvertierungenDas proprietäre .TC-Dateiformat wurde durch Reverse Engineering vollständig analysiert und dokumentiert. Die Erkenntnisse aus diesem Prozess sind in einem ausführlichen Blogartikel beschrieben:
Binärdateiformate Reverse Engineering: ThinkCar .TC Diagnosedaten
Das Format verwendet eine interessante String-Table-Architektur mit 1-basierter Indizierung und speichert alle Werte als String-Referenzen. Die vollständige Formatspezifikation findet sich in der Projektdokumentation unter docs/TC-FILE-FORMAT.md.
Das Tool kann sowohl über die Kommandozeile als auch programmatisch genutzt werden:
Kommandozeile:
tc2csv recording.TC
tc2csv recording.TC -o output.csv
Python-API:
from thinkcar_tc_reader import parse_tc_file, export_to_csv
data = parse_tc_file("recording.TC")
export_to_csv(data, "output.csv")
# Zugriff auf Metadaten und Daten
print(f"Hersteller: {data.metadata.manufacturer}")
print(f"Parameter: {data.parameters}")
Das Projekt ist als modernes Python-Package strukturiert und verwendet uv für das Dependency Management. Die Architektur trennt sauber zwischen Parser, Exporter und Command-Line Interface. Das TC-Format verwendet eine Magic-Signatur (LSX9), Little-Endian-Encoding und speichert bis zu 32 Parameter pro Datensatz in fester Größe (128 Bytes).
Umfassende Unit-Tests mit pytest dokumentieren die Funktionalität, und ein Beispiel-Datensatz von einem Subaru Outback BR (2014) TCM ist im Repository enthalten.
Die Software richtet sich an alle, die Fahrzeugdiagnosedaten aus ThinkCar-Geräten für weitere Analysen exportieren möchten. Typische Anwendungsfälle sind:
Der vollständige Quellcode ist auf GitHub verfügbar:
https://github.com/cubigato/thinkcar-tc-reader
Das Projekt steht unter der Apache 2.0 Lizenz und freut sich über Beiträge der Entwicklergemeinschaft. Entwickler können das Repository klonen, Issues erstellen und Pull Requests einreichen.