|
demo-epb
v1.0
Elektrische Parkbremse - slohmaier Dev Process Demo
|
Implementierung der EPB-Aktor-Ansteuerung. Mehr ...
#include "actuator_driver.h"gehe zum Quellcode dieser Datei
Datenstrukturen | |
| struct | ActuatorCtx |
Funktionen | |
| static bool | is_valid_id (ActuatorId id) |
| EpbStatus | actuator_init (void) |
| EpbStatus | actuator_apply (ActuatorId id, uint8_t pwm_percent) |
| EpbStatus | actuator_release (ActuatorId id, uint8_t pwm_percent) |
| EpbStatus | actuator_stop (ActuatorId id) |
| ActuatorStatus | actuator_get_status (ActuatorId id) |
| void | actuator_isr_1khz (ActuatorId id, uint16_t current_sample_ma) |
| ISR hook for current sampling. Mehr ... | |
Variablen | |
| static ActuatorCtx | s_ctx [ACTUATOR_COUNT] |
Implementierung der EPB-Aktor-Ansteuerung.
ASIL: B.
Definiert in Datei actuator_driver.c.
| EpbStatus actuator_apply | ( | ActuatorId | id, |
| uint8_t | pwm_percent | ||
| ) |
Definiert in Zeile 39 der Datei actuator_driver.c.
Benutzt ACT_DIR_APPLY, ActuatorStatus::direction, EPB_EINVAL, EPB_EOVERCURRENT, EPB_OK, is_valid_id(), ActuatorStatus::peak_current_ma, ActuatorStatus::pwm_percent, s_ctx und ActuatorCtx::status.
Wird benutzt von apply_ctrl_step_50ms().
| ActuatorStatus actuator_get_status | ( | ActuatorId | id | ) |
Definiert in Zeile 82 der Datei actuator_driver.c.
Benutzt EPB_EINVAL, is_valid_id(), ActuatorStatus::last_error, s_ctx und ActuatorCtx::status.
| EpbStatus actuator_init | ( | void | ) |
Definiert in Zeile 24 der Datei actuator_driver.c.
Benutzt ACT_DIR_STOP, ACTUATOR_COUNT, ActuatorStatus::clamping_force_n, ActuatorStatus::current_ma, ActuatorStatus::direction, EPB_OK, ActuatorStatus::last_error, ActuatorCtx::over_ms, ActuatorStatus::overcurrent, ActuatorStatus::peak_current_ma, ActuatorStatus::pwm_percent, s_ctx und ActuatorCtx::status.
| void actuator_isr_1khz | ( | ActuatorId | id, |
| uint16_t | current_sample_ma | ||
| ) |
ISR hook for current sampling.
Called at 1 kHz.
Replaced by test doubles for testing.
Definiert in Zeile 92 der Datei actuator_driver.c.
Benutzt ACT_DIR_APPLY, ACT_DIR_STOP, ACT_FORCE_PER_AMP_N, ACT_OVERCURRENT_LIMIT_MA, ACT_OVERCURRENT_WINDOW_MS, ActuatorStatus::clamping_force_n, ActuatorStatus::current_ma, ActuatorStatus::direction, EPB_EOVERCURRENT, is_valid_id(), ActuatorStatus::last_error, ActuatorCtx::over_ms, ActuatorStatus::overcurrent, ActuatorStatus::peak_current_ma, ActuatorStatus::pwm_percent, s_ctx und ActuatorCtx::status.
| EpbStatus actuator_release | ( | ActuatorId | id, |
| uint8_t | pwm_percent | ||
| ) |
Definiert in Zeile 56 der Datei actuator_driver.c.
Benutzt ACT_DIR_RELEASE, ActuatorStatus::direction, EPB_EINVAL, EPB_EOVERCURRENT, EPB_OK, is_valid_id(), ActuatorStatus::pwm_percent, s_ctx und ActuatorCtx::status.
Wird benutzt von apply_ctrl_step_50ms().
| EpbStatus actuator_stop | ( | ActuatorId | id | ) |
Definiert in Zeile 72 der Datei actuator_driver.c.
Benutzt ACT_DIR_STOP, ActuatorStatus::direction, EPB_EINVAL, EPB_OK, is_valid_id(), ActuatorStatus::pwm_percent, s_ctx und ActuatorCtx::status.
Wird benutzt von apply_ctrl_step_50ms().
|
static |
Definiert in Zeile 19 der Datei actuator_driver.c.
Benutzt ACTUATOR_LEFT und ACTUATOR_RIGHT.
Wird benutzt von actuator_apply(), actuator_get_status(), actuator_isr_1khz(), actuator_release() und actuator_stop().
|
static |
Definiert in Zeile 17 der Datei actuator_driver.c.
Wird benutzt von actuator_apply(), actuator_get_status(), actuator_init(), actuator_isr_1khz(), actuator_release() und actuator_stop().