|
demo-epb
v1.0
Elektrische Parkbremse - slohmaier Dev Process Demo
|
Apply/Hold/Release State Machine. Mehr ...
gehe zum Quellcode dieser Datei
Datenstrukturen | |
| struct | ApplyCtx |
Funktionen | |
| static void | enter_state (EpbState new_state) |
| static bool | release_preconditions_ok (const ApplyInputs *in) |
| static bool | apply_request_present (const ApplyInputs *in) |
| static bool | release_request_present (const ApplyInputs *in) |
| static uint16_t | min_force (const ApplyInputs *in) |
| EpbStatus | apply_ctrl_init (void) |
| void | apply_ctrl_step_50ms (const ApplyInputs *in) |
| Step-Funktion 50 ms. Mehr ... | |
| EpbState | apply_ctrl_get_state (void) |
| EpbStatus | apply_ctrl_last_error (void) |
| uint32_t | apply_ctrl_get_step_count (void) |
Variablen | |
| static ApplyCtx | s_ctx |
Apply/Hold/Release State Machine.
ASIL: D. Diese Komponente ist die sicherheitskritische Kernlogik. Aenderungen erfordern Technical Review mit 2 Approvals.
Definiert in Datei apply_controller.c.
| EpbState apply_ctrl_get_state | ( | void | ) |
Definiert in Zeile 140 der Datei apply_controller.c.
Benutzt s_ctx und ApplyCtx::state.
| uint32_t apply_ctrl_get_step_count | ( | void | ) |
Definiert in Zeile 150 der Datei apply_controller.c.
Benutzt s_ctx und ApplyCtx::step_count.
| EpbStatus apply_ctrl_init | ( | void | ) |
Definiert in Zeile 55 der Datei apply_controller.c.
Benutzt EPB_OK, EPB_STATE_RELEASED, ApplyCtx::last_error, s_ctx, ApplyCtx::state, ApplyCtx::step_count und ApplyCtx::step_in_state.
| EpbStatus apply_ctrl_last_error | ( | void | ) |
Definiert in Zeile 145 der Datei apply_controller.c.
Benutzt ApplyCtx::last_error und s_ctx.
| void apply_ctrl_step_50ms | ( | const ApplyInputs * | in | ) |
Step-Funktion 50 ms.
Definiert in Zeile 64 der Datei apply_controller.c.
Benutzt actuator_apply(), ACTUATOR_LEFT, actuator_release(), ACTUATOR_RIGHT, actuator_stop(), apply_request_present(), APPLY_TARGET_FORCE_N, APPLY_TIMEOUT_50MS, enter_state(), EPB_EINVAL, EPB_ETIMEOUT, EPB_OK, EPB_STATE_APPLIED, EPB_STATE_APPLYING, EPB_STATE_ERROR, EPB_STATE_RELEASED, EPB_STATE_RELEASING, HOLD_TOLERANCE_N, ApplyCtx::last_error, min_force(), release_preconditions_ok(), release_request_present(), s_ctx, ApplyInputs::standstill, ApplyCtx::state, ApplyCtx::step_count und ApplyCtx::step_in_state.
|
static |
Definiert in Zeile 39 der Datei apply_controller.c.
Benutzt ApplyInputs::safety_apply_request, ApplyInputs::sw_state und SWITCH_APPLY.
Wird benutzt von apply_ctrl_step_50ms().
|
static |
Definiert in Zeile 25 der Datei apply_controller.c.
Benutzt s_ctx, ApplyCtx::state und ApplyCtx::step_in_state.
Wird benutzt von apply_ctrl_step_50ms().
|
static |
Definiert in Zeile 49 der Datei apply_controller.c.
Benutzt ApplyInputs::left_force_n und ApplyInputs::right_force_n.
Wird benutzt von apply_ctrl_step_50ms().
|
static |
Definiert in Zeile 31 der Datei apply_controller.c.
Benutzt ApplyInputs::brake_pedal_pressed, ApplyInputs::engine_running und ApplyInputs::gear_engaged.
Wird benutzt von apply_ctrl_step_50ms().
|
static |
Definiert in Zeile 44 der Datei apply_controller.c.
Benutzt ApplyInputs::sw_state und SWITCH_RELEASE.
Wird benutzt von apply_ctrl_step_50ms().
|
static |
Definiert in Zeile 23 der Datei apply_controller.c.
Wird benutzt von apply_ctrl_get_state(), apply_ctrl_get_step_count(), apply_ctrl_init(), apply_ctrl_last_error(), apply_ctrl_step_50ms() und enter_state().