Speeduino
Loading...
Searching...
No Matches
Functions | Variables
scheduler_ignition_controller.h File Reference
#include "scheduler.h"
#include "config_pages.h"
#include "statuses.h"

Go to the source code of this file.

Functions

void applyOverDwellProtection (const config4 &page4, const statuses &current)
 Check that no ignition channel has been charging the coil for too long.
 
void calculateIgnitionAngles (const config2 &page2, const config4 &page4, const config13 &page13, statuses &current)
 Calculate the charge & discharge angles for all ignition channels.
 
void setIgnitionChannels (const statuses &current, const config4 &page4, uint16_t crankAngle)
 Schedule all ignition channels.
 
void startIgnitionSchedulers (void)
 Start the timers that drive schedulers

 
void stopIgnitionSchedulers (void)
 Stop the timers that drive schedulers

 
void initialiseIgnitionSchedules (statuses &current, config2 &page2, config4 &page4, const config10 &page10, config13 &page13, const pinNumbers_t &pins)
 Initialise all ignition schedules.
 
void stopAllCoilsCharging (void)
 Utility function to stop charging all ignition coils.
 

Variables

IgnitionSchedule ignitionSchedule1
 

Function Documentation

◆ applyOverDwellProtection()

void applyOverDwellProtection ( const config4 &  page4,
const statuses &  current 
)

Check that no ignition channel has been charging the coil for too long.

The over dwell protection system runs independently of the standard ignition schedules and monitors the time that each ignition output has been active. If the active time exceeds the tune defined amount, the output will be ended to prevent damage to coils.

Note
Must be called once per millisecond by an external timer.

◆ calculateIgnitionAngles()

void calculateIgnitionAngles ( const config2 &  page2,
const config4 &  page4,
const config13 &  page13,
statuses &  current 
)

Calculate the charge & discharge angles for all ignition channels.

Parameters
page2The tune
page4The tune
page13The tune
currentCurrent system state

◆ initialiseIgnitionSchedules()

void initialiseIgnitionSchedules ( statuses &  current,
config2 &  page2,
config4 &  page4,
const config10 &  page10,
config13 &  page13,
const pinNumbers_t &  pins 
)

Initialise all ignition schedules.

◆ setIgnitionChannels()

void setIgnitionChannels ( const statuses &  current,
const config4 &  page4,
uint16_t  crankAngle 
)

Schedule all ignition channels.

Parameters
currentCurrent system state
page4The Tune
crankAngleCrank angle

◆ startIgnitionSchedulers()

void startIgnitionSchedulers ( void  )

Start the timers that drive schedulers

◆ stopAllCoilsCharging()

void stopAllCoilsCharging ( void  )

Utility function to stop charging all ignition coils.

◆ stopIgnitionSchedulers()

void stopIgnitionSchedulers ( void  )

Stop the timers that drive schedulers

Variable Documentation

◆ ignitionSchedule1

IgnitionSchedule ignitionSchedule1
extern