|
demo-epb
v1.0
Elektrische Parkbremse - slohmaier Dev Process Demo
|
Low-level control of the EPB actuators. Mehr ...
#include "epb_types.h"gehe zum Quellcode dieser Datei
Datenstrukturen | |
| struct | ActuatorStatus |
Makrodefinitionen | |
| #define | ACT_OVERCURRENT_LIMIT_MA 8000U |
| Current limit (spec) and time window for cutoff (spec). Mehr ... | |
| #define | ACT_OVERCURRENT_WINDOW_MS 100U |
| #define | ACT_FORCE_PER_AMP_N 2500U /* lineare Naeherung */ |
Aufzählungen | |
| enum | ActuatorDirection { ACT_DIR_STOP = 0 , ACT_DIR_APPLY = 1 , ACT_DIR_RELEASE = 2 } |
Funktionen | |
| 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 ... | |
Low-level control of the EPB actuators.
ASIL: B
Definiert in Datei actuator_driver.h.
| #define ACT_FORCE_PER_AMP_N 2500U /* lineare Naeherung */ |
Definiert in Zeile 34 der Datei actuator_driver.h.
| #define ACT_OVERCURRENT_LIMIT_MA 8000U |
Current limit (spec) and time window for cutoff (spec).
Definiert in Zeile 32 der Datei actuator_driver.h.
| #define ACT_OVERCURRENT_WINDOW_MS 100U |
Definiert in Zeile 33 der Datei actuator_driver.h.
| enum ActuatorDirection |
| Aufzählungswerte | |
|---|---|
| ACT_DIR_STOP | |
| ACT_DIR_APPLY | |
| ACT_DIR_RELEASE | |
Definiert in Zeile 15 der Datei actuator_driver.h.
| 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().