Fuel Scheduling

Rate-limited fuel valve command with emergency cutoff.

Header: core/ecu_fuel.h

void ecu_fuel_init(ecu_fuel_state_t *state)

Initialise fuel state.

Parameters:
  • state[out] Fuel state to initialise.

ecu_fuel_output_t ecu_fuel_compute(float target_pct, float dt, const ecu_config_t *cfg, ecu_fuel_state_t *state)

Compute fuel output with rate limiting.

Parameters:
  • target_pct[in] Desired fuel percentage (0–100).

  • dt[in] Time step in seconds.

  • cfg[in] Engine configuration (ramp rate, limits).

  • state[inout] Fuel state (updated in place).

Returns:

Fuel output with commanded and actual percentages.

void ecu_fuel_cutoff(ecu_fuel_state_t *state)

Activate emergency fuel cutoff.

Parameters:
  • state[inout] Fuel state.

void ecu_fuel_release(ecu_fuel_state_t *state)

Release emergency fuel cutoff.

Parameters:
  • state[inout] Fuel state.

struct ecu_fuel_output_t
#include <ecu_fuel.h>

Fuel command after rate limiting and cutoff logic.

Public Members

float command_pct

Requested fuel percentage.

float actual_pct

Output after rate limiting.

bool cutoff

true if safety cutoff is active.

struct ecu_fuel_state_t
#include <ecu_fuel.h>

Fuel scheduling runtime state.

Public Members

float last_pct

Last output percentage.

bool cutoff_active

Safety cutoff flag.