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:
@@ -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 */
|
||||
Reference in New Issue
Block a user