Speeduino
Loading...
Searching...
No Matches
Functions
Ignition schedule timer ISRs

Functions

template<typename T >
static void increment_volatile (volatile T &value)
 Increment a volatile variable correctly.
 
static void onEndIgnitionEvent (const IgnitionSchedule *pSchedule)
 Called when an ignition event ends. I.e. a spark fires.
 
 BEGIN_LTO_ALWAYS_INLINE (void) static ignitionPendingToRunning(Schedule *pSchedule)
 Called when the supplied schedule transitions from a PENDING state to RUNNING.
 
void moveToNextState (IgnitionSchedule &schedule) noexcept
 Shared ignition schedule timer ISR implementation. Should be called by the actual ignition timer ISRs (as timed interrupts) when either the start time or the duration time are reached. See Schedule finite state machine.
 
static bool isAnyFuelScheduleRunning (void)
 
static void changeFuellingToFullSequential (const config2 &page2, statuses &current)
 
void changeHalfToFullSync (const config2 &page2, statuses &current)
 
static void changeFuellingtoHalfSync (const config2 &page2, const config4 &page4, statuses &current)
 
void changeFullToHalfSync (const config2 &page2, const config4 &page4, statuses &current)
 

Detailed Description

Function Documentation

◆ BEGIN_LTO_ALWAYS_INLINE()

BEGIN_LTO_ALWAYS_INLINE ( void  )

Called when the supplied schedule transitions from a PENDING state to RUNNING.

Called when the supplied schedule transitions from a RUNNING state to PENDING.

Called when the supplied schedule transitions from a RUNNING state to OFF.

Here is the call graph for this function:

◆ changeFuellingToFullSequential()

static void changeFuellingToFullSequential ( const config2 page2,
statuses current 
)
inlinestatic
Here is the call graph for this function:
Here is the caller graph for this function:

◆ changeFuellingtoHalfSync()

static void changeFuellingtoHalfSync ( const config2 page2,
const config4 page4,
statuses current 
)
inlinestatic
Here is the call graph for this function:
Here is the caller graph for this function:

◆ changeFullToHalfSync()

void changeFullToHalfSync ( const config2 page2,
const config4 page4,
statuses current 
)

Change injectors or/and ignition angles to 360deg. In semi sequentiol mode req_fuel size is half. Set number of outputs equal to half cylinder count.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ changeHalfToFullSync()

void changeHalfToFullSync ( const config2 page2,
statuses current 
)

Change injectors or/and ignition angles to 720deg. Roll back req_fuel size and set number of outputs equal to cylinder count.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ increment_volatile()

template<typename T >
static void increment_volatile ( volatile T value)
inlinestatic

Increment a volatile variable correctly.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ isAnyFuelScheduleRunning()

static bool isAnyFuelScheduleRunning ( void  )
inlinestatic
Here is the call graph for this function:
Here is the caller graph for this function:

◆ moveToNextState()

void moveToNextState ( IgnitionSchedule schedule)
noexcept

Shared ignition schedule timer ISR implementation. Should be called by the actual ignition timer ISRs (as timed interrupts) when either the start time or the duration time are reached. See Schedule finite state machine.

Parameters
scheduleThe ignition schedule to move to the next state
Here is the call graph for this function:

◆ onEndIgnitionEvent()

static void onEndIgnitionEvent ( const IgnitionSchedule pSchedule)
inlinestatic

Called when an ignition event ends. I.e. a spark fires.

Parameters
pSchedulePointer to the schedule that fired the spark
Here is the call graph for this function: