Files
demo-epb/src/epb_types.h
T
Stefan Lohmaier 1855162e6d 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
2026-05-11 13:51:02 -07:00

48 lines
863 B
C

/**
* @file epb_types.h
* @brief Gemeinsame Typen fuer die EPB-Software.
*
* @arch SA-001
*/
#ifndef EPB_TYPES_H
#define EPB_TYPES_H
#include <stdbool.h>
#include <stdint.h>
typedef enum {
EPB_OK = 0,
EPB_EINVAL = 1,
EPB_ETIMEOUT = 2,
EPB_ENOSPACE = 3,
EPB_EHARDWARE = 4,
EPB_EOVERCURRENT = 5
} EpbStatus;
typedef enum {
EPB_STATE_RELEASED = 0,
EPB_STATE_APPLYING = 1,
EPB_STATE_APPLIED = 2,
EPB_STATE_RELEASING = 3,
EPB_STATE_ERROR = 0xFF
} EpbState;
typedef enum {
ACTUATOR_LEFT = 0,
ACTUATOR_RIGHT = 1,
ACTUATOR_COUNT = 2
} ActuatorId;
typedef enum {
SWITCH_NEUTRAL = 0,
SWITCH_APPLY = 1,
SWITCH_RELEASE = 2
} SwitchState;
typedef struct {
uint8_t apply_raw : 1;
uint8_t release_raw : 1;
} SwitchRaw;
#endif /* EPB_TYPES_H */