feat(i18n): tools + landing page + doorstop generator in English
Validate / build-test (macos-latest) (push) Failing after 2s
Validate / build-test (windows-latest) (push) Failing after 16s
Validate / build-test (ubuntu-latest) (push) Successful in 18s
Validate / reports (push) Successful in 52s

Phase 1 of full English translation:
- generate_doorstop_items.py: all 55 items (SG/SYS/SWE/SA/SWA) rewritten in English
- generate_landing_page.py: full UI labels, KPI cards, section headings in English
- traceability.py: docstring, error messages, HTML headers in English
- generate_test_report.py: report content + table headers in English
- All 55 markdown items in safety/sg/, reqs/, arch/ regenerated in English

Still to come:
- demo-epb filled Word docs (PID, plans, safety, manuals, audit artefacts)
- Code comments + test names + CI workflow step names
- README + dev-process repo templates
This commit is contained in:
Stefan Lohmaier
2026-05-12 03:28:54 -07:00
parent 542a358abc
commit a47e0aed3e
61 changed files with 805 additions and 803 deletions
+3 -3
View File
@@ -1,7 +1,7 @@
---
active: true
derived: false
header: 'Apply-Controller haelt Klemmkraft'
header: 'Apply controller maintains clamping force'
level: 1.1
normative: true
reviewed: null
@@ -10,6 +10,6 @@ links:
asil: D
---
# SWE-001: Apply-Controller haelt Klemmkraft
# SWE-001: Apply controller maintains clamping force
Der Apply-Controller muss die Klemmkraft im Hold-Zustand alle 50 ms verifizieren und bei Abweichung > 10% nachregeln.
The apply controller must verify the clamping force in the hold state every 50 ms and re-apply when the deviation exceeds 10%.
+3 -3
View File
@@ -1,7 +1,7 @@
---
active: true
derived: false
header: 'Watchdog ueberwacht Apply-Controller'
header: 'Watchdog monitors the apply controller'
level: 1.2
normative: true
reviewed: null
@@ -10,6 +10,6 @@ links:
asil: D
---
# SWE-002: Watchdog ueberwacht Apply-Controller
# SWE-002: Watchdog monitors the apply controller
Ein unabhaengiger Watchdog muss die Liveness des Apply-Controllers mit 100 ms Timeout ueberwachen und bei Ausbleiben in den sicheren Zustand (Apply) gehen.
An independent watchdog must monitor the liveness of the apply controller with a 100 ms timeout and, on failure to respond, transition to the safe state (apply).
+3 -3
View File
@@ -1,7 +1,7 @@
---
active: true
derived: false
header: 'Schalter-Apply-Signal an Apply-Controller weiterleiten'
header: 'Forward switch apply signal to the apply controller'
level: 1.3
normative: true
reviewed: null
@@ -10,6 +10,6 @@ links:
asil: D
---
# SWE-003: Schalter-Apply-Signal an Apply-Controller weiterleiten
# SWE-003: Forward switch apply signal to the apply controller
Das Software-Modul Switch-Debouncer muss ein entprelltes Apply-Signal innerhalb von 50 ms an den Apply-Controller liefern.
The Switch Debouncer software module must deliver a debounced apply signal to the apply controller within 50 ms.
+3 -3
View File
@@ -1,7 +1,7 @@
---
active: true
derived: false
header: 'Klemmkraft-Erreichen bestaetigen'
header: 'Confirm target clamping force reached'
level: 1.4
normative: true
reviewed: null
@@ -10,6 +10,6 @@ links:
asil: D
---
# SWE-004: Klemmkraft-Erreichen bestaetigen
# SWE-004: Confirm target clamping force reached
Der Apply-Controller muss das Erreichen der Ziel-Klemmkraft via Strommessung erkennen und ein Status-Flag setzen.
The apply controller must detect that the target clamping force has been reached via current measurement and set a status flag.
+3 -3
View File
@@ -1,7 +1,7 @@
---
active: true
derived: false
header: 'Release-Voraussetzungen pruefen'
header: 'Check release preconditions'
level: 1.5
normative: true
reviewed: null
@@ -10,6 +10,6 @@ links:
asil: B
---
# SWE-005: Release-Voraussetzungen pruefen
# SWE-005: Check release preconditions
Vor jedem Release muss der Apply-Controller pruefen: Motor laeuft, Bremspedal betaetigt, Gang ist eingelegt. Andernfalls Release abweisen.
Before any release, the apply controller must verify: engine running, brake pedal pressed, gear engaged. Otherwise reject the release.
+3 -3
View File
@@ -1,7 +1,7 @@
---
active: true
derived: false
header: 'Aktoren in Release-Position fahren'
header: 'Drive actuators into release position'
level: 1.6
normative: true
reviewed: null
@@ -10,6 +10,6 @@ links:
asil: B
---
# SWE-006: Aktoren in Release-Position fahren
# SWE-006: Drive actuators into release position
Der Actuator-Driver muss beide Aktoren parallel in Release-Position fahren. Maximalzeit: 1200 ms. Bei Timeout DTC setzen.
The Actuator Driver must drive both actuators in parallel into the release position. Maximum time: 1200 ms. On timeout, set a DTC.
+3 -3
View File
@@ -1,7 +1,7 @@
---
active: true
derived: false
header: 'Motor-Aus-Bedingung erkennen'
header: 'Detect engine-off condition'
level: 1.7
normative: true
reviewed: null
@@ -10,6 +10,6 @@ links:
asil: D
---
# SWE-007: Motor-Aus-Bedingung erkennen
# SWE-007: Detect engine-off condition
Der Safety-Manager muss erkennen: Motor-Status = aus, Geschwindigkeit < 0.5 km/h. Auswertezyklus 50 ms.
The Safety Manager must detect: engine status = off, vehicle speed < 0.5 km/h. Sampling period 50 ms.
+3 -3
View File
@@ -1,7 +1,7 @@
---
active: true
derived: false
header: 'Auto-Apply nach 2 s Verzoegerung'
header: 'Auto-apply after 2 s delay'
level: 1.8
normative: true
reviewed: null
@@ -10,6 +10,6 @@ links:
asil: D
---
# SWE-008: Auto-Apply nach 2 s Verzoegerung
# SWE-008: Auto-apply after 2 s delay
Ist die Motor-Aus-Bedingung 2 s stabil erfuellt und Parkbremse noch nicht aktiv, muss der Safety-Manager Apply-Anforderung an den Apply-Controller senden.
If the engine-off condition is stable for 2 s and the parking brake is not yet active, the Safety Manager must send an apply request to the apply controller.
+3 -3
View File
@@ -1,7 +1,7 @@
---
active: true
derived: false
header: 'Hill-Hold-Aktivierungsbedingung'
header: 'Hill-hold activation condition'
level: 1.9
normative: true
reviewed: null
@@ -10,6 +10,6 @@ links:
asil: D
---
# SWE-009: Hill-Hold-Aktivierungsbedingung
# SWE-009: Hill-hold activation condition
Der Safety-Manager muss Hill-Hold aktivieren, wenn Neigung (gefiltert) > 5%, Geschwindigkeit < 0.5 km/h und Bremspedal betaetigt sind.
The Safety Manager must activate hill-hold when grade (filtered) > 5%, vehicle speed < 0.5 km/h and the brake pedal is pressed.
+3 -3
View File
@@ -1,7 +1,7 @@
---
active: true
derived: false
header: 'Hill-Hold-Uebergabe an Apply-Controller'
header: 'Hill-hold handover to the apply controller'
level: 1.10
normative: true
reviewed: null
@@ -10,6 +10,6 @@ links:
asil: D
---
# SWE-010: Hill-Hold-Uebergabe an Apply-Controller
# SWE-010: Hill-hold handover to the apply controller
Wird das Bremspedal bei aktivem Hill-Hold losgelassen, muss der Safety-Manager unmittelbar Apply-Anforderung an den Apply-Controller senden, bevor das Fahrzeug zu rollen beginnen kann.
If the brake pedal is released while hill-hold is active, the Safety Manager must immediately send an apply request to the apply controller before the vehicle can start to roll.
+3 -3
View File
@@ -1,7 +1,7 @@
---
active: true
derived: false
header: 'Anfahrabsicht erkennen'
header: 'Detect drive-away intent'
level: 1.11
normative: true
reviewed: null
@@ -10,6 +10,6 @@ links:
asil: B
---
# SWE-011: Anfahrabsicht erkennen
# SWE-011: Detect drive-away intent
Anfahrabsicht ist erkannt, wenn: Gaspedal > 10%, Gang in Vorwaerts oder Rueckwaerts, Motor laeuft.
Drive-away intent is detected when: throttle > 10%, gear in forward or reverse, engine running.
+3 -3
View File
@@ -1,7 +1,7 @@
---
active: true
derived: false
header: 'Sicherheits-Check vor Auto-Release'
header: 'Safety check before auto-release'
level: 1.12
normative: true
reviewed: null
@@ -10,6 +10,6 @@ links:
asil: B
---
# SWE-012: Sicherheits-Check vor Auto-Release
# SWE-012: Safety check before auto-release
Vor Auto-Release muessen erfuellt sein: Fahrertuer geschlossen, Sicherheitsgurt angelegt. Andernfalls warnen und nicht loesen.
Before auto-release, the following must be satisfied: driver door closed, seatbelt fastened. Otherwise warn and do not release.
+3 -3
View File
@@ -1,7 +1,7 @@
---
active: true
derived: false
header: 'Strommessung mit 1 kHz'
header: 'Current sampling at 1 kHz'
level: 1.13
normative: true
reviewed: null
@@ -10,6 +10,6 @@ links:
asil: B
---
# SWE-013: Strommessung mit 1 kHz
# SWE-013: Current sampling at 1 kHz
Der Actuator-Driver muss den Motorstrom jedes Aktors mit mindestens 1 kHz abtasten. Genauigkeit +/- 100 mA.
The Actuator Driver must sample the motor current of each actuator at at least 1 kHz. Accuracy +/- 100 mA.
+3 -3
View File
@@ -1,7 +1,7 @@
---
active: true
derived: false
header: 'Overcurrent-Cutoff'
header: 'Overcurrent cutoff'
level: 1.14
normative: true
reviewed: null
@@ -10,6 +10,6 @@ links:
asil: B
---
# SWE-014: Overcurrent-Cutoff
# SWE-014: Overcurrent cutoff
Bei Motorstrom > 8 A laenger als 100 ms muss der Actuator-Driver den Motor abschalten und einen DTC P0xxx setzen.
On motor current > 8 A for longer than 100 ms, the Actuator Driver must shut down the motor and set DTC P0xxx.
+3 -3
View File
@@ -1,7 +1,7 @@
---
active: true
derived: false
header: 'Klemmkraft-Schaetzung aus Strom-Profil'
header: 'Clamping force estimation from current profile'
level: 1.15
normative: true
reviewed: null
@@ -10,6 +10,6 @@ links:
asil: B
---
# SWE-015: Klemmkraft-Schaetzung aus Strom-Profil
# SWE-015: Clamping force estimation from current profile
Der Actuator-Driver muss die erreichte Klemmkraft aus dem Stromverlauf bei Apply schaetzen (Modell: F = k * I_peak).
The Actuator Driver must estimate the achieved clamping force from the current waveform during apply (model: F = k * I_peak).
+3 -3
View File
@@ -1,7 +1,7 @@
---
active: true
derived: false
header: 'UDS RoutineControl 0x31 fuer Service-Release'
header: 'UDS RoutineControl 0x31 for service release'
level: 1.16
normative: true
reviewed: null
@@ -10,6 +10,6 @@ links:
asil: QM
---
# SWE-016: UDS RoutineControl 0x31 fuer Service-Release
# SWE-016: UDS RoutineControl 0x31 for service release
Service-Mode wird ueber UDS RoutineControl Service 0x31, Routine-ID 0x0301 aktiviert. Bedingung: Fahrzeug muss stillstehen.
Service mode is activated via UDS RoutineControl service 0x31, routine ID 0x0301. Precondition: vehicle must be at standstill.
+3 -3
View File
@@ -1,7 +1,7 @@
---
active: true
derived: false
header: 'Service-Mode-Indikator'
header: 'Service mode indicator'
level: 1.17
normative: true
reviewed: null
@@ -10,6 +10,6 @@ links:
asil: QM
---
# SWE-017: Service-Mode-Indikator
# SWE-017: Service mode indicator
Im Service-Mode muss die EPB-LED am Schalter mit 2 Hz blinken.
While in service mode, the EPB LED on the switch must blink at 2 Hz.
+3 -3
View File
@@ -1,7 +1,7 @@
---
active: true
derived: false
header: 'UDS Service 0x19 ReadDTC'
header: 'UDS service 0x19 ReadDTC'
level: 1.18
normative: true
reviewed: null
@@ -10,6 +10,6 @@ links:
asil: QM
---
# SWE-018: UDS Service 0x19 ReadDTC
# SWE-018: UDS service 0x19 ReadDTC
Das System muss alle gespeicherten DTCs ueber Service 0x19 (Subfunktion 0x02 reportDTCByStatusMask) ausgeben.
The system must output all stored DTCs via service 0x19 (sub-function 0x02 reportDTCByStatusMask).
+3 -3
View File
@@ -1,7 +1,7 @@
---
active: true
derived: false
header: 'UDS Service 0x22 ReadDataByIdentifier'
header: 'UDS service 0x22 ReadDataByIdentifier'
level: 1.19
normative: true
reviewed: null
@@ -10,6 +10,6 @@ links:
asil: QM
---
# SWE-019: UDS Service 0x22 ReadDataByIdentifier
# SWE-019: UDS service 0x22 ReadDataByIdentifier
Folgende DIDs muessen lesbar sein: 0xF187 (SW-Version), 0x0301 (Klemmkraft links), 0x0302 (Klemmkraft rechts).
The following DIDs must be readable: 0xF187 (SW version), 0x0301 (clamping force left), 0x0302 (clamping force right).
+3 -3
View File
@@ -1,7 +1,7 @@
---
active: true
derived: false
header: 'LED-Steuerung'
header: 'LED control'
level: 1.20
normative: true
reviewed: null
@@ -10,6 +10,6 @@ links:
asil: QM
---
# SWE-020: LED-Steuerung
# SWE-020: LED control
Apply-aktiv: LED dauerleuchtend. Release: LED aus. Fehler: LED blinkt 4 Hz. Service-Mode: LED blinkt 2 Hz.
Apply active: LED solid. Release: LED off. Fault: LED blinks at 4 Hz. Service mode: LED blinks at 2 Hz.
+3 -3
View File
@@ -1,7 +1,7 @@
---
active: true
derived: false
header: 'CAN-Status-Frame'
header: 'CAN status frame'
level: 1.21
normative: true
reviewed: null
@@ -10,6 +10,6 @@ links:
asil: QM
---
# SWE-021: CAN-Status-Frame
# SWE-021: CAN status frame
Status-Frame 0x3A0 mit 50 Hz: Byte 0 = Status (0=Released, 1=Applied, 2=Applying, 3=Releasing, 0xFF=Error), Byte 1-2 = Klemmkraft links, Byte 3-4 = Klemmkraft rechts.
Status frame 0x3A0 at 50 Hz: byte 0 = status (0=released, 1=applied, 2=applying, 3=releasing, 0xFF=error), byte 1-2 = left clamping force, byte 3-4 = right clamping force.
+3 -3
View File
@@ -1,7 +1,7 @@
---
active: true
derived: false
header: 'Stillstands-Erkennung aus Wheel Speeds'
header: 'Standstill detection from wheel speeds'
level: 1.22
normative: true
reviewed: null
@@ -12,6 +12,6 @@ links:
asil: B
---
# SWE-022: Stillstands-Erkennung aus Wheel Speeds
# SWE-022: Standstill detection from wheel speeds
Stillstand ist erkannt, wenn alle 4 Wheel-Speed-Signale fuer mindestens 200 ms unter 0.5 km/h liegen.
Standstill is detected when all 4 wheel-speed signals stay below 0.5 km/h for at least 200 ms.
+3 -3
View File
@@ -1,7 +1,7 @@
---
active: true
derived: false
header: 'Wheel Speed Plausibilisierung'
header: 'Wheel-speed plausibilisation'
level: 1.23
normative: true
reviewed: null
@@ -10,6 +10,6 @@ links:
asil: B
---
# SWE-023: Wheel Speed Plausibilisierung
# SWE-023: Wheel-speed plausibilisation
Spreizung der Wheel-Speed-Signale: bei Geradeaus-Fahrt darf die Differenz nicht > 3 km/h sein. Andernfalls Sensor-Fehler-DTC.
Spread of the wheel-speed signals: when driving straight, the difference must not exceed 3 km/h. Otherwise set a sensor fault DTC.
+3 -3
View File
@@ -1,7 +1,7 @@
---
active: true
derived: false
header: 'Inclinometer Tiefpass-Filter'
header: 'Inclinometer low-pass filter'
level: 1.24
normative: true
reviewed: null
@@ -10,6 +10,6 @@ links:
asil: B
---
# SWE-024: Inclinometer Tiefpass-Filter
# SWE-024: Inclinometer low-pass filter
Das Roh-Neigungssignal muss mit einem Tiefpass 1. Ordnung (Zeitkonstante 200 ms) gefiltert werden, bevor es zur Hill-Hold-Bewertung verwendet wird.
The raw inclinometer signal must be filtered with a first-order low-pass (time constant 200 ms) before being used for hill-hold evaluation.
+3 -3
View File
@@ -1,7 +1,7 @@
---
active: true
derived: false
header: 'Switch-Debouncing'
header: 'Switch debouncing'
level: 1.25
normative: true
reviewed: null
@@ -11,6 +11,6 @@ links:
asil: QM
---
# SWE-025: Switch-Debouncing
# SWE-025: Switch debouncing
Der EPB-Schalter muss mit einer Entprell-Zeit von 50 ms entprellt werden. Stabiler Pegel = Eingangssignal fuer Apply-Controller.
The EPB switch must be debounced with a debounce time of 50 ms. Stable level = input signal for the apply controller.