Repository navigation
Releases
ECU Studio AI v1.19.0
Kennfelderkennung ohne Definition, abgesichert durch eine abschließende Prüfung; Lerndaten ohne nachweisbare Freigabe
sind entfernt, die App zeigt die Art des Belegs statt Prozentwerten. Messungen, Daten und Grenzen:
Entwicklungsbericht und Validierungsbericht. Status je Funktion: validiert = an unabhängigen Referenzen
nachgewiesen, experimentell = vorhanden, aber nicht unabhängig geprüft.
- TriCore-Programmcode (experimentell): Interpolationsaufrufe, die einen Datensatzkopf übergeben (Anzahl und
Stützstellen beider Achsen vor den Daten, auch gemischt 8/16 Bit), werden erkannt. Die Zellbreite kommt aus den
Ladebefehlen der Routine ohne die Zählerzugriffe. Bedingte Sprünge werden verfolgt. Erwartet eine Routine ihre
Argumente in anderen Registern alsa4/a5/a6, wird die Belegung aus ihrem Aufrufverhalten abgeleitet.
Gemessen nur am MSD80-Vollflash I8A0S, an dem auch entwickelt wurde (Teil-XDF): 73 → 84 von 99 Kennfeldern exakt,
Kennlinien 164 → 173. Netto 11 mehr: 13 Kennfelder sind neu exakt, 2 in 1.18.2 exakte Kennfelder sind es nicht
mehr (0x4FB18 6 × 7 u16, 0x5604C 6 × 8 u16; bekannte Regression, Aufgabe für 1.19.1). Für andere TriCore-Stände
gibt es keine unabhängige Referenz. Auf allen anderen Vergleichspaaren sind exakte Kennfelder, Datentypen, Achsen
und Achsadressen gleich wie in 1.18.2. - Drei Erkennungsebenen: Definitionen bleiben unverändert. Funde aus Code und Struktur füllen Lücken, bevor
Datenmuster und KI zum Zug kommen. Findet die Erkennung über Programmcode oder Struktur dieselbe Tabelle wie eine
Definition, gilt die Definition als „unabhängig bestätigt“ (nicht als geprüft). Ein Fund allein über Datenmuster
stützt nur die Lage und wird getrennt gezählt. Widersprüche (Start, Größe, Zellbreite, Byte-Reihenfolge, belegtes
Vorzeichen) stehen im Scanbericht. Ein Fund, der eine Definition teilweise überlappt, wird nicht mehr zusätzlich in
die Liste übernommen. - Falsche Definition erkannt: Kehren sich bei mehr als 10 % der prüfbaren Kennfelder die Achswerte um, warnen
XDF-Import und Scan, dass die Definition vermutlich zu einem anderen Softwarestand oder einer anderen Familie
gehört. Gemessen an lokalen Paaren: passende Definitionen 0,1–0,8 %, falsche 87–97 %. Leere oder gelöschte
Tabellenbereiche sind nur noch ein Hinweis, keine Warnung (sie sind bei unbenutzten Funktionen üblich). - Datentyp nicht erfunden: Ist das Vorzeichen nicht durch Programmcode belegt und entscheiden die Bytes es, zeigt
der Inspektor die andere mögliche Lesart. - Identifikation mit Stufe: eindeutig, wahrscheinlich, mehrdeutig oder unbekannt, jeweils mit Grund.
- Prüfliste (Werkzeuge): erkannte Kennfelder nach Prüfbedarf, mit Gründen und gemeinsamen Achsen. Bestätigen und
Ablehnen werden im Projekt gespeichert und gelten nur für die Originaldatei, auf der sie getroffen wurden. Unter
„Entscheidungen …“ lässt sich jede Entscheidung zurücknehmen. Eine abgelehnte Tabelle bietet ein neuer Scan nicht
wieder an, außer sie wird jetzt mit stärkerem Beleg gefunden; dann erscheint sie mit Hinweis. - Namensübertragung zwischen Softwareständen: Vorschläge, die die Erkennung im Zielstand an derselben Stelle mit
gleicher Größe, Zellbreite und Byte-Reihenfolge findet, sind gekennzeichnet. Gemessen an MED17 (Entwicklungsdaten):
„ähnliche Werte“ 92 → 99 % richtig (nicht unabhängig validiert; die App zeigt diese Quoten nicht an). Findet die Erkennung dort andere Achsen, gilt das nicht als Bestätigung. Ist
eine Achse am Zielort nicht bestätigt, werden ihre Werte nicht mehr mitübertragen; vorher waren bei 296 von 941
solcher Achsen die Werte falsch. Vorschläge ersetzen beim Übernehmen eine ungeprüfte, unbenannte Erkennung an
derselben Stelle. Bisher wurden gerade die bestätigten Vorschläge übersprungen. - Lernmodelle ohne nachweisbare Freigabe entfernt: Das seit 1.15.0 mitgelieferte Lernmodell für Datenmuster-Funde
wurde unter anderem mit einer Datei trainiert, deren Herkunftsvermerk Training ausschließt, und mit Daten ohne
dokumentierte Freigabe. Es ist aus Programm, ZIP, Installer und Quellcode entfernt, ebenso das
MS43-Strukturmodell (keine Trainingsfreigabe) und die Tabelle der gemessenen Trefferquoten (gemessen an Dateien
ohne geklärte Herkunft). Die Git-Historie bleibt unverändert, Prüfsummen und Herkunft stehen in der
Modellkarte § 2e. Der Build bricht ab, wenn eine dieser Dateien (auch umbenannt) wieder in
ein Paket gerät. Ein neues Modell wird nur mit dokumentierter Freigabe seiner Trainingsdaten angewendet. - Folgen für die Erkennung: Exakte Kennfelder, Datentypen, Achsen und Achsadressen bleiben auf allen 15
Vergleichspaaren gleich. Ohne Modell erscheinen aber mehr ungeprüfte Datenmuster-Funde (z. B. ME9: Präzision
62 → 42 %, MS45: 66 → 38 %). Formhinweise des MS43-Modells gibt es nicht mehr; sie betrafen nur Kennfelder, die die
mitgelieferte MS43-Definition ohnehin enthält. - Art des Belegs statt Prozentzahl: Jeder automatische Fund zeigt Code-Beleg, Strukturbeleg oder
Datenmuster-Vermutung. Das ist keine Wahrscheinlichkeit und nicht unabhängig validiert; der Tooltip sagt das.
TriCore-Codebelege sind als experimentell markiert. Der Katalogfilter nutzt dieselben Stufen. Quoten, die
1.15.0–1.18.2 in Projekten gespeichert haben, werden beim Laden entfernt; eigene Notizen bleiben. Die historischen
Werte mit ihrer Herkunft stehen in der Modellkarte. - Prüfliste: Reine Datenmuster-Vermutungen ohne Widerspruch stehen als eigene Gruppe nach den Funden mit Code-
oder Strukturbeleg, jede Zeile als „Vermutung“ gekennzeichnet. Die Gruppe ist beim Öffnen aufgeklappt, weil sie
auch echte Kennfelder enthält (MS42: alle 22 exakten Funde, MS45: 21 von 30), und lässt sich einklappen
(„Datenmuster-Vermutungen anzeigen“). Alle Funde bleiben im Projekt, im Katalog und im Filter. - Training reproduzierbar: Datensatz mit Herkunft, Familien-Auslassung, Seed, Protokoll und Ersetzungsregel.
Trainiert wird nur mit Daten, deren Freigabe festgehalten ist (training_allowed), und nur ein so trainiertes
Modell wird im Scan angewendet. Ein freigegebener Datensatz mit vollständiger Referenz liegt derzeit nicht vor. - Scan: benannte Stufen in der Statusleiste, durchgehend steigender Fortschritt, schnellere Achsensuche bei
identischen Ergebnissen. Mit einer großen geladenen XDF fror das Fenster nach dem Scan bisher 35–43 s ein
(MED17 mit 3446 Definitionen); die Übernahme der Funde dauert jetzt unter 0,3 s bei gleichem Ergebnis.
Musste das Fenster während eines Scans neu zeichnen (erste Anzeige einer Datei, Schließen der Prüfliste), stand es
bis zum Scan-Ende still (MS43: 4,7–5,1 s, auch in 1.18.2); jetzt längste Pause 0,11 s bei gleicher Scandauer.
Beendete Hintergrundaufgaben werden vor dem Freigeben und beim Schließen abgewartet. - Bekannte Grenzen:
- Die Präzision der Funde aus Programmcode ist nicht gemessen. Die TriCore-Codeerkennung bleibt experimentell.
- Bosch EDC17 setzt Tabellenzeiger zur Laufzeit über
a9, das ist statisch nicht auflösbar. - EDC17, MG1, MD1, Simos und SID bleiben nicht validiert. Die früheren Hersteller-A2L-Messungen (MSD80, MSD85,
EDC16, EDC17CP09) lassen sich lokal nicht wiederholen und gelten als historisch. - Ein einmaliger Absturz (Zugriffsverletzung) vom 01.11.2026 trat in den späteren Belastungsläufen nicht wieder
auf. Seine Ursache ist unbekannt. - Liegt der Programmordner tiefer als rund 200 Zeichen, startet das Programm nicht (Windows-Pfadlänge).
- Ein Abbruch wirkt bei MS43 erst nach 3–5 s, weil das Einlesen der mitgelieferten Definition nicht unterbrechbar
ist. Funde eines abgebrochenen Scans werden nicht übernommen. - Geplante Arbeiten für 1.19.1: Aufgaben.
English
Map recognition without a definition, backed by a final validation round. Status per feature: validated = proven
on independent references, experimental = present but not independently checked.
- TriCore program code (experimental): interpolation calls that pass a record header (count and breakpoints of
both axes in front of the data, also mixed 8/16 bit) are recognised. The cell width comes from the routine's load
instructions, without the count reads. Conditional branches are followed. Where a routine expects its arguments
in other registers thana4/a5/a6, the assignment is derived from its call behaviour. Measured only on the
MSD80 full flash I8A0S, which was also used during development (partial XDF): 73 → 84 of 99 maps exact, curves
164 → 173. Net 11 more: 13 maps are newly exact, 2 maps that were exact in 1.18.2 no longer are (0x4FB18
6 × 7 u16, 0x5604C 6 × 8 u16; known regression, task for 1.19.1). There is no independent reference for other
TriCore versions. On all other comparison pairs, exact maps, data types, axes and axis addresses are the same as
in 1.18.2. - Three recognition layers: definitions stay unchanged. Findings from code and structure fill gaps before data
patterns and AI do. If code/structure detection finds the same table as a definition, the definition is marked
"independently confirmed" (not "checked"). A data-pattern match only supports the position and is counted
separately. Contradictions (start, size, cell width, byte order, proven sign) are listed in the scan report. A
finding that partly overlaps a definition is no longer added to the list as well. - Wrong definition detected: if the axis values change direction in more than 10 % of the checka...
ECU Studio AI 1.18.2
Hinweis (04.11.2026): Diese Version enthält gelernte Daten (
candidate_model.json,
ms43_430069_structure_model.json,confidence_calibration.json), deren Trainings- bzw. Messdaten teilweise
keine dokumentierte Herkunft oder Freigabe haben. Ab 1.19.0
sind diese Dateien entfernt, und die App zeigt statt gemessener Prozentwerte die Art des Belegs. Wir empfehlen,
auf die aktuelle Version zu aktualisieren. Details:
Modellkarte, Abschnitt 2e.Notice (4 Nov 2026): This version contains learned data (
candidate_model.json,
ms43_430069_structure_model.json,confidence_calibration.json) whose training or measurement data partly has
no documented provenance or clearance. From 1.19.0
on, these files are removed, and the app shows the kind of evidence instead of measured percentages. We recommend
updating to the current version. Details:
model card, section 2e
(German).
Sicherheitskorrektur des Firmware-Schutzes und Nacharbeit am Programm-Symbol. Kennfelderkennung, Import,
Bearbeitung, Prüfsummen, Vergleich, Projekte und Update-System sind unverändert.
- Firmware-Schutz: Bildprüfung geschlossen (Sicherheitskorrektur). In 1.18.1 ignorierte die PNG-Prüfung Bytes
hinter dem Ende des komprimierten Bilddatenstroms. Eine PNG mit 5 000 angehängten Bytes in einem IDAT-Chunk
mit korrekter Prüfsumme wurde angenommen und normal angezeigt. Jetzt wird schrittweise und speicherbegrenzt
entpackt; jedes Byte muss zum Strom gehören, die Pixelmenge muss genau stimmen, die Zeilenfilter müssen gültig
sein. Dazu kommen Chunk-Reihenfolge, Farbtiefen und eine Grenze von 64 MiB gegen Dekompressionsbomben. GIF-Bilder
werden jetzt LZW-dekodiert (keine Daten mehr hinter dem Endecode), Text-Metadaten in PNG, GIF und JPEG werden auf
eingebettete Hex-/Base64-Daten geprüft, binäre Metadaten sind auf 16 KiB begrenzt, ICO-Einträge müssen zum
Verzeichnis passen. JPEG und WEBP brauchen eine Freigabe nach Sichtprüfung, weil ihre Bilddaten nicht dekodiert
werden. Eine Datei mit Bild-Endung, die gar kein Bild ist, wird abgewiesen. Alle Bilder im Repository bestehen
die neue Prüfung. - Programm-Symbol in kleinen Größen und in der Taskleiste: Bei 16, 20 und 24 Pixeln war das Symbol nur ein
blauer Fleck; dort gibt es jetzt eine vereinfachte, pixelgenau gezeichnete Variante (Chip, Anzeige, Kennlinie,
ohne Ring). Ab 32 Pixeln bleibt das bisherige Bild unverändert. Startmenü- und Desktop-Verknüpfung tragen jetzt
dieselbe Windows-App-ID wie das Programmfenster, und das Fenster nenntECU-Studio-AI.exeals Startbefehl. Das
Anheften an die Taskleiste startet also das Programm, nichtpythonw.exemit Python-Symbol. Die Verknüpfungen
bekommen die App-ID bei der Installation mit dem Installer von 1.18.2; eine schon angeheftete Schaltfläche
einmal lösen und neu anheften. - Bekannte Grenzen: Daten in den Bildpixeln selbst erkennt keine Strukturprüfung (neue Bilder vor dem Push
ansehen); JPEG und WEBP brauchen eine Freigabe. Startmenü, Desktop-Verknüpfung und Anheften nach echter
Installation wurden nicht in einer isolierten Umgebung getestet.
Installation: ECU-Studio-AI-<version>-windows-x64.zip entpacken und ECU-Studio-AI.exe starten, oder den
Installer ECU-Studio-AI-<version>-setup.exe ausführen. Bestehende Installationen finden das Update unter „Einstellungen → Jetzt nach Updates suchen“ (automatisch nur, wenn eingeschaltet).
Windows-Warnung beim ersten Start: Die EXE ist noch nicht code-signiert. Bei „Der Computer wurde durch Windows
geschützt“ auf „Weitere Informationen“ → „Trotzdem ausführen“ klicken. Echtheit prüfen: SHA-256 gegen die
.sha256-Datei, Build-Herkunft mit gh attestation verify <datei> --repo PCTestAdmin/ECU-Studio-AI.
ECU Studio AI 1.18.1
Hinweis (04.11.2026): Diese Version enthält gelernte Daten (
candidate_model.json,
ms43_430069_structure_model.json,confidence_calibration.json), deren Trainings- bzw. Messdaten teilweise
keine dokumentierte Herkunft oder Freigabe haben. Ab 1.19.0
sind diese Dateien entfernt, und die App zeigt statt gemessener Prozentwerte die Art des Belegs. Wir empfehlen,
auf die aktuelle Version zu aktualisieren. Details:
Modellkarte, Abschnitt 2e.Notice (4 Nov 2026): This version contains learned data (
candidate_model.json,
ms43_430069_structure_model.json,confidence_calibration.json) whose training or measurement data partly has
no documented provenance or clearance. From 1.19.0
on, these files are removed, and the app shows the kind of evidence instead of measured percentages. We recommend
updating to the current version. Details:
model card, section 2e
(German).
- Programm-Symbol: ECU Studio AI hat ein eigenes Symbol (Chip mit Kennfeld) für die .exe, Explorer,
Startmenü, Desktop-Verknüpfung, Installer, Deinstallationseintrag, alle Fenster und die Taskleiste (eigene
Windows-App-ID, damit dort nicht das Python-Symbol erscheint). Die ICO enthält 16 bis 256 Pixel und wird mit
python -m ecu_studio.tools.make_app_icon BILD.pngaus einer Vorlage erzeugt. - Firmware-Schutz prüft Bilder jetzt strukturell: Bisher genügte bei ICO der Dateikopf, und eine PNG mit
beliebigen Daten vorIENDwäre durchgegangen. Jetzt werden PNG-Chunks samt Prüfsumme und Pixelmenge, GIF- und
JPEG-Blöcke, ICO-Einzelbilder und WEBP-Länge geprüft; Metadaten sind auf 64 KiB begrenzt.
Installation: ECU-Studio-AI-<version>-windows-x64.zip entpacken und ECU-Studio-AI.exe starten, oder den
Installer ECU-Studio-AI-<version>-setup.exe ausführen. Bestehende Installationen finden das Update unter „Einstellungen → Jetzt nach Updates suchen“ (automatisch nur, wenn eingeschaltet).
Windows-Warnung beim ersten Start: Die EXE ist noch nicht code-signiert. Bei „Der Computer wurde durch Windows
geschützt“ auf „Weitere Informationen“ → „Trotzdem ausführen“ klicken. Echtheit prüfen: SHA-256 gegen die
.sha256-Datei, Build-Herkunft mit gh attestation verify <datei> --repo PCTestAdmin/ECU-Studio-AI.
ECU Studio AI 1.18.0
Hinweis (04.11.2026): Diese Version enthält gelernte Daten (
candidate_model.json,
ms43_430069_structure_model.json,confidence_calibration.json), deren Trainings- bzw. Messdaten teilweise
keine dokumentierte Herkunft oder Freigabe haben. Ab 1.19.0
sind diese Dateien entfernt, und die App zeigt statt gemessener Prozentwerte die Art des Belegs. Wir empfehlen,
auf die aktuelle Version zu aktualisieren. Details:
Modellkarte, Abschnitt 2e.Notice (4 Nov 2026): This version contains learned data (
candidate_model.json,
ms43_430069_structure_model.json,confidence_calibration.json) whose training or measurement data partly has
no documented provenance or clearance. From 1.19.0
on, these files are removed, and the app shows the kind of evidence instead of measured percentages. We recommend
updating to the current version. Details:
model card, section 2e
(German).
-
Offline zuerst: automatische Update-Prüfung ab Werk aus. Ohne eigene Einstellung baut ECU Studio AI keine
Netzwerkverbindung mehr von selbst auf. „Einstellungen → Automatisch nach Updates suchen“ schaltet sie ein; eine
bereits gespeicherte Wahl (ein oder aus) bleibt erhalten. „Jetzt nach Updates suchen“ funktioniert unverändert.
Die Prüfung fragt nur die GitHub-Releases-API ab und sendet keine Dateien. -
Lokale Referenzsuche beim Öffnen einer BIN: Projekte und Kennfeldpakete werden jetzt auch über gleiche
Hardware- und Softwarenummern gefunden (eigene indizierte Tabelle; ältere Einträge werden beim Öffnen aus den
gespeicherten Metadaten ergänzt, ohne eine BIN zu lesen). Jeder Vorschlag zeigt Stufe und Grund: „nachgewiesen“
nur bei identischer Datei (SHA-256), „wahrscheinlich“ bei gleicher Softwarenummer (mit oder ohne Hardware),
„mehrdeutig“ bei nur gleicher Hardwarenummer oder Familie. Bisher zählten nur gleicher Hash und gleiche Familie,
auf 50 Einträge begrenzt, sodass ein Projekt mit gleicher Softwarenummer fehlen konnte. „Bestehende Projekte
indexieren …“ schreibt in wenigen Transaktionen statt einer je Projekt, zeigt Fortschritt, lässt sich abbrechen
und meldet Fehler gesammelt. Synthetischer Benchmark mit 20 000 Projekten und 2 000 Paketen
(python -m ecu_studio.tools.library_benchmark): Datenbankanteil je indiziertem Projekt 17,4 → 0,27 ms,
Vorschläge beim Öffnen 25,5 → 28,2 ms, einmalige Ergänzung beim ersten Öffnen 0,3 s. -
Definition bearbeiten und XDF-Export, Fehlerbehebungen: Eine strukturelle Änderung (Adresse, Größe,
Datentyp, Byte-Reihenfolge, Faktor/Offset, Achsenadresse oder -werte) setzt den Prüfstatus einer geprüften
Definition jetzt zurück; nur ein ausdrücklicher Klick auf „Fachlich geprüft“ bestätigt ihn erneut. Vorher blieb
er mit einer Warnung bestehen. Eine gespeicherte Achsenadresse lässt sich im Dialog durch Leeren des Feldes
entfernen (vorher blieb sie erhalten). Der XDF-Export schreibt in eine temporäre Datei, prüft sie per Rückimport
und ersetzt das Ziel erst danach in einem Schritt; bei Abweichung oder Schreibfehler bleibt eine vorhandene Datei
unverändert. Die Rückimport-Prüfung verglich bisher falsche Paare, sobald eine ungültige Definition im Katalog
stand, und meldete dann fälschlich „Datei nicht verwenden“. Der Bericht sagt jetzt ausdrücklich, dass der
Rückimport mit dem eigenen Import erfolgt und kein Test in TunerPro ist. -
Firmware-Schutz für das Repository: Pre-Commit- und Pre-Push-Hooks (
.githooks/, aktivieren mit
python src\ecu_studio\tools\firmware_guard.py install) blockieren Firmware-, Dump-, Definitions-, Archiv- und
Datenbankdateien, umbenannte Binärdateien, eingebettete Hex-/Base64-/Intel-HEX-Daten, Dateien über 1 MiB, private
Datenordner und den konfigurierten lokalen Datenordner. Geprüft wird der Index (auch bei selektivem Staging) bzw.
jeder ausgehende Commit samt Commit-Nachricht und dem ganzen gepushten Baum. Öffentliche Ausnahmen (synthetische
Beispiele, mitgelieferte GPL-XDFs) gelten nur für Pfad + SHA-256. CI prüft den Baum erneut. Die bisherige Historie
wurde vollständig geprüft: keine Firmware (Beschreibung und Restrisiken). -
Dokumentation und App-Daten aktualisiert: „Hilfe → Unterstützte Steuergeräte“ führt MSD80 jetzt als TriCore
(vorher PowerPC), MSD85 als ungeprüft und Delco Multec S als nicht validiert; Messwerte unverändert. PROGRESS.md mit
den TriCore-Stufen, Roadmap-Grafik auf 1.17.0, Modellkarte mit den heutigen Trefferquoten je Beweisart und dem
Lernmodell, Beweisart-Tabelle der README an die Kalibrierdaten angeglichen. Herkunftsangaben zu nicht
mitgelieferten Referenz- und Trainingsdateien entfernt, ebensofirmware_holdout sourcessamt Quellenliste. -
TriCore-Zelltyp aus dem Programmcode (MSD80): Breite und Vorzeichen einer Tabelle folgen aus den
Ladebefehlen ihrer Interpolationsroutine, deren Basis vom Tabellenzeigera4abgeleitet ist; nur bei
übereinstimmenden Zugriffen, sonst bleibt der Typ als ungeprüft markiert. Diese Breite hat Vorrang vor einer
zufällig exakt gefüllten Lücke (22 von 832 Fällen: zwei gleich große Bytetabellen hintereinander). Alle per
a4an bekannte Kennfeldroutinen übergebenen Adressen begrenzen jetzt die Lücke. Eine Kennfeldroutine nach
Achsensuche muss Tabellenzellen lesen. MSD80 I8A0S (Entwicklungsdaten): exakt 71 → 73 von 99, Typ richtig
53 → 62, Konflikte unverändert; MS42/MS43, Negativkontrollen und EDC17C69 unverändert
(Bericht, Abschnitt 11). -
Delco D98 / Multec S: Recherche dokumentiert; kein rechtmäßig nutzbares Abbild gefunden, daher keine
Erkennungsmetrik (Recherche, Benchmark). -
TriCore-Aufrufe, zweite Stufe (MSD80): Achszeiger, die eine Funktion früh auf dem Stack ablegt und erst
vor dem Aufruf wieder lädt, werden über die nächste vorangehende Belegung des Slots aufgelöst (nur bei
einmaliger sp-Änderung und ohne herausgegebene Slotadressen). Getrennte Interpolation (Achsensuche je Achse,
danach Kennfeldaufruf nur mit Daten) wird pfadgebunden erkannt; Routinenrollen folgen aus dem Aufrufverhalten,
die Zellbreite nur aus exakter Lückenfüllung. Eigene, nicht kalibrierte Evidenzklassecode:call-pre.
MSD80 I8A0S (Entwicklungsdaten): exakte 2D-Kennfelder 61 → 71 von 99, Konflikte mit der XDF 13 → 11,
Gruppenpaare 17 → 33. MS42/MS43, alle Negativkontrollen und EDC17C69 unverändert. Behoben: 16-Bit-ld.a a15,[sp]
verwarf den alten a15-Wert nicht (Bericht, Abschnitt 10). -
Kennfelder aus TriCore-Interpolationsaufrufen (Siemens MSD80 und andere Vollflash-Images mit derselben
Aufrufkonvention): Der Code übergibt Tabellendaten ina4und die Köpfe von X-/Y-Achse ina5/a6. Der neue
Decodercore/tricore_refs.pyliest daraus Start, Größe und Achsen; die Zellbreite folgt ohne Referenz aus dem
nächsten benannten Objekt. Gemessen an einem MSD80-Vollflash (I8A0S, Community-XDF, Entwicklungsdaten): exakte
2D-Kennfelder 39 → 61 von 99, Kennlinien 115 → 160 von 262, gemeinsame Achsen 17/17. Keine neue Kollision mit
der Referenz; MS42/MS43 und alle Negativkontrollen unverändert; EDC17C69 bleibt ohne Treffer. Eigene,
nicht kalibrierte Evidenzklassecode:call. Reine Kalibrierbereiche (S19) enthalten keinen Code und bleiben
unverändert. MSD80 ist nachweislich TriCore, nicht PowerPC
(Bericht). -
Kennfelddefinition bearbeiten / prüfen … (Strg+E, Werkzeuge und Kontextmenü der Kennfeldliste): Name,
Beschreibung, Adresse, Größe, Datentyp, Byte-Reihenfolge, Faktor/Offset, Einheiten, X-/Y-Achsenadresse mit eigenem
Datentyp und Faktor, Prüfstatus. „Prüfen“ zeigt Änderungen, Warnungen und eine Vorschau der Werte aus den
aktuellen Dateibytes; „Übernehmen“ erst danach und nur nach Bestätigung, als rückgängig machbare
Definitionsänderung. Die BIN wird nie verändert; „geprüft“ setzt nur der Nutzer. Achsen werden nur neu gelesen,
wenn der Nutzer ihre Leseart ändert (sonst blieben importierte Achsen mit unbekannter Skalierung nicht erhalten). -
Kennfelder als TunerPro-XDF exportieren … (Datei-Menü): XML-XDF 1.70 für Tabellen, Kennlinien und Konstanten
mit 8/16/32 Bit, Vorzeichen, Byte-Reihenfolge, Speicherordnung, Strides, Formel, Einheiten und Ordner. Achsen als
feste Stützstellen (folgen keiner späteren Achsenänderung). 32-Bit-Gleitkomma und ungültige Definitionen werden
mit Grund ausgelassen. Jeder Export wird sofort mit dem eigenen XDF-Importer zurückgelesen und Feld für Feld
verglichen; nur dann meldet die App „Rückimport geprüft“. In TunerPro selbst ist der Export nicht getestet. -
Konfidenzfilter „Noch nicht manuell geprüft“: alle Kennfelder, die der Nutzer noch nicht bestätigt hat.
-
Open-Source-Detektoren am fixierten Quellstand verglichen; zwei eigenständig implementierte Strukturversuche
bleiben außerhalb des produktiven Scanners. Neuertools.detector_benchmarknutzt die bestehenden
hashgebundenen Messungen für Baseline, Einzelversuch und konservative Kombination. -
Negative Achszeiger werden vor dem Bytezugriff abgewiesen; keine Dateiumwicklung durch Python-Indizierung.
-
Wiederholte Record-Oberflächenprüfungen werden pro Scan begrenzt wiederverwendet. Auf der synthetischen
64-KiB-Rampenkontrolle sinkt der Median von 35,965 auf 8,750 s bei identischen Resultaten; kein allgemeiner
ECU-Geschwindigkeitsfaktor. Neue reale Kennfeldtreffer sind nicht nachgewiesen. -
[Quellco...
ECU Studio AI 1.17.0
Hinweis (04.11.2026): Diese Version enthält gelernte Daten (
candidate_model.json,
ms43_430069_structure_model.json,confidence_calibration.json), deren Trainings- bzw. Messdaten teilweise
keine dokumentierte Herkunft oder Freigabe haben. Ab 1.19.0
sind diese Dateien entfernt, und die App zeigt statt gemessener Prozentwerte die Art des Belegs. Wir empfehlen,
auf die aktuelle Version zu aktualisieren. Details:
Modellkarte, Abschnitt 2e.Notice (4 Nov 2026): This version contains learned data (
candidate_model.json,
ms43_430069_structure_model.json,confidence_calibration.json) whose training or measurement data partly has
no documented provenance or clearance. From 1.19.0
on, these files are removed, and the app shows the kind of evidence instead of measured percentages. We recommend
updating to the current version. Details:
model card, section 2e
(German).
Offenes Kennfeldpaket und integrierter Projektworkflow
- Bestehendes JSON-Map-Pack auf Version 2 erweitert: Original-Hash/-Größe, erkannte ECU-/HW-/SW-Kennungen,
Definitionen inklusive Strides, Achsadressen und Gruppen, optionale Beschreibungen/Belege und Integritäts-Hash.
Keine Firmware oder Patches. Format 1 bleibt lesbar; unbekannte Felder werden angezeigt und blockieren die Übernahme. - Importvorschau mit Konflikten; keine Überschreibung vorhandener Definitionen und keine automatische Verifikation.
Abweichende Hashes laufen mit lokaler Quell-BIN durch den bestehenden Softwarestand-Vergleich statt an gleiche Offsets. - Paketübernahme plus Projektversionsstand sind als gemeinsame Katalogtransaktion mit Strg+Z/Strg+Y rückgängig machbar,
in zeitlicher Reihenfolge mit Byte-Bearbeitungen. Lokaler Projektindex merkt Pakete und bietet beim Öffnen Vorschläge an. - Export: alle, bestätigte oder ausgewählte Definitionen; Achsadressen/Gruppen optional; private Freitexte standardmäßig aus.
tools.validation_reportverbindet die bestehenden Benchmarks und Fehlfundanalysen mit lokalem SHA-256-Manifest,
getrennten Datenrollen und JSON-/Markdown-Ausgabe. Geänderte Referenz, Rolle oder Software ist nicht vergleichbar.- Keine Änderung am Scanner oder an OEM-Korrektursperren. Prioritätsfamilien ohne Referenzen bleiben nicht neu gemessen.
Format,
Messworkflow,
technischer Prüfbericht. - Geprüft: 591 Tests bestanden, 7 optionale Referenztests übersprungen; synthetischer GUI-Ablauf und Windows-Paketbau.
Die MS42-Kontrolle bleibt bei 22/213 exakten 2D-Layouts. Kein neuer unabhängiger OEM- oder Transfernachweis.
Installation: ECU-Studio-AI-<version>-windows-x64.zip entpacken und ECU-Studio-AI.exe starten, oder den
Installer ECU-Studio-AI-<version>-setup.exe ausführen. Bestehende Installationen bieten das Update automatisch an.
Windows-Warnung beim ersten Start: Die EXE ist noch nicht code-signiert. Bei „Der Computer wurde durch Windows
geschützt“ auf „Weitere Informationen“ → „Trotzdem ausführen“ klicken. Echtheit prüfen: SHA-256 gegen die
.sha256-Datei, Build-Herkunft mit gh attestation verify <datei> --repo PCTestAdmin/ECU-Studio-AI.
ECU Studio AI 1.16.4
Hinweis (04.11.2026): Diese Version enthält gelernte Daten (
candidate_model.json,
ms43_430069_structure_model.json,confidence_calibration.json), deren Trainings- bzw. Messdaten teilweise
keine dokumentierte Herkunft oder Freigabe haben. Ab 1.19.0
sind diese Dateien entfernt, und die App zeigt statt gemessener Prozentwerte die Art des Belegs. Wir empfehlen,
auf die aktuelle Version zu aktualisieren. Details:
Modellkarte, Abschnitt 2e.Notice (4 Nov 2026): This version contains learned data (
candidate_model.json,
ms43_430069_structure_model.json,confidence_calibration.json) whose training or measurement data partly has
no documented provenance or clearance. From 1.19.0
on, these files are removed, and the app shows the kind of evidence instead of measured percentages. We recommend
updating to the current version. Details:
model card, section 2e
(German).
Bericht mit allen Messungen: docs/ANALYSE_2026-10-23.md.
Projektkompatibilität und Werteübernahme
- Kennfeldfelder aus einer neueren Projektversion werden beim toleranten Öffnen weiterhin nicht angezeigt,
aber jetzt verlustfrei am Kennfeld mitgeführt und beim Speichern unverändert zurückgeschrieben. - Unabhängige synthetische Transfer-Matrixtests decken mehrere Softwarestand-Layouts, Datentypen, Byte-Reihenfolgen,
Skalierungen, Überlauf-/Review-Sperren und den gemeinsamen Undo-Schritt ab. Das ist kein OEM-Nachweis.
Gemeinsame Achsen (Gruppenkennfelder)
- Kennfelder kennen die Dateiadresse ihrer X-/Y-Stützstellen (A2L
STD_AXIS/COM_AXISmit Achsobjekt-Namen,
XDF eingebettete und verlinkte Achsen, Kopf-/Kennlinien-Datensätze und Code-Verweise der Erkennung). Gespeichert
im Projekt; alte Projekte laden unverändert. - Neues Modul
core/axis_groups.py: Gruppen nur über dieselbe Achsadresse, mit Evidenz aus Definition oder
strukturell, ungeprüft und Markierung unsicher bei Widersprüchen. Gleiche Achswerte an anderer Adresse sind nur
eine Hypothese. Katalog („Achse geteilt“), Detailbereich, Funktionsgruppen (inkl. CSV) und Funktionsgraph zeigen
die Gruppen; der Funktionsgraph gruppierte vorher nach gleichen Achswerten. - Gemessen an MS43 430069 (Rolle training): 491 von 491 erkannten Gruppenpaaren richtig, 86 % der Referenzpaare
unter den exakt gefundenen Kennfeldern.
Softwarestände vergleichen und Definitionen übernehmen (Werkzeuge, neu)
- Zuordnung über eindeutige Anker in Klassen exakt / strukturell / wahrscheinlich / mehrdeutig / nicht zuordenbar;
gleiche Adresse allein ist kein Beleg. Differenzen je Kennfeld, zwei synchronisierte Wertetabellen, Filter,
Liste „nur in Stand B“. - Übernahme nur von Definitionen (BIN unverändert), alles oder nichts, „wahrscheinlich“ nur mit Bestätigung,
mehrdeutig nie; Protokoll im Projekt-Journal und Versionsstand mit den übernommenen Definitionen. - MS43 E46 → E39 (1454 Definitionen, 0,31 s): alle 1140 zugeordneten am richtigen Ort. Zugeordnet wird über die
Originale beider Stände, Bearbeitungen in Stand A ändern die Zuordnung nicht. - Werteänderungen von Stand A übertragen …: markierte, eindeutige Zuordnungen gehen an den geprüften
Delta-Transfer (bestätigte Identität und Definitionen, gleiche Achsen und Einheiten, Vorschau, ein Undo-Schritt).
Nicht bestätigte Achsen in Stand B werden bei der Definitionsübernahme nicht aus Stand A übernommen.
Projektbibliothek und Versionen
- Projektliste mit Familie, HW/SW-Kennung, Definitionsquellen, App-Version, geprüften/ungeprüften/geänderten
Kennfeldern und Versionen; eigene Tags und Kommentare; Filter nach Familie und Tag. Die Angaben stehen in
zusätzlichen Tabellen: Ältere Versionen öffnen und beschreiben dieselbe Projektdatenbank weiterhin. - Tests laufen mit temporären Benutzerordnern und berühren die echte Projektdatenbank nicht mehr.
- Projekte aus neueren Versionen öffnen jetzt mit einer Warnung, die die unbekannten Kennfeldangaben nennt
(sie bleiben beim Speichern unverändert erhalten), statt mit einem Fehler abzubrechen. Hinweis: Projekte dieses Stands lassen
sich in 1.16 und älter nicht öffnen – dort fehlt diese Toleranz noch. - Versions-Explorer: zwei beliebige Stände vergleichen (Bytes, Kennfelder, Definitionen).
Messwerkzeuge
tools/miss_analysis: Ursachen verfehlter Referenzkennfelder je Paar.benchmark_suite: Version, Commit, Referenzquelle/-lizenz, Achsadress- und Gruppenkennzahlen,--baselinefür
einen Vorher/Nachher-Bericht (mehr Kandidaten allein gilt nie als Verbesserung).
Nicht erreicht: Keine Änderung an der Kennfeldsuche. Die Referenzpaare der Prioritätsfamilien (EDC17CP09, EDC16,
MSD80/85) waren nicht verfügbar; zwei an MS42/MS43 geprüfte Ansätze für Gruppenkennfelder wurden wegen zu geringer
Präzision verworfen (Bericht, Abschnitt 3).
Installation: ECU-Studio-AI-<version>-windows-x64.zip entpacken und ECU-Studio-AI.exe starten, oder den
Installer ECU-Studio-AI-<version>-setup.exe ausführen. Bestehende Installationen bieten das Update automatisch an.
Windows-Warnung beim ersten Start: Die EXE ist noch nicht code-signiert. Bei „Der Computer wurde durch Windows
geschützt“ auf „Weitere Informationen“ → „Trotzdem ausführen“ klicken. Echtheit prüfen: SHA-256 gegen die
.sha256-Datei, Build-Herkunft mit gh attestation verify <datei> --repo PCTestAdmin/ECU-Studio-AI.
ECU Studio AI 1.16.3
Hinweis (04.11.2026): Diese Version enthält gelernte Daten (
candidate_model.json,
ms43_430069_structure_model.json,confidence_calibration.json), deren Trainings- bzw. Messdaten teilweise
keine dokumentierte Herkunft oder Freigabe haben. Ab 1.19.0
sind diese Dateien entfernt, und die App zeigt statt gemessener Prozentwerte die Art des Belegs. Wir empfehlen,
auf die aktuelle Version zu aktualisieren. Details:
Modellkarte, Abschnitt 2e.Notice (4 Nov 2026): This version contains learned data (
candidate_model.json,
ms43_430069_structure_model.json,confidence_calibration.json) whose training or measurement data partly has
no documented provenance or clearance. From 1.19.0
on, these files are removed, and the app shows the kind of evidence instead of measured percentages. We recommend
updating to the current version. Details:
model card, section 2e
(German).
- Updater repariert: Der PowerShell-Updater läuft jetzt mit einem Arbeitsordner außerhalb der Installation,
damit Windows den Installationsordner beim Austausch nicht selbst als „in Benutzung“ sperrt. - Der Austausch wartet bei kurzfristigen Windows-Dateisperren bis zu 30 Sekunden und bricht danach unverändert ab.
Installation: ECU-Studio-AI-<version>-windows-x64.zip entpacken und ECU-Studio-AI.exe starten, oder den
Installer ECU-Studio-AI-<version>-setup.exe ausführen. Bestehende Installationen bieten das Update automatisch an.
Windows-Warnung beim ersten Start: Die EXE ist noch nicht code-signiert. Bei „Der Computer wurde durch Windows
geschützt“ auf „Weitere Informationen“ → „Trotzdem ausführen“ klicken. Echtheit prüfen: SHA-256 gegen die
.sha256-Datei, Build-Herkunft mit gh attestation verify <datei> --repo PCTestAdmin/ECU-Studio-AI.
ECU Studio AI 1.16.2
Hinweis (04.11.2026): Diese Version enthält gelernte Daten (
candidate_model.json,
ms43_430069_structure_model.json,confidence_calibration.json), deren Trainings- bzw. Messdaten teilweise
keine dokumentierte Herkunft oder Freigabe haben. Ab 1.19.0
sind diese Dateien entfernt, und die App zeigt statt gemessener Prozentwerte die Art des Belegs. Wir empfehlen,
auf die aktuelle Version zu aktualisieren. Details:
Modellkarte, Abschnitt 2e.Notice (4 Nov 2026): This version contains learned data (
candidate_model.json,
ms43_430069_structure_model.json,confidence_calibration.json) whose training or measurement data partly has
no documented provenance or clearance. From 1.19.0
on, these files are removed, and the app shows the kind of evidence instead of measured percentages. We recommend
updating to the current version. Details:
model card, section 2e
(German).
Prüfsummen: Bosch MED17/EDC17-Blockverfahren (neu: Werkzeuge → EDC17/MED17-Prüfsummenblöcke prüfen / korrigieren …)
-
Neues Modul
core/edc17_checksum.pyliest die selbstbeschreibenden Bosch-Prüfsummenblöcke (Signatur
FADECAFE/CAFEAFFE), rechnet TriCore-Flash-Adressen (0x8/0xA-Alias) auf Dateioffsets um und rechnet die drei
dokumentierten Verfahren nach: CRC32 (reflektiert, Startwert 0xFADECAFE, gespeichert als Komplement),
ADD32 (Dword-Summe) und ADD16 (16-Bit-Wortsumme mit dokumentiertem Schlusswort). Ein Block gilt nur als
nachgewiesen, wenn er den gespeicherten Wert aus dem unveränderten Original exakt reproduziert; aus dem
Familiennamen wird nichts geschlossen. -
Korrektur nur für additive Blöcke (ADD32/ADD16) über ihr Kompensationswort, mit Byte-Vorschau, Endprüfung und
Rücknahme. CRC32-Blöcke werden nur geprüft (könnten Signaturen/Sicherheitsfelder abdecken – bewusst nicht
angefasst). Keine Signatur-Umgehung, keine Flashfreigabe. -
Der Prüf-/Exportbericht (
audit_export) warnt jetzt auch bei falschen EDC17/MED17-Blockprüfsummen. -
Korrektur schreibt alle Kompensationswörter in einem Undo-Schritt: ein einziges Strg+Z nimmt die gesamte
Korrektur zurück (vorher nur das zuletzt geschriebene Feld). -
Eindeutiger Prüfstatus vollständig / teilweise / nicht prüfbar:
check_current/verifyund die Oberfläche
weisen nicht am Original nachgewiesene Strukturen jetzt klar als ungeprüft aus, statt für einige Strukturen einen
positiven Status zu zeigen. -
Strengere Grenzprüfung: Jede Prüfsummenstruktur muss vollständig innerhalb ihres Blocks liegen; Strukturen
beschädigter/ungewöhnlicher Dateien, deren Bereich aus dem Block fällt, gelten als „nicht prüfbar“ und erzeugen
keinen irreführenden Treffer und kein Schreibziel. -
tools/validate_pairmisst zusätzlich die EDC17/MED17-Prüfsummenabdeckung (nicht nur die Kennfelderkennung). -
Herkunft des Blockformats: öffentlich dokumentiertes Bosch-Layout, gegengeprüft am MIT-lizenzierten
medc17-checksum-tool (Connor Howell). Die Mechanik ist synthetisch im Bosch-Format end-to-end getestet
(tests/test_edc17_checksum.py, u. a. unabhängige CRC-Gegenrechnung). Ein OEM-Nachweis an echter EDC17CP09-
Firmware steht aus – es liegt keine echte Firmware im Repository (siehedocs/ECU_SUPPORT.md). EDC17/MED17-
Korrekturen sind ohne einen SHA-256-gebundenen OEM-Nachweis gesperrt; Teilstrukturen werden nie korrigiert. -
EDC16U1/U31/U34: selbstbeschreibende FADECAFE/CAFEAFFE-Bereiche mit BE-DWORD-Summe
0xD01FE500werden
geprüft und nur nach vollständigem Originalnachweis sowie OEM-Freigabe korrigiert. Ohne OEM-Eintrag bleibt die
Funktion bewusst im Prüfmodus. -
OEM-Freigaben akzeptieren nicht mehr nur Metadaten:
checksum_validation.pyverlangt mindestens zwei
verschiedene vertrauenswürdige Ed25519-Signaturen über eine kanonische, SHA-256-gebundene Bescheinigung und
einen Hash der Evidenz. Die menschliche Unabhängigkeit bleibt ein Review-Prozess und wird nicht behauptet. -
Hinweisbalken nach dem Öffnen: Siemens-Dateien ohne Bosch-EPK (MS41/MS42/MS43, GS20) galten als „nicht
bestimmbar“, obwohl die App sie an ihren Softwaremarkern erkennt (Titelzeile). Die Erkennung nutzt diese Marker
jetzt auch für Hinweisbalken, Kennungsanzeige und Unterstützungsstatus.
Installation: ECU-Studio-AI-<version>-windows-x64.zip entpacken und ECU-Studio-AI.exe starten, oder den
Installer ECU-Studio-AI-<version>-setup.exe ausführen. Bestehende Installationen bieten das Update automatisch an.
Windows-Warnung beim ersten Start: Die EXE ist noch nicht code-signiert. Bei „Der Computer wurde durch Windows
geschützt“ auf „Weitere Informationen“ → „Trotzdem ausführen“ klicken. Echtheit prüfen: SHA-256 gegen die
.sha256-Datei, Build-Herkunft mit gh attestation verify <datei> --repo PCTestAdmin/ECU-Studio-AI.
ECU Studio AI 1.16.1
Hinweis (04.11.2026): Diese Version enthält gelernte Daten (
candidate_model.json,
ms43_430069_structure_model.json,confidence_calibration.json), deren Trainings- bzw. Messdaten teilweise
keine dokumentierte Herkunft oder Freigabe haben. Ab 1.19.0
sind diese Dateien entfernt, und die App zeigt statt gemessener Prozentwerte die Art des Belegs. Wir empfehlen,
auf die aktuelle Version zu aktualisieren. Details:
Modellkarte, Abschnitt 2e.Notice (4 Nov 2026): This version contains learned data (
candidate_model.json,
ms43_430069_structure_model.json,confidence_calibration.json) whose training or measurement data partly has
no documented provenance or clearance. From 1.19.0
on, these files are removed, and the app shows the kind of evidence instead of measured percentages. We recommend
updating to the current version. Details:
model card, section 2e
(German).
⚠️ Bitte diese Version einmal von Hand installieren (Installer…-setup.exeoder ZIP), wenn du 1.15.0 oder
1.16.0 nutzt: Deren Update-Funktion installiert nichts (siehe unten). Ab 1.16.1 funktioniert das Update aus der App.
- Automatisches Update repariert: Die App startete das Update-Programm mit einer Windows-Option, bei der
Windows PowerShell sofort beendet, ohne das Skript auszuführen – das Update meldete keinen Fehler, die alte
Version blieb. Betroffen: alle Updates aus der App bis einschließlich 1.16.0. Wer 1.15.0 oder 1.16.0 nutzt,
muss diese Version einmal von Hand installieren (Installer oder ZIP); danach funktioniert das Update aus der App.
Ein neuer Test startet das Update-Programm genau wie die App und prüft, dass das Skript wirklich läuft. - Update-Prüfung bei jedem Start (bisher höchstens einmal am Tag): Wurde kurz vor einer Veröffentlichung geprüft,
blieb die neue Version bis zu 24 Stunden unsichtbar (so bei 1.16.0). Während die App läuft, weiter einmal täglich. - Messung ohne A2L (
validate_pair DATEI.bin --family …): Kennung, Funde je Konfidenz und Laufzeit; Familie wird
„experimentell“, nie „validiert“. Ergebniszeilen heißen nach Familie und Hash, nicht nach dem Dateinamen. - Signaturschlüssel-Erzeugung gibt Pfad und Inhalt der Schlüsseldatei nicht mehr aus (CodeQL-Hinweis).
- README mit englischer Kurzfassung.
Installation: ECU-Studio-AI-<version>-windows-x64.zip entpacken und ECU-Studio-AI.exe starten, oder den
Installer ECU-Studio-AI-<version>-setup.exe ausführen. Bestehende Installationen bieten das Update automatisch an.
Windows-Warnung beim ersten Start: Die EXE ist noch nicht code-signiert. Bei „Der Computer wurde durch Windows
geschützt“ auf „Weitere Informationen“ → „Trotzdem ausführen“ klicken. Echtheit prüfen: SHA-256 gegen die
.sha256-Datei, Build-Herkunft mit gh attestation verify <datei> --repo PCTestAdmin/ECU-Studio-AI.
ECU Studio AI 1.16.0
Hinweis (04.11.2026): Diese Version enthält gelernte Daten (
candidate_model.json,
ms43_430069_structure_model.json,confidence_calibration.json), deren Trainings- bzw. Messdaten teilweise
keine dokumentierte Herkunft oder Freigabe haben. Ab 1.19.0
sind diese Dateien entfernt, und die App zeigt statt gemessener Prozentwerte die Art des Belegs. Wir empfehlen,
auf die aktuelle Version zu aktualisieren. Details:
Modellkarte, Abschnitt 2e.Notice (4 Nov 2026): This version contains learned data (
candidate_model.json,
ms43_430069_structure_model.json,confidence_calibration.json) whose training or measurement data partly has
no documented provenance or clearance. From 1.19.0
on, these files are removed, and the app shows the kind of evidence instead of measured percentages. We recommend
updating to the current version. Details:
model card, section 2e
(German).
Kennfelderkennung (alt → neu, gleiche Referenzen und gleiche Messmethode; Test = nie zum Einstellen verwendet)
- Siemens MSD85 · Test: exakt 148 → 279 von 1026, Präzision 74 → 81 %.
- Siemens MSD80 · Test (6 Stände, davon 4 neu als Testpaare): exakt 133–143 → 217–224 von 864, Präzision 77–78 → 81–82 %.
- Bosch EDC16C35 / EDC16C31: exakt 111 → 283 / 123 → 272, Präzision 66 → 81 % / 71 → 82 %, Abdeckung 80 / 84 %.
- Bosch EDC17CP09: exakt 157 → 463 von 703, Präzision 71 → 85 %; BMW ME9.2.1 109 → 170, ME9 41 → 98; BMW MSS54 69 → 97.
- Bosch MED17.1.62 (6 Stände, Teil-XDF): exakt 49–64 → 121–145.
- Kopf-Datensätze (Anzahl, Achsen, Werte) werden auch mit flachen oder groben Werten erkannt; Größe und Achsen belegt
der Kopf (eigene Evidenzklasseheader:nxny:shape, gemessen 98 % Treffer). Verrauschte Datensätze nur innerhalb einer
Kette direkt aneinanderliegender Datensätze. Gelockerte Achsenregel nur bei 16-Bit-Zählern: auf Zufallsdaten,
komprimierten und gelöschten Daten 0 Kandidaten (Negativkontrolle, 13 Dateien). - Belegte Funde (Kopf-Datensatz, Code-Verweis, Deskriptor) gewinnen Überlappungen gegen reine Glattheits-Kandidaten –
außer ihr Kopf liegt im Inneren einer früher beginnenden Tabelle – und werden nicht mehr vom Ergebnislimit abgeschnitten. - Vorzeichen: bei gleich guter Lesart wird s16 nur gewählt, wenn die Bytes negative Werte enthalten.
- Konfidenz neu kalibriert, nur auf Entwicklungs- und Trainingspaaren (Testdaten nicht mehr in der Kalibrierung).
Roadmap mit Clips
- Jede neue Funktion in der Roadmap mit kurzem GIF-Clip und Version (wie bei Feature-Listen kommerzieller Editoren).
Die Clips sind echte Aufnahmen der App:tools/feature_clips.pybedient das Hauptfenster offscreen, zeichnet
Mauszeiger und Klicks ein und schreibt GIFs mit einem eigenen Encoder (tools/gif_writer.py, nur NumPy). - Vorführdatei
core/showcase.py: synthetische Kopf-Datensätze, keine Herstellerdaten.
Englische Oberfläche
- Komplette Oberfläche auf Englisch: Menüs, Werkzeugleiste, Dialoge, Meldungen, Statuszeile, Kennfeldliste, Prüfberichte.
Auswahl unter Einstellungen → Sprache / Language (Standard: Systemsprache, deutsche Systeme bleiben deutsch). - Auch gezeichnete Ansichten (Heatmap, 3D, Kurven, Speicheratlas) und zusammengesetzte Statuszeilen
(„16 × 16 · u16 · Unbekannt“) werden übersetzt. - Übersetzungskatalog
recognition/data/i18n/en.json(1792 Texte);tools/i18n_extract.pysammelt neue Texte aus dem
Quellcode, ein Test verhindert unübersetzte Texte. Auswahlfelder zeigen Englisch, Projekte und Programmlogik bleiben
sprachunabhängig.
Rechtlich saubere Referenzdaten
- Recherche nach rechtmäßig verfügbaren Original/Definition-Paaren für MD1, MG1, Simos, SID, MED17.5/17.7: keine gefunden
(öffentliche Uploads Dritter ohne Lizenz wurden nicht heruntergeladen; Begründung in docs/ECU_SUPPORT.md). - Neu:
tools/tunerstudio_image.py– Kalibrierabbild + vollständige Referenz aus TunerStudio-Definition (.ini) und
Abstimmung (.msq) für offene Steuergeräte (Speeduino, rusEFI, MegaSquirt); sichere Ausdrucksauswertung ohneeval,
versionsgenaue Definition wird erzwungen. - Speeduino gemessen (14 offizielle Abstimmungen, GPL-2.0/CC BY-NC 4.0): ohne Definition nur 0–2 von 18–20 Tabellen
exakt – Tabellen liegen vor ihren Achsen ohne Anzahl-Kopf. Ein Scanner dafür wurde gebaut, gemessen und verworfen
(auf anderen Familien hunderte Fehlfunde). Status „teilweise“. - Unterstützungsmatrix: „validiert“ verlangt jetzt zusätzlich ≥ 20 % exakt gefundene Referenztabellen; Siemens MS45
und MS42 stehen damit ehrlich auf „teilweise“.
Neue Steuergeräte-Familien validierbar machen
- Identifikation erkennt zusätzlich Klartext-Kennungen von Continental/Siemens (Simos, SID, MSV, MSD) und MD1/MG1;
auf den 27 Referenzdateien keine falsche Familie. Matrix-Zuordnung fällt auf die übergeordnete Familie zurück
(SIMOS18.1 → Simos 18). - Neu:
tools/validate_pair.py– ein Befehl misst für ein Original + passende A2L Kennung, exakte Kennfelder, Typ,
Achsen, Präzision und Fehlfunde und schreibt eine Ergebniszeile;support_matrixübernimmt sie (auch für Familien
ohne bisherige Messung). MD1, MG1, Simos, SID, MED17.5/17.7 bleiben nicht validiert, bis echte Paare gemessen sind.
Vertrauen: signierte Updates
- Ed25519-Signaturen nach RFC 8032 (reines Python, gegen die RFC-Testvektoren geprüft, keine neue Abhängigkeit).
- Release-Workflow signiert ZIP und Installer, sobald das Secret
UPDATE_SIGNING_KEYexistiert; ist ein öffentlicher
Schlüssel im Repository, fehlt aber das Secret oder passt es nicht, bricht der Release ab. - Die App verlangt eine gültige Signatur, sobald ein öffentlicher Schlüssel eingebaut ist – geprüft wird vor dem
Download, gebunden an Dateiname und SHA-256. Einrichtung:docs/RELEASE.md→ „Signierte Updates einrichten“.
Prüfsummen (neu: Werkzeuge → Prüfsummen-Tabellen der Datei prüfen / korrigieren …)
- Selbstbeschreibende Prüfsummen-Tabellen (Start, Ende, Wert, ~Wert) werden gefunden; ein Block gilt nur als bewiesen,
wenn ein Verfahren den gespeicherten Wert am unveränderten Original exakt reproduziert (Basisadresse, Byte-Reihenfolge
und Verfahren kommen aus der Datei, nicht aus einer Familienliste). - Gemessen an Originaldateien: ME7.5 (2 Stände) 68/68 und 70/70 Blöcke, ME7 Volvo 51/52 und 67/68, MED9 66/68, ME9 63/63
(32-Bit-Wortsumme). EDC16C31/C35 und EDC17CP09: Die gefundenen Einträge sind offenbar keine Prüfsummen
(Füllmuster, unplausible Bereiche); kein Verfahren reproduziert sie – keine Korrektur. - Korrektur mit Byte-Vorschau, verketteter Blöcke in mehreren Durchgängen, Endprüfung aller Blöcke, sonst Rücknahme;
rückgängig machbar. Prüfbericht vor dem Export warnt bei falschen Tabellen-Prüfsummen. Signaturen (z. B. RSA) und
weitere ECU-Prüfungen sind nicht abgedeckt – keine Flashfreigabe.
Arbeitsoberfläche
- Hinweisbalken nach dem Öffnen: erkanntes Steuergerät mit Fundstelle und gemessener Unterstützungsstatus
(z. B. „Bosch EDC17CP09 … validiert – 463 von 703 Kennfeldern exakt, Präzision 85 %“), Knopf zur Matrix. - Kennfeldkatalog: Filter nach gemessener Konfidenz (gesichert / wahrscheinlich / Vermutung / geprüft bzw. aus Definition).
- Tastenkürzel: Strg+G war doppelt belegt; Funktionsgraph jetzt Strg+Umschalt+U (ein Test verhindert Doppelbelegungen).
ORI/MOD-Vergleich
- Neuer Reiter „Außerhalb bekannter Kennfelder“: geänderte Bereiche, die zu keinem Katalog-Kennfeld gehören
(zusammengefasst bei Lücken bis 16 Byte, größte zuerst), Doppelklick springt zur Stelle – dort stecken oft
unbekannte, aber angepasste Tabellen. - Neuer Reiter „Differenz-Heatmap“: Änderung je Zelle (MOD − ORI, roh) für das gewählte Kennfeld, rot höher, blau niedriger.
Kennfeldnamen aus Schwesterständen (neu: Werkzeuge → Softwarestände: Namen aus Schwesterstand übernehmen …)
- Namen und Layouts einer Definition (XDF/A2L/RomRaider/CSV) werden auf einen verwandten Softwarestand ohne Definition
übertragen: Ausrichtung über Anker, die in beiden Dateien genau einmal vorkommen; Vorschlag nur mit Beleg am Zielort
(identisch · gleicher Kopf · ähnliche Werte · gleiche Umgebung), immer ungeprüft. - Gemessen gegen die eigene XDF des Zielstands (
tools/name_transfer_benchmark.py): MED17.1.62 404A/H/L, 5 Richtungen,
60–80 % der gemeinsamen Namen übertragen, davon 92–96 % richtig (über gleiche Adresse allein: 6 %); MSD80-Schwesterstände
99 % übertragen, 100 % richtig; nicht verwandte ME7.5-Stände: 14 von 110 übertragen (Zurückhaltung statt Raten). - Kein Funktionsklassifikator: Namen kommen nur aus einer Definition, nicht aus einem Modell.
Kennlinien (neu: Kennlinien-Datensätze n, X[n], W[n], z. B. Bosch Cur_Xs16Ws16; 1D exakt, alt → neu)
- Test: MSD85 642 → 1128, MSD80 439 → 839, EDC16C35 562 → 942, EDC16C31 544 → 943 (Präzision 1D 89–96 %).
- Entwicklung: EDC17CP09 946 → 1668 (93 %), ME9.2.1 385 → 597, ME9 205 → 271, MS45 176 → 200; 2D-Werte unverändert.
- Nur in Datensatz-Ketten, an geraden Adressen und in der Byte-Reihenfolge, die die Kennfeld-Datensätze der Datei
dominiert; Achsenketten (Siemens MS4x) werden nicht als Kennlinie gelesen. Eigene Evidenzklassecurve:record
(gemessen 92 % Treffer). Negativkontrollen weiterhin 0 Kandidaten.
Geschwindigkeit (gleicher Rechner, 16 Kerne; Ergebnisse bitgenau gleich, per Vergleich geprüft)
- Kennfeldsuche nutzt mehrere CPU-Kerne: Zeilenabstands-Suche je Datenbereich und Lesart in eigenen Prozessen,
Datensa...