Speeduino
Loading...
Searching...
No Matches
speeduino
schedule_calcs.h
Go to the documentation of this file.
1
#pragma once
2
3
#include <stdint.h>
4
#include "
scheduler.h
"
5
6
extern
int
channel1InjDegrees
;
7
extern
int
channel2InjDegrees
;
8
extern
int
channel3InjDegrees
;
9
extern
int
channel4InjDegrees
;
10
#if (INJ_CHANNELS >= 5)
11
extern
int
channel5InjDegrees
;
12
#endif
13
#if (INJ_CHANNELS >= 6)
14
extern
int
channel6InjDegrees
;
15
#endif
16
#if (INJ_CHANNELS >= 7)
17
extern
int
channel7InjDegrees
;
18
#endif
19
#if (INJ_CHANNELS >= 8)
20
extern
int
channel8InjDegrees
;
21
#endif
22
23
static
inline
uint16_t
__attribute__
((
always_inline
))
calculateInjectorStartAngle
(
uint16_t
PWdivTimerPerDegree
,
int16_t
injChannelDegrees
,
uint16_t
injAngle);
24
25
static
inline
__attribute__
((
always_inline
))
uint32_t
calculateInjectorTimeout
(
const
FuelSchedule
&
schedule
,
int16_t
injectorStartAngle
,
int16_t
crankAngle
);
26
27
static
inline
__attribute__
((
always_inline
))
void
calculateIgnitionAngles
(
IgnitionSchedule
&
schedule
,
uint16_t
dwellAngle
,
int8_t
advance
);
28
29
// Ignition for rotary.
30
static
inline
__attribute__
((
always_inline
))
void
calculateIgnitionTrailingRotary
(
IgnitionSchedule
&
leading
,
uint16_t
dwellAngle
,
int16_t
rotarySplitDegrees
,
IgnitionSchedule
&
trailing
);
31
32
static
inline
__attribute__
((
always_inline
))
uint32_t
_calculateIgnitionTimeout
(
const
IgnitionSchedule
&
schedule
,
int16_t
crankAngle
);
33
34
#include "
schedule_calcs.hpp
"
readSerialIntegralTimeout
static TIntegral readSerialIntegralTimeout(void)
Reads an integral type, timing out if necessary.
Definition
comms.cpp:175
advance
page_iterator_t advance(const page_iterator_t &iter)
Definition
pages.cpp:508
_calculateIgnitionTimeout
static uint32_t _calculateIgnitionTimeout(const IgnitionSchedule &schedule, int16_t crankAngle)
calculateInjectorStartAngle
static uint16_t calculateInjectorStartAngle(uint16_t PWdivTimerPerDegree, int16_t injChannelDegrees, uint16_t injAngle)
channel2InjDegrees
int channel2InjDegrees
Definition
schedule_calcs.cpp:4
calculateIgnitionAngles
static void calculateIgnitionAngles(IgnitionSchedule &schedule, uint16_t dwellAngle, int8_t advance)
channel4InjDegrees
int channel4InjDegrees
Definition
schedule_calcs.cpp:6
channel1InjDegrees
int channel1InjDegrees
Definition
schedule_calcs.cpp:3
channel3InjDegrees
int channel3InjDegrees
Definition
schedule_calcs.cpp:5
calculateIgnitionTrailingRotary
static void calculateIgnitionTrailingRotary(IgnitionSchedule &leading, uint16_t dwellAngle, int16_t rotarySplitDegrees, IgnitionSchedule &trailing)
calculateInjectorTimeout
static uint32_t calculateInjectorTimeout(const FuelSchedule &schedule, int16_t injectorStartAngle, int16_t crankAngle)
schedule_calcs.hpp
scheduler.h
crankAngle
uint16_t crankAngle
Definition
scheduler_ignition_controller.cpp:399
dwellAngle
uint16_t dwellAngle
Definition
scheduler_ignition_controller.cpp:370
FuelSchedule
Definition
scheduler.h:213
IgnitionSchedule
An ignition schedule.
Definition
scheduler.h:189
Generated by
1.9.8