Getting Started
Design
API Reference
ecu_init()
ecu_step()
ecu_inputs_t
rpm
egt
throttle
ecu_outputs_t
fuel_pct
igniter_on
starter_on
state
fault_code
ecu_t
sm
config
rpm_pid
fuel
rpm_sensor
egt_sensor
rpm_sensor_cfg
egt_sensor_cfg
fuel_map
egt_limit_map
time_ms
ecu_state_t
ECU_STATE_OFF
ECU_STATE_PRESTART
ECU_STATE_SPINUP
ECU_STATE_IGNITION
ECU_STATE_RAMP
ECU_STATE_RUN
ECU_STATE_COOLDOWN
ECU_STATE_SHUTDOWN
ECU_STATE_FAULT
sm_result_t
SM_NO_CHANGE
SM_TRANSITION
ecu_sm_callback_t
ecu_sm_init()
ecu_sm_transition()
ecu_sm_state()
ecu_sm_state_name()
ecu_sm_set_callbacks()
ecu_sm_set_timeout()
ecu_sm_timed_out()
ECU_STATE_COUNT
ecu_sm_t
current
state_enter_time
timeout_ms
on_enter
on_exit
cb_ctx
SENSOR_FAULT_NONE
SENSOR_FAULT_RANGE
SENSOR_FAULT_RATE
SENSOR_FAULT_STUCK
SENSOR_FAULT_PLAUSIBLE
ecu_sensor_init()
ecu_sensor_validate()
ecu_sensor_egt_plausible()
ecu_sensor_reading_t
value
raw
valid
faults
ecu_sensor_config_t
range_min
range_max
rate_limit
stuck_tolerance
stuck_count_limit
ecu_sensor_state_t
last_value
stuck_count
initialized
ecu_pid_init()
ecu_pid_reset()
ecu_pid_update()
ecu_pid_config_t
kp
ki
kd
output_min
output_max
integral_max
ecu_pid_t
cfg
integral
prev_error
ecu_fuel_init()
ecu_fuel_compute()
ecu_fuel_cutoff()
ecu_fuel_release()
ecu_fuel_output_t
command_pct
actual_pct
cutoff
ecu_fuel_state_t
last_pct
cutoff_active
ecu_fault_severity_t
FAULT_SEV_INFO
FAULT_SEV_WARNING
FAULT_SEV_CRITICAL
FAULT_SEV_FATAL
ecu_fault_action_t
FAULT_ACTION_NONE
FAULT_ACTION_DEGRADE
FAULT_ACTION_SHUTDOWN
ecu_fault_init()
ecu_fault_report()
ecu_fault_clear()
ecu_fault_get_action()
ecu_fault_is_active()
ecu_fault_count()
ecu_fault_try_retry()
ecu_fault_set_retries()
FAULT_MAX_ACTIVE
FAULT_LOG_SIZE
ecu_fault_t
code
severity
action
timestamp
latched
active
retry_count
max_retries
ecu_fault_mgr_t
active_count
log
log_head
log_count
highest_action
ecu_map1d_lookup()
ecu_map2d_lookup()
MAP_MAX_POINTS
MAP2D_MAX_ROWS
MAP2D_MAX_COLS
ecu_map1d_t
x
y
count
ecu_map2d_t
row_keys
col_keys
values
rows
cols
sched_priority_t
SCHED_PRIO_CRITICAL
SCHED_PRIO_HIGH
SCHED_PRIO_MEDIUM
SCHED_PRIO_LOW
sched_task_fn
ecu_sched_init()
ecu_sched_add()
ecu_sched_tick()
ecu_sched_get_wcet()
ecu_sched_any_overrun()
SCHED_MAX_TASKS
sched_task_t
name
fn
ctx
priority
interval_ms
last_run_ms
worst_case_us
run_count
overrun
ecu_scheduler_t
tasks
task_count
tick_ms
ecu_config_defaults()
ecu_config_t
rpm_idle
rpm_max
rpm_start_target
egt_max
egt_start_min
fuel_start_pct
fuel_max_pct
fuel_ramp_rate
prestart_timeout_ms
spinup_timeout_ms
ignition_timeout_ms
rpm_ramp_rate
pid_kp
pid_ki
pid_kd
tel_decode_state_t
tel_frame_encode()
tel_decoder_init()
tel_decoder_feed()
tel_crc16()
TEL_SYNC1
TEL_SYNC2
TEL_MAX_PAYLOAD
TEL_FRAME_OVERHEAD
TEL_MAX_FRAME
tel_decoder_t
tel_transport_fn
tel_init()
tel_send_status()
tel_process_byte()
tel_get_throttle()
tel_ctx_t
Guides
Development