static integerPID_ideal boostPID & currentStatus
Definition auxiliaries.cpp:187
#define SET_COMPARE(compare, value)
Definition board_definition.h:79
Crank revolution based mathematical functions.
static int16_t ignitionLimits(int16_t angle)
Makes one pass at nudging the angle to within [0,CRANK_ANGLE_MAX_IGN].
Definition crankMaths.h:51
uint32_t angleToTimeMicroSecPerDegree(uint16_t angle)
Converts angular degrees to the time interval that amount of rotation will take at current RPM.
COMPARE_TYPE angleToTimerTicks(uint16_t angle)
Converts angular degrees to the equivalent timer ticks at current RPM.
int16_t CRANK_ANGLE_MAX_IGN
Definition globals.cpp:40
int16_t CRANK_ANGLE_MAX_INJ
The number of crank degrees that the system track over. Typically 720 divided by the number of squirt...
Definition globals.cpp:41
static TIntegral readSerialIntegralTimeout(void)
Reads an integral type, timing out if necessary.
Definition comms.cpp:175
page_iterator_t advance(const page_iterator_t &iter)
Definition pages.cpp:508
static uint32_t _calculateIgnitionTimeout(const IgnitionSchedule &schedule, int16_t crankAngle)
Definition schedule_calcs.hpp:101
static uint32_t calculateInjectorTimeout(const FuelSchedule &schedule, int16_t openAngle, int16_t crankAngle)
Definition schedule_calcs.hpp:57
static int16_t _calculateSparkAngle(const IgnitionSchedule &schedule, int8_t advance)
Definition schedule_calcs.hpp:75
static int16_t _calculateCoilChargeAngle(uint16_t dwellAngle, int16_t dischargeAngle)
Definition schedule_calcs.hpp:81
static uint32_t _calculateAngularTime(const Schedule &schedule, uint16_t eventAngle, uint16_t crankAngle, uint16_t maxAngle)
Definition schedule_calcs.hpp:26
static void calculateIgnitionAngles(IgnitionSchedule &schedule, uint16_t dwellAngle, int8_t advance)
Definition schedule_calcs.hpp:88
static uint16_t calculateInjectorStartAngle(uint16_t pwDegrees, int16_t injChannelDegrees, uint16_t injAngle)
Definition schedule_calcs.hpp:9
static uint16_t _adjustToTDC(int16_t angle, uint16_t angleOffset, uint16_t maxAngle)
Definition schedule_calcs.hpp:35
static void adjustCrankAngle(IgnitionSchedule &schedule, int16_t crankAngle)
Definition schedule_calcs.hpp:111
static void calculateIgnitionTrailingRotary(IgnitionSchedule &leading, uint16_t dwellAngle, int16_t rotarySplitDegrees, IgnitionSchedule &trailing)
Definition schedule_calcs.hpp:95
static bool isRunning(const Schedule &schedule)
Is the schedule running? I.e. the action has started, but not finished. E.g. injector is open.
Definition scheduler.h:145
@ PENDING
Definition scheduler.h:68
@ OFF
Definition scheduler.h:66
uint16_t crankAngle
Definition scheduler_ignition_controller.cpp:399
uint16_t dwellAngle
Definition scheduler_ignition_controller.cpp:370
Definition scheduler.h:213
An ignition schedule.
Definition scheduler.h:189
A schedule for a single output channel.
Definition scheduler.h:98