Speeduino
Loading...
Searching...
No Matches
scheduler_ignition_controller.h
Go to the documentation of this file.
1#pragma once
2#include "scheduler.h"
3#include "config_pages.h"
4#include "statuses.h"
5
7#if IGN_CHANNELS >= 2
8extern IgnitionSchedule ignitionSchedule2;
9#endif
10#if IGN_CHANNELS >= 3
11extern IgnitionSchedule ignitionSchedule3;
12#endif
13#if IGN_CHANNELS >= 4
14extern IgnitionSchedule ignitionSchedule4;
15#endif
16#if IGN_CHANNELS >= 5
17extern IgnitionSchedule ignitionSchedule5;
18#endif
19#if IGN_CHANNELS >= 6
20extern IgnitionSchedule ignitionSchedule6;
21#endif
22#if IGN_CHANNELS >= 7
23extern IgnitionSchedule ignitionSchedule7;
24#endif
25#if IGN_CHANNELS >= 8
26extern IgnitionSchedule ignitionSchedule8;
27#endif
28
39
49
58
61
63void stopIgnitionSchedulers(void);
64
67
69void stopAllCoilsCharging(void);
The tune page structs and related defines.
const config4 & page4
Definition engineProtection.cpp:172
const config2 & page2
Definition engineProtection.cpp:455
const config4 const config6 const config9 const config10 & page10
Definition engineProtection.cpp:173
static fastOutputPin_t pins[_countof(coil_pins_t::_M_elems)]
Definition scheduledIO_direct_ign.cpp:10
const config2 const config4 const config6 const config10 statuses & current
Definition scheduler_fuel_controller.cpp:913
const config4 uint16_t crankAngle
Definition scheduler_ignition_controller.cpp:724
const config4 const config13 & page13
Definition scheduler_ignition_controller.cpp:645
void startIgnitionSchedulers(void)
Start the timers that drive schedulers
Definition scheduler_ignition_controller.cpp:814
void calculateIgnitionAngles(const config2 &page2, const config4 &page4, const config13 &page13, statuses &current)
Calculate the charge & discharge angles for all ignition channels.
void stopIgnitionSchedulers(void)
Stop the timers that drive schedulers
Definition scheduler_ignition_controller.cpp:841
void setIgnitionChannels(const statuses &current, const config4 &page4, uint16_t crankAngle)
Schedule all ignition channels.
void initialiseIgnitionSchedules(statuses &current, config2 &page2, config4 &page4, const config10 &page10, config13 &page13, const pinNumbers_t &pins)
Initialise all ignition schedules.
Definition scheduler_ignition_controller.cpp:451
IgnitionSchedule ignitionSchedule1
void stopAllCoilsCharging(void)
Utility function to stop charging all ignition coils.
Definition scheduler_ignition_controller.cpp:261
void applyOverDwellProtection(const config4 &page4, const statuses &current)
Check that no ignition channel has been charging the coil for too long.
Definition scheduler_ignition_controller.cpp:782
The statuses struct and related defines.
An ignition schedule.
Definition scheduler.h:178
Definition config_pages.h:645
Definition config_pages.h:841
Definition config_pages.h:179
Definition config_pages.h:357
Store the pin assignments, as defined by the board.
Definition pinNumbers_t.h:41
The status struct with current values for all 'live' variables.
Definition statuses.h:110