Initial commit: demo-epb v1.0 — Elektrische Parkbremse Demo

Vollstaendige Demo des slohmaier Dev Process anhand einer EPB-Steuergeraet-
Software. Zeigt ASPICE 4.0 / ISO 26262-konforme Entwicklung im Monorepo.

Inhalte:
- 5 Plaene (PID, PM-, QA-, SWE-, Test-Plan) in Word, ausgefuellt mit
  EPB-spezifischen Inhalten
- 10 System-Anforderungen + 25 Software-Anforderungen (Doorstop-MD)
- 5 System-Architektur-Elemente + 10 Software-Architektur-Elemente
  mit PlantUML-Diagrammen und vollstaendigem Mapping
- 3 implementierte Komponenten (Apply Controller D, Actuator Driver B,
  Switch Debouncer QM) plus 7 Header-Stubs
- 28 Unit-Tests, alle gruen, mit Coverage- und MISRA-Build-Targets
- Audit-Artefakte: 1 Review-Protokoll, 1 Non-Conformity, 1 MISRA-Record
- Gitea-Actions-CI-Pipeline (validate.yml)
- Doorstop-Konfiguration fuer bidirektionale Traceability
- Generator-Skript fuer alle 50 Reqs/Arch-Elemente aus Strukturdaten
- README mit gefuehrter Tour fuer Prospects
This commit is contained in:
Stefan Lohmaier
2026-05-11 13:51:02 -07:00
commit 1855162e6d
92 changed files with 4116 additions and 0 deletions
+43
View File
@@ -0,0 +1,43 @@
/**
* @file apply_controller.h
* @brief Apply/Hold/Release-Steuerung der EPB.
*
* @arch SWA-002
* @reqs SWE-001 SWE-002 SWE-003 SWE-004
*
* ASIL: D
*/
#ifndef APPLY_CONTROLLER_H
#define APPLY_CONTROLLER_H
#include "epb_types.h"
typedef struct {
SwitchState sw_state; /* aus SwitchDebouncer */
bool standstill; /* aus Wheel-Speed-Plausi */
bool engine_running;
bool brake_pedal_pressed;
bool gear_engaged;
bool safety_apply_request; /* aus SafetyManager */
uint16_t left_force_n;
uint16_t right_force_n;
} ApplyInputs;
#define APPLY_TARGET_FORCE_N 12000U /* Ziel-Klemmkraft je Aktor */
#define APPLY_TIMEOUT_50MS 30U /* 30 * 50ms = 1500 ms */
#define HOLD_TOLERANCE_N 1200U /* 10% von Ziel */
EpbStatus apply_ctrl_init(void);
/**
* @brief Step-Funktion 50 ms.
*
* @reqs SWE-001 SWE-002 SWE-003 SWE-004
*/
void apply_ctrl_step_50ms(const ApplyInputs* in);
EpbState apply_ctrl_get_state(void);
EpbStatus apply_ctrl_last_error(void);
uint32_t apply_ctrl_get_step_count(void); /* Watchdog-Alive-Counter */
#endif /* APPLY_CONTROLLER_H */