Speeduino
Loading...
Searching...
No Matches
schedule_calcs.h
Go to the documentation of this file.
1#pragma once
2
3#include <stdint.h>
4#include "scheduler.h"
5
6extern int channel1InjDegrees;
7extern int channel2InjDegrees;
8extern int channel3InjDegrees;
9extern int channel4InjDegrees;
10#if (INJ_CHANNELS >= 5)
11extern int channel5InjDegrees;
12#endif
13#if (INJ_CHANNELS >= 6)
14extern int channel6InjDegrees;
15#endif
16#if (INJ_CHANNELS >= 7)
17extern int channel7InjDegrees;
18#endif
19#if (INJ_CHANNELS >= 8)
20extern int channel8InjDegrees;
21#endif
22
24
26
28
29// Ignition for rotary.
31
33
34#include "schedule_calcs.hpp"
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)
static uint16_t calculateInjectorStartAngle(uint16_t PWdivTimerPerDegree, int16_t injChannelDegrees, uint16_t injAngle)
int channel2InjDegrees
Definition schedule_calcs.cpp:4
static void calculateIgnitionAngles(IgnitionSchedule &schedule, uint16_t dwellAngle, int8_t advance)
int channel4InjDegrees
Definition schedule_calcs.cpp:6
int channel1InjDegrees
Definition schedule_calcs.cpp:3
int channel3InjDegrees
Definition schedule_calcs.cpp:5
static void calculateIgnitionTrailingRotary(IgnitionSchedule &leading, uint16_t dwellAngle, int16_t rotarySplitDegrees, IgnitionSchedule &trailing)
static uint32_t calculateInjectorTimeout(const FuelSchedule &schedule, int16_t injectorStartAngle, int16_t crankAngle)
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