This commit is contained in:
rusefi 2018-12-25 11:51:49 -05:00
parent ca17cf994a
commit 57ebbb1a0b
11 changed files with 585 additions and 585 deletions

View File

@ -7,10 +7,10 @@
#include "trigger_bmw.h"
static inline float addPair(TriggerShape *s, float a, float w DECLARE_ENGINE_PARAMETER_SUFFIX) {
s->addEvent2(a, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
static inline float addPair(TriggerShape *s, float a, float w) {
s->addEvent720(a, T_SECONDARY, TV_RISE);
a += w;
s->addEvent2(a, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(a, T_SECONDARY, TV_FALL);
a += w;
return a;
}
@ -22,48 +22,48 @@ void configureMiniCooperTriggerShape(TriggerShape *s DECLARE_ENGINE_PARAMETER_SU
float w = 360.0 / 121;
float a = w / 2;
s->addEvent2(a, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(a, T_SECONDARY, TV_FALL);
a += w;
for (int i = 0; i <= 22; i++) {
a = addPair(s, a, w PASS_ENGINE_PARAMETER_SUFFIX);
a = addPair(s, a, w);
}
a += 3 * w;
float firstGapAngle = a;
s->addEvent2(a, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(a, T_SECONDARY, TV_RISE);
a += 3 * w;
s->addEvent2(a, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(a, T_SECONDARY, TV_FALL);
a += w;
for (int i = 0; i < 36; i++) {
a = addPair(s, a, w PASS_ENGINE_PARAMETER_SUFFIX);
a = addPair(s, a, w);
}
s->addEvent2(376, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(376, T_PRIMARY, TV_RISE);
for (int i = 0; i < 21; i++) {
a = addPair(s, a, w PASS_ENGINE_PARAMETER_SUFFIX);
a = addPair(s, a, w);
}
a += 3 * w;
efiAssertVoid(CUSTOM_ERR_6584, absF(firstGapAngle + 360 - a) < 0.1, "shape constraint");
s->addEvent2(a, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(a, T_SECONDARY, TV_RISE);
a += 3 * w;
s->addEvent2(a, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(a, T_SECONDARY, TV_FALL);
a += w;
for (int i = 0; i < 33; i++) {
a = addPair(s, a, w PASS_ENGINE_PARAMETER_SUFFIX);
a = addPair(s, a, w);
}
efiAssertVoid(CUSTOM_ERR_6585, absF(720 - w / 2 - a) < 0.1, "shape constraint");
s->addEvent2(a, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(a, T_SECONDARY, TV_RISE);
s->addEvent2(720.0, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(720.0, T_PRIMARY, TV_FALL);
/**
* With just one tooth on camshaft synchronization is not needed

View File

@ -18,12 +18,12 @@ void initDodgeRam(TriggerShape *s DECLARE_ENGINE_PARAMETER_SUFFIX) {
addSkippedToothTriggerEvents(T_SECONDARY, s, 8, 0, 0.06, -25, 360, 0, 720 PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(360, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(360, T_PRIMARY, TV_RISE);
addSkippedToothTriggerEvents(T_SECONDARY, s, 8, 0, 0.06, 360 - 25, 360, 0,
720 PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(720, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(720, T_PRIMARY, TV_FALL);
s->useOnlyPrimaryForSync = true;
}
@ -34,71 +34,71 @@ void configureNeon2003TriggerShapeCrank(TriggerShape *s DECLARE_ENGINE_PARAMETER
s->setTriggerSynchronizationGap(3);
int m = CRANK_MODE_MULTIPLIER;
s->addEvent2(m * 25, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(m * 30, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(m * 35, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(m * 40, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(m * 45, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(m * 50, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(m * 55, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(m * 60, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(m * 65, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(m * 70, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(m * 75, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(m * 80, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(m * 85, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(m * 90, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(m * 95, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(m * 100, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(m * 105, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(m * 110, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(m * 115, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(m * 120, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(m * 125, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(m * 130, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(m * 135, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(m * 140, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(m * 145,T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(m * 150, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(m * 155, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(m * 160, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(m * 165, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(m * 170, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(m * 175, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(m * 180, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(m * 185, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(m * 25, T_PRIMARY, TV_FALL);
s->addEvent720(m * 30, T_PRIMARY, TV_RISE);
s->addEvent720(m * 35, T_PRIMARY, TV_FALL);
s->addEvent720(m * 40, T_PRIMARY, TV_RISE);
s->addEvent720(m * 45, T_PRIMARY, TV_FALL);
s->addEvent720(m * 50, T_PRIMARY, TV_RISE);
s->addEvent720(m * 55, T_PRIMARY, TV_FALL);
s->addEvent720(m * 60, T_PRIMARY, TV_RISE);
s->addEvent720(m * 65, T_PRIMARY, TV_FALL);
s->addEvent720(m * 70, T_PRIMARY, TV_RISE);
s->addEvent720(m * 75, T_PRIMARY, TV_FALL);
s->addEvent720(m * 80, T_PRIMARY, TV_RISE);
s->addEvent720(m * 85, T_PRIMARY, TV_FALL);
s->addEvent720(m * 90, T_PRIMARY, TV_RISE);
s->addEvent720(m * 95, T_PRIMARY, TV_FALL);
s->addEvent720(m * 100, T_PRIMARY, TV_RISE);
s->addEvent720(m * 105, T_PRIMARY, TV_FALL);
s->addEvent720(m * 110, T_PRIMARY, TV_RISE);
s->addEvent720(m * 115, T_PRIMARY, TV_FALL);
s->addEvent720(m * 120, T_PRIMARY, TV_RISE);
s->addEvent720(m * 125, T_PRIMARY, TV_FALL);
s->addEvent720(m * 130, T_PRIMARY, TV_RISE);
s->addEvent720(m * 135, T_PRIMARY, TV_FALL);
s->addEvent720(m * 140, T_PRIMARY, TV_RISE);
s->addEvent720(m * 145,T_PRIMARY, TV_FALL);
s->addEvent720(m * 150, T_PRIMARY, TV_RISE);
s->addEvent720(m * 155, T_PRIMARY, TV_FALL);
s->addEvent720(m * 160, T_PRIMARY, TV_RISE);
s->addEvent720(m * 165, T_PRIMARY, TV_FALL);
s->addEvent720(m * 170, T_PRIMARY, TV_RISE);
s->addEvent720(m * 175, T_PRIMARY, TV_FALL);
s->addEvent720(m * 180, T_PRIMARY, TV_RISE);
s->addEvent720(m * 185, T_PRIMARY, TV_FALL);
// gap 25
s->addEvent2(m * 210, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(m * 215, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(m * 220, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(m * 225, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(m * 230, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(m * 235, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(m * 240, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(m * 245, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(m * 250, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(m * 255, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(m * 260, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(m * 265, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(m * 270, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(m * 275, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(m * 280, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(m * 285, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(m * 290, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(m * 295, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(m * 300, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(m * 305, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(m * 310, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(m * 315, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(m * 320, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(m * 325, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(m * 330, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(m * 335, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(m * 340, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(m * 345, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(m * 350, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(m * 355, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(m * 360, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(m * 210, T_PRIMARY, TV_RISE);
s->addEvent720(m * 215, T_PRIMARY, TV_FALL);
s->addEvent720(m * 220, T_PRIMARY, TV_RISE);
s->addEvent720(m * 225, T_PRIMARY, TV_FALL);
s->addEvent720(m * 230, T_PRIMARY, TV_RISE);
s->addEvent720(m * 235, T_PRIMARY, TV_FALL);
s->addEvent720(m * 240, T_PRIMARY, TV_RISE);
s->addEvent720(m * 245, T_PRIMARY, TV_FALL);
s->addEvent720(m * 250, T_PRIMARY, TV_RISE);
s->addEvent720(m * 255, T_PRIMARY, TV_FALL);
s->addEvent720(m * 260, T_PRIMARY, TV_RISE);
s->addEvent720(m * 265, T_PRIMARY, TV_FALL);
s->addEvent720(m * 270, T_PRIMARY, TV_RISE);
s->addEvent720(m * 275, T_PRIMARY, TV_FALL);
s->addEvent720(m * 280, T_PRIMARY, TV_RISE);
s->addEvent720(m * 285, T_PRIMARY, TV_FALL);
s->addEvent720(m * 290, T_PRIMARY, TV_RISE);
s->addEvent720(m * 295, T_PRIMARY, TV_FALL);
s->addEvent720(m * 300, T_PRIMARY, TV_RISE);
s->addEvent720(m * 305, T_PRIMARY, TV_FALL);
s->addEvent720(m * 310, T_PRIMARY, TV_RISE);
s->addEvent720(m * 315, T_PRIMARY, TV_FALL);
s->addEvent720(m * 320, T_PRIMARY, TV_RISE);
s->addEvent720(m * 325, T_PRIMARY, TV_FALL);
s->addEvent720(m * 330, T_PRIMARY, TV_RISE);
s->addEvent720(m * 335, T_PRIMARY, TV_FALL);
s->addEvent720(m * 340, T_PRIMARY, TV_RISE);
s->addEvent720(m * 345, T_PRIMARY, TV_FALL);
s->addEvent720(m * 350, T_PRIMARY, TV_RISE);
s->addEvent720(m * 355, T_PRIMARY, TV_FALL);
s->addEvent720(m * 360, T_PRIMARY, TV_RISE);
}
void configureNeon2003TriggerShapeCam(TriggerShape *s DECLARE_ENGINE_PARAMETER_SUFFIX) {
@ -131,23 +131,23 @@ gap=1.43/0.71
s->useOnlyPrimaryForSync = true;
if (useOnlyPrimary) {
s->addEvent2(144, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(180, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(144, T_PRIMARY, TV_RISE);
s->addEvent720(180, T_PRIMARY, TV_FALL);
s->addEvent2(216, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(252, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(216, T_PRIMARY, TV_RISE);
s->addEvent720(252, T_PRIMARY, TV_FALL);
s->addEvent2(288, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(324, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(288, T_PRIMARY, TV_RISE);
s->addEvent720(324, T_PRIMARY, TV_FALL);
s->addEvent2(360, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX); // width = 144
s->addEvent2(504, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX); // width = 36
s->addEvent2(540, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(576, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(612, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(648, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(684, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(720, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(360, T_PRIMARY, TV_RISE); // width = 144
s->addEvent720(504, T_PRIMARY, TV_FALL); // width = 36
s->addEvent720(540, T_PRIMARY, TV_RISE);
s->addEvent720(576, T_PRIMARY, TV_FALL);
s->addEvent720(612, T_PRIMARY, TV_RISE);
s->addEvent720(648, T_PRIMARY, TV_FALL);
s->addEvent720(684, T_PRIMARY, TV_RISE);
s->addEvent720(720, T_PRIMARY, TV_FALL);
} else {
/**
@ -156,171 +156,171 @@ gap=1.43/0.71
*
*/
s->addEvent2(25, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(30, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(35, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(40, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(45, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(50, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(55, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(60, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(65, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(70, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(75, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(80, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(85, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(90, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(95, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(100, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(105, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(110, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(115, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(120, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(125, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(130, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(135, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(140, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(25, T_SECONDARY, TV_FALL);
s->addEvent720(30, T_SECONDARY, TV_RISE);
s->addEvent720(35, T_SECONDARY, TV_FALL);
s->addEvent720(40, T_SECONDARY, TV_RISE);
s->addEvent720(45, T_SECONDARY, TV_FALL);
s->addEvent720(50, T_SECONDARY, TV_RISE);
s->addEvent720(55, T_SECONDARY, TV_FALL);
s->addEvent720(60, T_SECONDARY, TV_RISE);
s->addEvent720(65, T_SECONDARY, TV_FALL);
s->addEvent720(70, T_SECONDARY, TV_RISE);
s->addEvent720(75, T_SECONDARY, TV_FALL);
s->addEvent720(80, T_SECONDARY, TV_RISE);
s->addEvent720(85, T_SECONDARY, TV_FALL);
s->addEvent720(90, T_SECONDARY, TV_RISE);
s->addEvent720(95, T_SECONDARY, TV_FALL);
s->addEvent720(100, T_SECONDARY, TV_RISE);
s->addEvent720(105, T_SECONDARY, TV_FALL);
s->addEvent720(110, T_SECONDARY, TV_RISE);
s->addEvent720(115, T_SECONDARY, TV_FALL);
s->addEvent720(120, T_SECONDARY, TV_RISE);
s->addEvent720(125, T_SECONDARY, TV_FALL);
s->addEvent720(130, T_SECONDARY, TV_RISE);
s->addEvent720(135, T_SECONDARY, TV_FALL);
s->addEvent720(140, T_SECONDARY, TV_RISE);
s->addEvent2(144, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(144, T_PRIMARY, TV_RISE);
s->addEvent2(145,T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(150, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(155, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(160, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(165, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(170, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(175, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(180 - EPS_ANGLE, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(145,T_SECONDARY, TV_FALL);
s->addEvent720(150, T_SECONDARY, TV_RISE);
s->addEvent720(155, T_SECONDARY, TV_FALL);
s->addEvent720(160, T_SECONDARY, TV_RISE);
s->addEvent720(165, T_SECONDARY, TV_FALL);
s->addEvent720(170, T_SECONDARY, TV_RISE);
s->addEvent720(175, T_SECONDARY, TV_FALL);
s->addEvent720(180 - EPS_ANGLE, T_SECONDARY, TV_RISE);
s->addEvent2(180, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(180, T_PRIMARY, TV_FALL);
s->addEvent2(185, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(210, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(215, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(185, T_SECONDARY, TV_FALL);
s->addEvent720(210, T_SECONDARY, TV_RISE);
s->addEvent720(215, T_SECONDARY, TV_FALL);
s->addEvent2(216, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(216, T_PRIMARY, TV_RISE);
s->addEvent2(220, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(225, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(230, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(235, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(240, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(245, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(250, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(220, T_SECONDARY, TV_RISE);
s->addEvent720(225, T_SECONDARY, TV_FALL);
s->addEvent720(230, T_SECONDARY, TV_RISE);
s->addEvent720(235, T_SECONDARY, TV_FALL);
s->addEvent720(240, T_SECONDARY, TV_RISE);
s->addEvent720(245, T_SECONDARY, TV_FALL);
s->addEvent720(250, T_SECONDARY, TV_RISE);
s->addEvent2(252, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(252, T_PRIMARY, TV_FALL);
s->addEvent2(255, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(255, T_SECONDARY, TV_FALL);
s->addEvent2(260, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(265, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(270, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(275, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(280, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(285, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(260, T_SECONDARY, TV_RISE);
s->addEvent720(265, T_SECONDARY, TV_FALL);
s->addEvent720(270, T_SECONDARY, TV_RISE);
s->addEvent720(275, T_SECONDARY, TV_FALL);
s->addEvent720(280, T_SECONDARY, TV_RISE);
s->addEvent720(285, T_SECONDARY, TV_FALL);
s->addEvent2(288, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(288, T_PRIMARY, TV_RISE);
s->addEvent2(290, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(295, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(300, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(305, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(310, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(315, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(320, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(290, T_SECONDARY, TV_RISE);
s->addEvent720(295, T_SECONDARY, TV_FALL);
s->addEvent720(300, T_SECONDARY, TV_RISE);
s->addEvent720(305, T_SECONDARY, TV_FALL);
s->addEvent720(310, T_SECONDARY, TV_RISE);
s->addEvent720(315, T_SECONDARY, TV_FALL);
s->addEvent720(320, T_SECONDARY, TV_RISE);
s->addEvent2(324, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(324, T_PRIMARY, TV_FALL);
s->addEvent2(325, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(330, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(335, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(340, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(345, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(350, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(355, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(360 - EPS_ANGLE, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(325, T_SECONDARY, TV_FALL);
s->addEvent720(330, T_SECONDARY, TV_RISE);
s->addEvent720(335, T_SECONDARY, TV_FALL);
s->addEvent720(340, T_SECONDARY, TV_RISE);
s->addEvent720(345, T_SECONDARY, TV_FALL);
s->addEvent720(350, T_SECONDARY, TV_RISE);
s->addEvent720(355, T_SECONDARY, TV_FALL);
s->addEvent720(360 - EPS_ANGLE, T_SECONDARY, TV_RISE);
s->addEvent2(360, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(360, T_PRIMARY, TV_RISE);
s->addEvent2(385, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(390, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(395, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(400, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(405, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(410, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(415, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(420, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(425, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(430, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(435, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(440, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(445, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(450, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(455, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(460, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(465, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(470, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(475, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(480, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(485, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(490, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(495, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(500, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(385, T_SECONDARY, TV_FALL);
s->addEvent720(390, T_SECONDARY, TV_RISE);
s->addEvent720(395, T_SECONDARY, TV_FALL);
s->addEvent720(400, T_SECONDARY, TV_RISE);
s->addEvent720(405, T_SECONDARY, TV_FALL);
s->addEvent720(410, T_SECONDARY, TV_RISE);
s->addEvent720(415, T_SECONDARY, TV_FALL);
s->addEvent720(420, T_SECONDARY, TV_RISE);
s->addEvent720(425, T_SECONDARY, TV_FALL);
s->addEvent720(430, T_SECONDARY, TV_RISE);
s->addEvent720(435, T_SECONDARY, TV_FALL);
s->addEvent720(440, T_SECONDARY, TV_RISE);
s->addEvent720(445, T_SECONDARY, TV_FALL);
s->addEvent720(450, T_SECONDARY, TV_RISE);
s->addEvent720(455, T_SECONDARY, TV_FALL);
s->addEvent720(460, T_SECONDARY, TV_RISE);
s->addEvent720(465, T_SECONDARY, TV_FALL);
s->addEvent720(470, T_SECONDARY, TV_RISE);
s->addEvent720(475, T_SECONDARY, TV_FALL);
s->addEvent720(480, T_SECONDARY, TV_RISE);
s->addEvent720(485, T_SECONDARY, TV_FALL);
s->addEvent720(490, T_SECONDARY, TV_RISE);
s->addEvent720(495, T_SECONDARY, TV_FALL);
s->addEvent720(500, T_SECONDARY, TV_RISE);
s->addEvent2(504, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(504, T_PRIMARY, TV_FALL);
s->addEvent2(505, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(510, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(515, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(520, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(525, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(530, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(535, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(540 - EPS_ANGLE, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(505, T_SECONDARY, TV_FALL);
s->addEvent720(510, T_SECONDARY, TV_RISE);
s->addEvent720(515, T_SECONDARY, TV_FALL);
s->addEvent720(520, T_SECONDARY, TV_RISE);
s->addEvent720(525, T_SECONDARY, TV_FALL);
s->addEvent720(530, T_SECONDARY, TV_RISE);
s->addEvent720(535, T_SECONDARY, TV_FALL);
s->addEvent720(540 - EPS_ANGLE, T_SECONDARY, TV_RISE);
s->addEvent2(540, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(540, T_PRIMARY, TV_RISE);
s->addEvent2(545, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(570, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(575, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(545, T_SECONDARY, TV_FALL);
s->addEvent720(570, T_SECONDARY, TV_RISE);
s->addEvent720(575, T_SECONDARY, TV_FALL);
s->addEvent2(576, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(580, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(585, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(590, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(595, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(600, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(605, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(610, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(576, T_PRIMARY, TV_FALL);
s->addEvent720(580, T_SECONDARY, TV_RISE);
s->addEvent720(585, T_SECONDARY, TV_FALL);
s->addEvent720(590, T_SECONDARY, TV_RISE);
s->addEvent720(595, T_SECONDARY, TV_FALL);
s->addEvent720(600, T_SECONDARY, TV_RISE);
s->addEvent720(605, T_SECONDARY, TV_FALL);
s->addEvent720(610, T_SECONDARY, TV_RISE);
s->addEvent2(612, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(615, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(620, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(625, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(630, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(635, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(640, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(645, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(612, T_PRIMARY, TV_RISE);
s->addEvent720(615, T_SECONDARY, TV_FALL);
s->addEvent720(620, T_SECONDARY, TV_RISE);
s->addEvent720(625, T_SECONDARY, TV_FALL);
s->addEvent720(630, T_SECONDARY, TV_RISE);
s->addEvent720(635, T_SECONDARY, TV_FALL);
s->addEvent720(640, T_SECONDARY, TV_RISE);
s->addEvent720(645, T_SECONDARY, TV_FALL);
s->addEvent2(648, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(650, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(655, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(660, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(665, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(670, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(675, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(680, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(648, T_PRIMARY, TV_FALL);
s->addEvent720(650, T_SECONDARY, TV_RISE);
s->addEvent720(655, T_SECONDARY, TV_FALL);
s->addEvent720(660, T_SECONDARY, TV_RISE);
s->addEvent720(665, T_SECONDARY, TV_FALL);
s->addEvent720(670, T_SECONDARY, TV_RISE);
s->addEvent720(675, T_SECONDARY, TV_FALL);
s->addEvent720(680, T_SECONDARY, TV_RISE);
s->addEvent2(684, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(685, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(690, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(695, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(700, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(705, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(710, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(715, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(720 - EPS_ANGLE, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(720, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(684, T_PRIMARY, TV_RISE);
s->addEvent720(685, T_SECONDARY, TV_FALL);
s->addEvent720(690, T_SECONDARY, TV_RISE);
s->addEvent720(695, T_SECONDARY, TV_FALL);
s->addEvent720(700, T_SECONDARY, TV_RISE);
s->addEvent720(705, T_SECONDARY, TV_FALL);
s->addEvent720(710, T_SECONDARY, TV_RISE);
s->addEvent720(715, T_SECONDARY, TV_FALL);
s->addEvent720(720 - EPS_ANGLE, T_SECONDARY, TV_RISE);
s->addEvent720(720, T_PRIMARY, TV_FALL);
}
}
@ -338,56 +338,56 @@ void configureDodgeStratusTriggerShape(TriggerShape *s DECLARE_ENGINE_PARAMETER_
float base = 0;
// 2 teeth
float angle = base + 120.0 - w;
s->addEvent2(angle, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(angle + w, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(angle, T_PRIMARY, TV_RISE);
s->addEvent720(angle + w, T_PRIMARY, TV_FALL);
angle += g;
s->addEvent2(angle, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(angle + w, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(angle, T_PRIMARY, TV_RISE);
s->addEvent720(angle + w, T_PRIMARY, TV_FALL);
base += 120;
// 3 teeth
angle = base + 120.0 - w;
s->addEvent2(angle, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(angle + w, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(angle, T_PRIMARY, TV_RISE);
s->addEvent720(angle + w, T_PRIMARY, TV_FALL);
angle += g;
s->addEvent2(angle, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(angle + w, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(angle, T_PRIMARY, TV_RISE);
s->addEvent720(angle + w, T_PRIMARY, TV_FALL);
angle += g;
s->addEvent2(angle, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(angle + w, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(angle, T_PRIMARY, TV_RISE);
s->addEvent720(angle + w, T_PRIMARY, TV_FALL);
base += 120;
// 2 teeth
angle = base + 120.0 - w;
s->addEvent2(angle, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(angle + w, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(angle, T_PRIMARY, TV_RISE);
s->addEvent720(angle + w, T_PRIMARY, TV_FALL);
angle += g;
s->addEvent2(angle, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(angle + w, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(angle, T_PRIMARY, TV_RISE);
s->addEvent720(angle + w, T_PRIMARY, TV_FALL);
base += 120;
// just one
angle = base + 120.0 - w;
s->addEvent2(angle, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(angle + w, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(angle, T_PRIMARY, TV_RISE);
s->addEvent720(angle + w, T_PRIMARY, TV_FALL);
base += 120;
// 3 teeth
angle = base + 120.0 - w;
s->addEvent2(angle, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(angle + w, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(angle, T_PRIMARY, TV_RISE);
s->addEvent720(angle + w, T_PRIMARY, TV_FALL);
angle += g;
s->addEvent2(angle, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(angle + w, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(angle, T_PRIMARY, TV_RISE);
s->addEvent720(angle + w, T_PRIMARY, TV_FALL);
angle += g;
s->addEvent2(angle, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(angle + w, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(angle, T_PRIMARY, TV_RISE);
s->addEvent720(angle + w, T_PRIMARY, TV_FALL);
base += 120;
// just one again
angle = base + 120.0 - w;
s->addEvent2(angle, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(angle + w, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(angle, T_PRIMARY, TV_RISE);
s->addEvent720(angle + w, T_PRIMARY, TV_FALL);
}
static void configureNeon1995TriggerShapeCommon(bool withCam, TriggerShape *s DECLARE_ENGINE_PARAMETER_SUFFIX) {
@ -398,54 +398,54 @@ static void configureNeon1995TriggerShapeCommon(bool withCam, TriggerShape *s DE
float m = withCam ? 1 : 2;
s->addEvent2(m * (base - 120), crank, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(m * (base - 116), crank, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(m * (base - 720 + 616), crank, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(m * (base - 100), crank, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(m * (base - 720 + 643), crank, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(m * (base - 720 + 648), crank, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(m * (base - 720 + 671), crank, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(m * (base - 44), crank, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(m * (base - 120), crank, TV_RISE);
s->addEvent720(m * (base - 116), crank, TV_FALL);
s->addEvent720(m * (base - 720 + 616), crank, TV_RISE);
s->addEvent720(m * (base - 100), crank, TV_FALL);
s->addEvent720(m * (base - 720 + 643), crank, TV_RISE);
s->addEvent720(m * (base - 720 + 648), crank, TV_FALL);
s->addEvent720(m * (base - 720 + 671), crank, TV_RISE);
s->addEvent720(m * (base - 44), crank, TV_FALL);
if (withCam) {
s->addEvent2(base + 0, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(base + 0, T_PRIMARY, TV_FALL);
}
s->addEvent2(m * (base + 20), crank, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(m * (base + 60), crank, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(m * (base + 75), crank, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(m * (base + 79), crank, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(m * (base + 101), crank, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(m * (base + 106), crank, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(m * (base + 130), crank, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(m * (base + 135), crank, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(m * (base + 20), crank, TV_RISE);
s->addEvent720(m * (base + 60), crank, TV_FALL);
s->addEvent720(m * (base + 75), crank, TV_RISE);
s->addEvent720(m * (base + 79), crank, TV_FALL);
s->addEvent720(m * (base + 101), crank, TV_RISE);
s->addEvent720(m * (base + 106), crank, TV_FALL);
s->addEvent720(m * (base + 130), crank, TV_RISE);
s->addEvent720(m * (base + 135), crank, TV_FALL);
if (withCam) {
s->addEvent2(base + 200, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX); // width = 150
s->addEvent720(base + 200, T_PRIMARY, TV_RISE); // width = 150
s->addEvent2(base + 236, crank, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(base + 239, crank, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(base + 250, crank, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(base + 255, crank, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(base + 277, crank, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(base + 282, crank, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(base + 305, crank, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(base + 310, crank, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(base + 236, crank, TV_RISE);
s->addEvent720(base + 239, crank, TV_FALL);
s->addEvent720(base + 250, crank, TV_RISE);
s->addEvent720(base + 255, crank, TV_FALL);
s->addEvent720(base + 277, crank, TV_RISE);
s->addEvent720(base + 282, crank, TV_FALL);
s->addEvent720(base + 305, crank, TV_RISE);
s->addEvent720(base + 310, crank, TV_FALL);
s->addEvent2(base + 374, crank, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(base + 374, crank, TV_RISE);
// if (withCam)
s->addEvent2(base + 395, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX); // width =
s->addEvent720(base + 395, T_PRIMARY, TV_FALL); // width =
s->addEvent2(base + 418, crank, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(base + 436, crank, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(base + 441, crank, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(base + 463, crank, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(base + 468, crank, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(base + 492, crank, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(base + 497, crank, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(base + 418, crank, TV_FALL);
s->addEvent720(base + 436, crank, TV_RISE);
s->addEvent720(base + 441, crank, TV_FALL);
s->addEvent720(base + 463, crank, TV_RISE);
s->addEvent720(base + 468, crank, TV_FALL);
s->addEvent720(base + 492, crank, TV_RISE);
s->addEvent720(base + 497, crank, TV_FALL);
// if (withCam)
s->addEvent2(base + 560, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX); // width =
s->addEvent720(base + 560, T_PRIMARY, TV_RISE); // width =
}
}
@ -484,79 +484,79 @@ void initJeep18_2_2_2(TriggerShape *s DECLARE_ENGINE_PARAMETER_SUFFIX) {
float off = 212;
s->addEvent2(534 - 720 + off, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(536 - 720 + off, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(554 - 720 + off, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(556 - 720 + off, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(574 - 720 + off, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(576 - 720 + off, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(594 - 720 + off, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(596 - 720 + off, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(534 - 720 + off, T_SECONDARY, TV_RISE);
s->addEvent720(536 - 720 + off, T_SECONDARY, TV_FALL);
s->addEvent720(554 - 720 + off, T_SECONDARY, TV_RISE);
s->addEvent720(556 - 720 + off, T_SECONDARY, TV_FALL);
s->addEvent720(574 - 720 + off, T_SECONDARY, TV_RISE);
s->addEvent720(576 - 720 + off, T_SECONDARY, TV_FALL);
s->addEvent720(594 - 720 + off, T_SECONDARY, TV_RISE);
s->addEvent720(596 - 720 + off, T_SECONDARY, TV_FALL);
s->addEvent2(654 - 720 + off, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(656 - 720 + off, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(674 - 720 + off, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(676 - 720 + off, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(694 - 720 + off, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(696 - 720 + off, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(714 - 720 + off, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(716 - 720 + off, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(654 - 720 + off, T_SECONDARY, TV_RISE);
s->addEvent720(656 - 720 + off, T_SECONDARY, TV_FALL);
s->addEvent720(674 - 720 + off, T_SECONDARY, TV_RISE);
s->addEvent720(676 - 720 + off, T_SECONDARY, TV_FALL);
s->addEvent720(694 - 720 + off, T_SECONDARY, TV_RISE);
s->addEvent720(696 - 720 + off, T_SECONDARY, TV_FALL);
s->addEvent720(714 - 720 + off, T_SECONDARY, TV_RISE);
s->addEvent720(716 - 720 + off, T_SECONDARY, TV_FALL);
s->addEvent2(54 + off, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(56 + off, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(74 + off, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(76 + off, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(94 + off, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(96 + off, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(114 + off, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(116 + off, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(54 + off, T_SECONDARY, TV_RISE);
s->addEvent720(56 + off, T_SECONDARY, TV_FALL);
s->addEvent720(74 + off, T_SECONDARY, TV_RISE);
s->addEvent720(76 + off, T_SECONDARY, TV_FALL);
s->addEvent720(94 + off, T_SECONDARY, TV_RISE);
s->addEvent720(96 + off, T_SECONDARY, TV_FALL);
s->addEvent720(114 + off, T_SECONDARY, TV_RISE);
s->addEvent720(116 + off, T_SECONDARY, TV_FALL);
s->addEvent2(148 + off, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX); // 360
s->addEvent720(148 + off, T_PRIMARY, TV_RISE); // 360
s->addEvent2(174 + off, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(176 + off, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(194 + off, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(196 + off, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(214 + off, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(216 + off, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(234 + off, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(236 + off, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(174 + off, T_SECONDARY, TV_RISE);
s->addEvent720(176 + off, T_SECONDARY, TV_FALL);
s->addEvent720(194 + off, T_SECONDARY, TV_RISE);
s->addEvent720(196 + off, T_SECONDARY, TV_FALL);
s->addEvent720(214 + off, T_SECONDARY, TV_RISE);
s->addEvent720(216 + off, T_SECONDARY, TV_FALL);
s->addEvent720(234 + off, T_SECONDARY, TV_RISE);
s->addEvent720(236 + off, T_SECONDARY, TV_FALL);
s->addEvent2(294 + off, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(296 + off, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(314 + off, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(316 + off, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(334 + off, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(336 + off, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(354 + off, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(356 + off, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(294 + off, T_SECONDARY, TV_RISE);
s->addEvent720(296 + off, T_SECONDARY, TV_FALL);
s->addEvent720(314 + off, T_SECONDARY, TV_RISE);
s->addEvent720(316 + off, T_SECONDARY, TV_FALL);
s->addEvent720(334 + off, T_SECONDARY, TV_RISE);
s->addEvent720(336 + off, T_SECONDARY, TV_FALL);
s->addEvent720(354 + off, T_SECONDARY, TV_RISE);
s->addEvent720(356 + off, T_SECONDARY, TV_FALL);
s->addEvent2(414 + off, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(416 + off, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(434 + off, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(436 + off, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(454 + off, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(456 + off, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(474 + off, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(476 + off, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(414 + off, T_SECONDARY, TV_RISE);
s->addEvent720(416 + off, T_SECONDARY, TV_FALL);
s->addEvent720(434 + off, T_SECONDARY, TV_RISE);
s->addEvent720(436 + off, T_SECONDARY, TV_FALL);
s->addEvent720(454 + off, T_SECONDARY, TV_RISE);
s->addEvent720(456 + off, T_SECONDARY, TV_FALL);
s->addEvent720(474 + off, T_SECONDARY, TV_RISE);
s->addEvent720(476 + off, T_SECONDARY, TV_FALL);
s->addEvent2(508 + off, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX); // 720
s->addEvent720(508 + off, T_PRIMARY, TV_FALL); // 720
}
static void add4cylblock(int off, TriggerShape *s DECLARE_ENGINE_PARAMETER_SUFFIX) {
s->addEvent2(114 + off, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(114 + off + 2, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(114 + off, T_SECONDARY, TV_RISE);
s->addEvent720(114 + off + 2, T_SECONDARY, TV_FALL);
s->addEvent2(134 + off, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(134 + off + 2, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(134 + off, T_SECONDARY, TV_RISE);
s->addEvent720(134 + off + 2, T_SECONDARY, TV_FALL);
s->addEvent2(154 + off, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(154 + off + 2, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(154 + off, T_SECONDARY, TV_RISE);
s->addEvent720(154 + off + 2, T_SECONDARY, TV_FALL);
s->addEvent2(174 + off, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(174 + off + 2, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(174 + off, T_SECONDARY, TV_RISE);
s->addEvent720(174 + off + 2, T_SECONDARY, TV_FALL);
}
// TT_JEEP_4_CYL
@ -572,11 +572,11 @@ void initJeep_XJ_4cyl_2500(TriggerShape *s DECLARE_ENGINE_PARAMETER_SUFFIX) {
add4cylblock(offset - 180, s PASS_ENGINE_PARAMETER_SUFFIX);
add4cylblock(offset, s PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(236 + offset, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX); // 360
s->addEvent720(236 + offset, T_PRIMARY, TV_RISE); // 360
add4cylblock(offset + 180, s PASS_ENGINE_PARAMETER_SUFFIX);
add4cylblock(offset + 360, s PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(596 + offset, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX); // 720
s->addEvent720(596 + offset, T_PRIMARY, TV_FALL); // 720
}

View File

@ -15,26 +15,26 @@ void configureGmTriggerShape(TriggerShape *s DECLARE_ENGINE_PARAMETER_SUFFIX) {
float m = CRANK_MODE_MULTIPLIER;
s->addEvent2(m * 60 - w, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(m * 60, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(m * 60 - w, T_PRIMARY, TV_RISE);
s->addEvent720(m * 60, T_PRIMARY, TV_FALL);
s->addEvent2(m * 120 - w, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(m * 120.0, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(m * 120 - w, T_PRIMARY, TV_RISE);
s->addEvent720(m * 120.0, T_PRIMARY, TV_FALL);
s->addEvent2(m * 180 - w, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(m * 180, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(m * 180 - w, T_PRIMARY, TV_RISE);
s->addEvent720(m * 180, T_PRIMARY, TV_FALL);
s->addEvent2(m * 240 - w, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(m * 240.0, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(m * 240 - w, T_PRIMARY, TV_RISE);
s->addEvent720(m * 240.0, T_PRIMARY, TV_FALL);
s->addEvent2(m * 300 - w, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(m * 300.0, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(m * 300 - w, T_PRIMARY, TV_RISE);
s->addEvent720(m * 300.0, T_PRIMARY, TV_FALL);
s->addEvent2(m * 350 - w, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(m * 350.0, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(m * 350 - w, T_PRIMARY, TV_RISE);
s->addEvent720(m * 350.0, T_PRIMARY, TV_FALL);
s->addEvent2(m * 360 - w, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(m * 360.0, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(m * 360 - w, T_PRIMARY, TV_RISE);
s->addEvent720(m * 360.0, T_PRIMARY, TV_FALL);
s->setTriggerSynchronizationGap(6);
}
@ -44,8 +44,8 @@ static int gm_tooth_pair(float startAngle, bool isLongShort, TriggerShape* s, in
int window = (isLongShort ? 12 : 3) * mult;
int end = startAngle + mult * 15;
s->addEvent2(startAngle + window, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(end, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(startAngle + window, T_PRIMARY, TV_RISE);
s->addEvent720(end, T_PRIMARY, TV_FALL);
return end;
}

View File

@ -11,9 +11,9 @@
#define S24 (720.0f / 24 / 2)
static float addAccordPair(TriggerShape *s, float sb, trigger_wheel_e const channelIndex DECLARE_ENGINE_PARAMETER_SUFFIX) {
s->addEvent2(sb, channelIndex, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(sb, channelIndex, TV_RISE);
sb += S24;
s->addEvent2(sb, channelIndex, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(sb, channelIndex, TV_FALL);
sb += S24;
return sb;
@ -22,9 +22,9 @@ static float addAccordPair(TriggerShape *s, float sb, trigger_wheel_e const chan
#define DIP 7.5f
static float addAccordPair3(TriggerShape *s, float sb DECLARE_ENGINE_PARAMETER_SUFFIX) {
sb += DIP;
s->addEvent2(sb, T_CHANNEL_3, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(sb, T_CHANNEL_3, TV_RISE);
sb += DIP;
s->addEvent2(sb, T_CHANNEL_3, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(sb, T_CHANNEL_3, TV_FALL);
sb += 2 * DIP;
return sb;
}
@ -42,56 +42,56 @@ void configureHondaAccordCDDip(TriggerShape *s DECLARE_ENGINE_PARAMETER_SUFFIX)
sb = addAccordPair3(s, sb PASS_ENGINE_PARAMETER_SUFFIX);
sb = addAccordPair3(s, sb PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(90, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(90, T_SECONDARY, TV_FALL);
sb = 90;
sb = addAccordPair3(s, sb PASS_ENGINE_PARAMETER_SUFFIX);
sb = addAccordPair3(s, sb PASS_ENGINE_PARAMETER_SUFFIX);
sb = addAccordPair3(s, sb PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(180, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(180, T_SECONDARY, TV_RISE);
sb = 180;
sb = addAccordPair3(s, sb PASS_ENGINE_PARAMETER_SUFFIX);
sb = addAccordPair3(s, sb PASS_ENGINE_PARAMETER_SUFFIX);
sb = addAccordPair3(s, sb PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(270, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(270, T_SECONDARY, TV_FALL);
sb = 270;
sb = addAccordPair3(s, sb PASS_ENGINE_PARAMETER_SUFFIX);
sb = addAccordPair3(s, sb PASS_ENGINE_PARAMETER_SUFFIX);
sb = addAccordPair3(s, sb PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(360.0f - DIP, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(360, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(360.0f - DIP, T_PRIMARY, TV_RISE);
s->addEvent720(360, T_SECONDARY, TV_RISE);
sb = 360;
sb = addAccordPair3(s, sb PASS_ENGINE_PARAMETER_SUFFIX);
sb = addAccordPair3(s, sb PASS_ENGINE_PARAMETER_SUFFIX);
sb = addAccordPair3(s, sb PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(450, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(450, T_SECONDARY, TV_FALL);
sb = 450;
sb = addAccordPair3(s, sb PASS_ENGINE_PARAMETER_SUFFIX);
sb = addAccordPair3(s, sb PASS_ENGINE_PARAMETER_SUFFIX);
sb = addAccordPair3(s, sb PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(540, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(540, T_SECONDARY, TV_RISE);
sb = 540;
sb = addAccordPair3(s, sb PASS_ENGINE_PARAMETER_SUFFIX);
sb = addAccordPair3(s, sb PASS_ENGINE_PARAMETER_SUFFIX);
sb = addAccordPair3(s, sb PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(630, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(630, T_SECONDARY, TV_FALL);
sb = 630;
sb = addAccordPair3(s, sb PASS_ENGINE_PARAMETER_SUFFIX);
sb = addAccordPair3(s, sb PASS_ENGINE_PARAMETER_SUFFIX);
sb = addAccordPair3(s, sb PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(720.0f - DIP, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(720.0f - DIP, T_PRIMARY, TV_FALL);
// s->addEvent2(720.0f - 12 * sb, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
// s->addEvent2(720.0f, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
// s->addEvent720(720.0f - 12 * sb, T_SECONDARY, TV_FALL);
// s->addEvent720(720.0f, T_SECONDARY, TV_FALL);
s->addEvent2(720.0f, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(720.0f, T_SECONDARY, TV_RISE);
s->isSynchronizationNeeded = false;
s->useOnlyPrimaryForSync = true;
@ -118,20 +118,20 @@ void configureHonda_1_4_24(TriggerShape *s, bool withOneEventSignal, bool withFo
sb = addAccordPair(s, sb, T_SECONDARY PASS_ENGINE_PARAMETER_SUFFIX);
if (withOneEventSignal)
s->addEvent2(sb - S24 / 2, oneEventWave, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(sb - S24 / 2, oneEventWave, TV_RISE);
sb = addAccordPair(s, sb, T_SECONDARY PASS_ENGINE_PARAMETER_SUFFIX);
sb = addAccordPair(s, sb, T_SECONDARY PASS_ENGINE_PARAMETER_SUFFIX);
if (withOneEventSignal)
s->addEvent2(sb - S24 / 2, oneEventWave, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(sb - S24 / 2, oneEventWave, TV_FALL);
sb = addAccordPair(s, sb, T_SECONDARY PASS_ENGINE_PARAMETER_SUFFIX);
sb = addAccordPair(s, sb, T_SECONDARY PASS_ENGINE_PARAMETER_SUFFIX);
if (withFourEventSignal) {
s->addEvent2(1 * 180.0f + prefix - tdcWidth, fourEventWave, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(1 * 180.0f + prefix - tdcWidth, fourEventWave, TV_RISE);
}
sb = addAccordPair(s, sb, T_SECONDARY PASS_ENGINE_PARAMETER_SUFFIX);
if (withFourEventSignal) {
s->addEvent2(1 * 180.0f + prefix, fourEventWave, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(1 * 180.0f + prefix, fourEventWave, TV_FALL);
}
sb = addAccordPair(s, sb, T_SECONDARY PASS_ENGINE_PARAMETER_SUFFIX);
@ -141,11 +141,11 @@ void configureHonda_1_4_24(TriggerShape *s, bool withOneEventSignal, bool withFo
sb = addAccordPair(s, sb, T_SECONDARY PASS_ENGINE_PARAMETER_SUFFIX);
if (withFourEventSignal) {
s->addEvent2(2 * 180.0f + prefix - tdcWidth, fourEventWave, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(2 * 180.0f + prefix - tdcWidth, fourEventWave, TV_RISE);
}
sb = addAccordPair(s, sb, T_SECONDARY PASS_ENGINE_PARAMETER_SUFFIX);
if (withFourEventSignal) {
s->addEvent2(2 * 180.0f + prefix, fourEventWave, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(2 * 180.0f + prefix, fourEventWave, TV_FALL);
}
for (int i = 3; i <= 4; i++) {
@ -156,11 +156,11 @@ void configureHonda_1_4_24(TriggerShape *s, bool withOneEventSignal, bool withFo
sb = addAccordPair(s, sb, T_SECONDARY PASS_ENGINE_PARAMETER_SUFFIX);
if (withFourEventSignal) {
s->addEvent2(i * 180.0f + prefix - tdcWidth, fourEventWave, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(i * 180.0f + prefix - tdcWidth, fourEventWave, TV_RISE);
}
sb = addAccordPair(s, sb, T_SECONDARY PASS_ENGINE_PARAMETER_SUFFIX);
if (withFourEventSignal) {
s->addEvent2(i * 180.0f + prefix, fourEventWave, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(i * 180.0f + prefix, fourEventWave, TV_FALL);
}
}
s->useOnlyPrimaryForSync = true;
@ -186,62 +186,62 @@ void configureHondaCbr600custom(TriggerShape *s DECLARE_ENGINE_PARAMETER_SUFFIX)
float a = 0;
a += w;
s->addEvent2(a, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(a, T_SECONDARY, TV_RISE);
a += w;
s->addEvent2(a - 1, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX); // 30
s->addEvent720(a - 1, T_SECONDARY, TV_FALL); // 30
a += w;
s->addEvent2(a, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(52.4, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(a, T_SECONDARY, TV_RISE);
s->addEvent720(52.4, T_PRIMARY, TV_FALL);
a += w;
s->addEvent2(a - 1, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX); // 60
s->addEvent720(a - 1, T_SECONDARY, TV_FALL); // 60
for (int i = 0;i<10;i++) {
a += w;
s->addEvent2(a, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(a, T_SECONDARY, TV_RISE);
a += w;
s->addEvent2(a, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(a, T_SECONDARY, TV_FALL);
}
a += w;
s->addEvent2(a, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(a, T_SECONDARY, TV_RISE);
s->addEvent2(381.34f, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(381.34f, T_PRIMARY, TV_RISE);
a += w;
s->addEvent2(a - 1, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(a - 1, T_SECONDARY, TV_FALL);
for (int i = 0;i<1;i++) {
a += w;
s->addEvent2(a, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(a, T_SECONDARY, TV_RISE);
a += w;
s->addEvent2(a, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(a, T_SECONDARY, TV_FALL);
}
a += w;
s->addEvent2(a, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(a, T_SECONDARY, TV_RISE);
s->addEvent2(449.1f, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(449.1f, T_PRIMARY, TV_FALL);
a += w;
s->addEvent2(a, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(a, T_SECONDARY, TV_FALL);
for (int i = 0;i<8;i++) {
a += w;
s->addEvent2(a, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(a, T_SECONDARY, TV_RISE);
a += w;
s->addEvent2(a, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(a, T_SECONDARY, TV_FALL);
}
a += w;
s->addEvent2(a, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(a, T_SECONDARY, TV_RISE);
a += w;
s->addEvent2(a - 1, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(a - 1, T_SECONDARY, TV_FALL);
s->addEvent2(720.0f, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(720.0f, T_PRIMARY, TV_RISE);
}
@ -252,19 +252,19 @@ void configureHondaAccordShifted(TriggerShape *s DECLARE_ENGINE_PARAMETER_SUFFIX
float sb = S24;
// like this there is no issue
// s->addEvent2(S24 + 0.001, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
// s->addEvent2(S24 + 0.1, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
// s->addEvent720(S24 + 0.001, T_PRIMARY, TV_RISE);
// s->addEvent720(S24 + 0.1, T_SECONDARY, TV_RISE);
s->addEvent2(S24 + 0.001, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(S24 + 0.1, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(S24 + 0.001, T_SECONDARY, TV_RISE);
s->addEvent720(S24 + 0.1, T_PRIMARY, TV_RISE);
sb += S24;
s->addEvent2(sb, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(sb, T_SECONDARY, TV_FALL);
sb += S24;
s->addEvent2(S24 + 22, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(S24 + 22, T_PRIMARY, TV_FALL);
for (int i = 0;i<23;i++) {
@ -283,9 +283,9 @@ void configureOnePlus16(TriggerShape *s, operation_mode_e operationMode DECLARE_
int totalTeethCount = 16;
int skippedCount = 0;
s->addEvent2(2, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(2, T_PRIMARY, TV_RISE);
addSkippedToothTriggerEvents(T_SECONDARY, s, totalTeethCount, skippedCount, 0.5, 0, 360, 2, 20 PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(20, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(20, T_PRIMARY, TV_FALL);
addSkippedToothTriggerEvents(T_SECONDARY, s, totalTeethCount, skippedCount, 0.5, 0, 360, 20, NO_RIGHT_FILTER PASS_ENGINE_PARAMETER_SUFFIX);
addSkippedToothTriggerEvents(T_SECONDARY, s, totalTeethCount, skippedCount, 0.5, 360, 360, NO_LEFT_FILTER,

View File

@ -72,17 +72,17 @@ void initialize_Mazda_Engine_z5_Shape(TriggerShape *s DECLARE_ENGINE_PARAMETER_S
s->tdcPosition = 0; // 1 and 3 are at top , so 0 or 360
s->setTriggerSynchronizationGap(0.7);
s->addEvent2(60.0f, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(180.0f, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(60.0f, T_PRIMARY, TV_FALL);
s->addEvent720(180.0f, T_PRIMARY, TV_RISE);
s->addEvent2(240.0f, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(360.0f, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(240.0f, T_PRIMARY, TV_FALL);
s->addEvent720(360.0f, T_PRIMARY, TV_RISE);
s->addEvent2(420.0f, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(540.0f, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(420.0f, T_PRIMARY, TV_FALL);
s->addEvent720(540.0f, T_PRIMARY, TV_RISE);
s->addEvent2(618.0f, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(720.0f, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(618.0f, T_PRIMARY, TV_FALL);
s->addEvent720(720.0f, T_PRIMARY, TV_RISE);
}
// TT_MIATA_VVT
@ -94,10 +94,10 @@ void initializeMazdaMiataNb2Crank(TriggerShape *s DECLARE_ENGINE_PARAMETER_SUFFI
s->tdcPosition = 60 + 655;
s->setTriggerSynchronizationGap2(0.35f, 0.98f);
s->addEvent2(o + 4 * 56.0f, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(o + 4 * 60.0f, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(o + 4 * 136.0f, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(o + 4 * 140.0f, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(o + 4 * 56.0f, T_PRIMARY, TV_FALL);
s->addEvent720(o + 4 * 60.0f, T_PRIMARY, TV_RISE);
s->addEvent720(o + 4 * 136.0f, T_PRIMARY, TV_FALL);
s->addEvent720(o + 4 * 140.0f, T_PRIMARY, TV_RISE);
}
static void initializeMazdaMiataNb1ShapeWithOffset(TriggerShape *s, float offset DECLARE_ENGINE_PARAMETER_SUFFIX) {
@ -111,33 +111,33 @@ static void initializeMazdaMiataNb1ShapeWithOffset(TriggerShape *s, float offset
/**
* cam sensor is primary, crank sensor is secondary
*/
s->addEvent2(20.0f, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(20.0f, T_PRIMARY, TV_RISE);
s->addEvent2(offset + 66.0f, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(offset + 70.0f, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(offset + 136.0f, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(offset + 140.0f, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(offset + 246.0f, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(offset + 250.0f, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(offset + 316.0f, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(offset + 320.0f, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(offset + 66.0f, T_SECONDARY, TV_FALL);
s->addEvent720(offset + 70.0f, T_SECONDARY, TV_RISE);
s->addEvent720(offset + 136.0f, T_SECONDARY, TV_FALL);
s->addEvent720(offset + 140.0f, T_SECONDARY, TV_RISE);
s->addEvent720(offset + 246.0f, T_SECONDARY, TV_FALL);
s->addEvent720(offset + 250.0f, T_SECONDARY, TV_RISE);
s->addEvent720(offset + 316.0f, T_SECONDARY, TV_FALL);
s->addEvent720(offset + 320.0f, T_SECONDARY, TV_RISE);
s->addEvent2(340.0f, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(360.0f, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(340.0f, T_PRIMARY, TV_FALL);
s->addEvent720(360.0f, T_PRIMARY, TV_RISE);
s->addEvent2(380.0f, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(400.0f, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(380.0f, T_PRIMARY, TV_FALL);
s->addEvent720(400.0f, T_PRIMARY, TV_RISE);
s->addEvent2(offset + 426.0f, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(offset + 430.0f, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(offset + 496.0f, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(offset + 500.0f, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(offset + 606.0f, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(offset + 610.0f, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(offset + 676.0f, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(offset + 680.0f, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(offset + 426.0f, T_SECONDARY, TV_FALL);
s->addEvent720(offset + 430.0f, T_SECONDARY, TV_RISE);
s->addEvent720(offset + 496.0f, T_SECONDARY, TV_FALL);
s->addEvent720(offset + 500.0f, T_SECONDARY, TV_RISE);
s->addEvent720(offset + 606.0f, T_SECONDARY, TV_FALL);
s->addEvent720(offset + 610.0f, T_SECONDARY, TV_RISE);
s->addEvent720(offset + 676.0f, T_SECONDARY, TV_FALL);
s->addEvent720(offset + 680.0f, T_SECONDARY, TV_RISE);
s->addEvent2(720.0f, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(720.0f, T_PRIMARY, TV_FALL);
s->useOnlyPrimaryForSync = true;
}
@ -161,18 +161,18 @@ void configureMazdaProtegeSOHC(TriggerShape *s DECLARE_ENGINE_PARAMETER_SUFFIX)
float z = 0.093;
a = 180;
s->addEvent2(a - z * 720, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(a, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(a - z * 720, T_PRIMARY, TV_RISE);
s->addEvent720(a, T_PRIMARY, TV_FALL);
a += 180;
s->addEvent2(a - z * 720, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(a, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(a - z * 720, T_PRIMARY, TV_RISE);
s->addEvent720(a, T_PRIMARY, TV_FALL);
a += 180;
s->addEvent2(a - z * 720, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(a, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(a - z * 720, T_PRIMARY, TV_RISE);
s->addEvent720(a, T_PRIMARY, TV_FALL);
a += 180;
s->addEvent2(a - z * 720, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(a, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(a - z * 720, T_PRIMARY, TV_RISE);
s->addEvent720(a, T_PRIMARY, TV_FALL);
s->isSynchronizationNeeded = false;
}
@ -185,21 +185,21 @@ void configureMazdaProtegeLx(TriggerShape *s DECLARE_ENGINE_PARAMETER_SUFFIX) {
/**
* based on https://svn.code.sf.net/p/rusefi/code/trunk/misc/logs/1993_escort_gt/MAIN_rfi_report_2015-02-01%2017_39.csv
*/
s->addEvent2(95.329254, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(95.329254, T_PRIMARY, TV_RISE);
s->addEvent2(95.329254 + 14.876692, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(95.329254 + 82.693557, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(95.329254 + 14.876692, T_SECONDARY, TV_RISE);
s->addEvent720(95.329254 + 82.693557, T_SECONDARY, TV_FALL);
s->addEvent2(95.329254 + 137.119154, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(95.329254 + 137.119154, T_PRIMARY, TV_FALL);
s->addEvent2(95.329254 + 192.378308, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(95.329254 + 261.556418, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(95.329254 + 192.378308, T_SECONDARY, TV_RISE);
s->addEvent720(95.329254 + 261.556418, T_SECONDARY, TV_FALL);
s->addEvent2(95.329254 + 373.060597, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(95.329254 + 443.503184, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(95.329254 + 373.060597, T_SECONDARY, TV_RISE);
s->addEvent720(95.329254 + 443.503184, T_SECONDARY, TV_FALL);
s->addEvent2(95.329254 + 555.349776, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(720, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(95.329254 + 555.349776, T_SECONDARY, TV_RISE);
s->addEvent720(720, T_SECONDARY, TV_FALL);
s->tdcPosition = 137.119154;
s->isSynchronizationNeeded = false;

View File

@ -17,11 +17,11 @@ void configureFiatIAQ_P8(TriggerShape * s DECLARE_ENGINE_PARAMETER_SUFFIX) {
int width = 60;
s->tdcPosition = width;
s->addEvent2(width, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(180, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(width, T_PRIMARY, TV_RISE);
s->addEvent720(180, T_PRIMARY, TV_FALL);
s->addEvent2(180 + width, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(720, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(180 + width, T_PRIMARY, TV_RISE);
s->addEvent720(720, T_PRIMARY, TV_FALL);
s->setTriggerSynchronizationGap(3);
}

View File

@ -14,17 +14,17 @@ void configureFordAspireTriggerShape(TriggerShape * s DECLARE_ENGINE_PARAMETER_S
float x = 121.90;
float y = 110.86;
s->addEvent2(x + y - 180, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(x, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(x + y, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(x + 180, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(360, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(x + y - 180, T_SECONDARY, TV_RISE);
s->addEvent720(x, T_SECONDARY, TV_FALL);
s->addEvent720(x + y, T_SECONDARY, TV_RISE);
s->addEvent720(x + 180, T_SECONDARY, TV_FALL);
s->addEvent720(360, T_PRIMARY, TV_RISE);
s->addEvent2(x + 180 + y, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(x + 360, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(x + 360 + y, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(x + 540, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(720, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(x + 180 + y, T_SECONDARY, TV_RISE);
s->addEvent720(x + 360, T_SECONDARY, TV_FALL);
s->addEvent720(x + 360 + y, T_SECONDARY, TV_RISE);
s->addEvent720(x + 540, T_SECONDARY, TV_FALL);
s->addEvent720(720, T_PRIMARY, TV_FALL);
s->useOnlyPrimaryForSync = true;
}
@ -39,17 +39,17 @@ void initializeMitsubishi4g18(TriggerShape *s DECLARE_ENGINE_PARAMETER_SUFFIX) {
int secondaryWidth = 70;
s->addEvent2(106.77999999999997, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(120.09999999999998, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(188.0775, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(286.33, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(298.875, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(354.91999999999996, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(366.6825, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(476.45, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(543.9749999999999, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(639.52, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(653.15, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(720.0, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(106.77999999999997, T_PRIMARY, TV_FALL);
s->addEvent720(120.09999999999998, T_SECONDARY, TV_RISE);
s->addEvent720(188.0775, T_SECONDARY, TV_FALL);
s->addEvent720(286.33, T_PRIMARY, TV_RISE);
s->addEvent720(298.875, T_SECONDARY, TV_RISE);
s->addEvent720(354.91999999999996, T_PRIMARY, TV_FALL);
s->addEvent720(366.6825, T_SECONDARY, TV_FALL);
s->addEvent720(476.45, T_SECONDARY, TV_RISE);
s->addEvent720(543.9749999999999, T_SECONDARY, TV_FALL);
s->addEvent720(639.52, T_PRIMARY, TV_RISE);
s->addEvent720(653.15, T_SECONDARY, TV_RISE);
s->addEvent720(720.0, T_SECONDARY, TV_FALL);
s->useOnlyPrimaryForSync = true;
}

View File

@ -37,7 +37,7 @@ static void initializeNissanSR20VE_4_optional_360(TriggerShape *s, bool with2nd
left, right PASS_ENGINE_PARAMETER_SUFFIX);
}
s->addEvent2(right, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(right, T_PRIMARY, TV_RISE);
left = right;
right = base;
@ -45,7 +45,7 @@ static void initializeNissanSR20VE_4_optional_360(TriggerShape *s, bool with2nd
addSkippedToothTriggerEvents(T_SECONDARY, s, total, 0, 0.5, 0, 720,
left, right PASS_ENGINE_PARAMETER_SUFFIX);
}
s->addEvent2(right, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(right, T_PRIMARY, TV_FALL);
// was is the the one with 360 opto sensor?
@ -57,7 +57,7 @@ static void initializeNissanSR20VE_4_optional_360(TriggerShape *s, bool with2nd
// addSkippedToothTriggerEvents(T_SECONDARY, s, total, 0, 0.5, 0, 720,
// left, right PASS_ENGINE_PARAMETER_SUFFIX);
}
s->addEvent2(right, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(right, T_PRIMARY, TV_RISE);
left = right;
right = base;
@ -65,7 +65,7 @@ static void initializeNissanSR20VE_4_optional_360(TriggerShape *s, bool with2nd
// addSkippedToothTriggerEvents(T_SECONDARY, s, total, 0, 0.5, 0, 720,
// left, right PASS_ENGINE_PARAMETER_SUFFIX);
}
s->addEvent2(right, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(right, T_PRIMARY, TV_FALL);
base += 180;
left = right;
@ -74,7 +74,7 @@ static void initializeNissanSR20VE_4_optional_360(TriggerShape *s, bool with2nd
// addSkippedToothTriggerEvents(T_SECONDARY, s, total, 0, 0.5, 0, 720,
// left, right PASS_ENGINE_PARAMETER_SUFFIX);
}
s->addEvent2(right, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(right, T_PRIMARY, TV_RISE);
left = right;
right = base;
@ -82,16 +82,16 @@ static void initializeNissanSR20VE_4_optional_360(TriggerShape *s, bool with2nd
// addSkippedToothTriggerEvents(T_SECONDARY, s, total, 0, 0.5, 0, 720,
// left, right PASS_ENGINE_PARAMETER_SUFFIX);
}
s->addEvent2(right, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(right, T_PRIMARY, TV_FALL);
base += 180;
left = right;
right = base - width;
s->addEvent2(right, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(right, T_PRIMARY, TV_RISE);
left = right;
right = base;
s->addEvent2(right, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(right, T_PRIMARY, TV_FALL);
}

View File

@ -23,32 +23,32 @@ void initializeRoverK(TriggerShape *s DECLARE_ENGINE_PARAMETER_SUFFIX) {
float base = 0;
for (int i = 0; i < 2; i++) {
s->addEvent2(base + tooth / 2, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(base + tooth, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(base + tooth / 2, T_PRIMARY, TV_RISE);
s->addEvent720(base + tooth, T_PRIMARY, TV_FALL);
base += tooth;
}
base += tooth;
for (int i = 0; i < 2; i++) {
s->addEvent2(base + tooth / 2, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(base + tooth, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(base + tooth / 2, T_PRIMARY, TV_RISE);
s->addEvent720(base + tooth, T_PRIMARY, TV_FALL);
base += tooth;
}
base += tooth;
for (int i = 0; i < 14; i++) {
s->addEvent2(base + tooth / 2, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(base + tooth, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(base + tooth / 2, T_PRIMARY, TV_RISE);
s->addEvent720(base + tooth, T_PRIMARY, TV_FALL);
base += tooth;
}
base += tooth;
for (int i = 0; i < 3; i++) {
s->addEvent2(base + tooth / 2, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(base + tooth, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(base + tooth / 2, T_PRIMARY, TV_RISE);
s->addEvent720(base + tooth, T_PRIMARY, TV_FALL);
base += tooth;
}
base += tooth;
for (int i = 0; i < 11; i++) {
s->addEvent2(base + tooth / 2, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(base + tooth, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(base + tooth / 2, T_PRIMARY, TV_RISE);
s->addEvent720(base + tooth, T_PRIMARY, TV_FALL);
base += tooth;
}

View File

@ -23,26 +23,26 @@ void initialize36_2_2_2(TriggerShape *s DECLARE_ENGINE_PARAMETER_SUFFIX) {
float base = 0;
for (int i = 0; i < 12; i++) {
s->addEvent2(base + narrow / 2, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(base + narrow, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(base + narrow / 2, T_PRIMARY, TV_RISE);
s->addEvent720(base + narrow, T_PRIMARY, TV_FALL);
base += narrow;
}
s->addEvent2(base + wide / 2, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(base + wide, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(base + wide / 2, T_PRIMARY, TV_RISE);
s->addEvent720(base + wide, T_PRIMARY, TV_FALL);
base += wide;
for (int i = 0; i < 15; i++) {
s->addEvent2(base + narrow / 2, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(base + narrow, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(base + narrow / 2, T_PRIMARY, TV_RISE);
s->addEvent720(base + narrow, T_PRIMARY, TV_FALL);
base += narrow;
}
s->addEvent2(720 - wide - wide / 2, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(720 - wide, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(720 - wide - wide / 2, T_PRIMARY, TV_RISE);
s->addEvent720(720 - wide, T_PRIMARY, TV_FALL);
s->addEvent2(720 - wide / 2, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(720, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(720 - wide / 2, T_PRIMARY, TV_RISE);
s->addEvent720(720, T_PRIMARY, TV_FALL);
s->useOnlyPrimaryForSync = true;
}
@ -53,59 +53,59 @@ void initializeSubaru7_6(TriggerShape *s DECLARE_ENGINE_PARAMETER_SUFFIX) {
float width = 5;
s->addEvent2(25 - width, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(25, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(25 - width, T_PRIMARY, TV_RISE);
s->addEvent720(25, T_PRIMARY, TV_FALL);
s->addEvent2(magic - 180 - 87 - width, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(magic - 180 - 87, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(magic - 180 - 87 - width, T_SECONDARY, TV_RISE);
s->addEvent720(magic - 180 - 87, T_SECONDARY, TV_FALL);
s->addEvent2(magic - 180 - 55 - width, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(magic - 180 - 55, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(magic - 180 - 55 - width, T_SECONDARY, TV_RISE);
s->addEvent720(magic - 180 - 55, T_SECONDARY, TV_FALL);
s->addEvent2(magic - 180 - width, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(magic - 180, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(magic - 180 - width, T_SECONDARY, TV_RISE);
s->addEvent720(magic - 180, T_SECONDARY, TV_FALL);
s->addEvent2(182 - width, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(182, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(182 - width, T_PRIMARY, TV_RISE);
s->addEvent720(182, T_PRIMARY, TV_FALL);
s->addEvent2(magic - 87 - width, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(magic - 87, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(magic - 55 - width, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(magic - 55, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(magic - width, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(magic, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(magic - 87 - width, T_SECONDARY, TV_RISE);
s->addEvent720(magic - 87, T_SECONDARY, TV_FALL);
s->addEvent720(magic - 55 - width, T_SECONDARY, TV_RISE);
s->addEvent720(magic - 55, T_SECONDARY, TV_FALL);
s->addEvent720(magic - width, T_SECONDARY, TV_RISE);
s->addEvent720(magic, T_SECONDARY, TV_FALL);
s->addEvent2(343 - width, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(343, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(343 - width, T_PRIMARY, TV_RISE);
s->addEvent720(343, T_PRIMARY, TV_FALL);
s->addEvent2(366 - width, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(366, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(366 - width, T_PRIMARY, TV_RISE);
s->addEvent720(366, T_PRIMARY, TV_FALL);
s->addEvent2(384 - width, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(384, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(384 - width, T_PRIMARY, TV_RISE);
s->addEvent720(384, T_PRIMARY, TV_FALL);
s->addEvent2(magic + 180 - 87 - width, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(magic + 180 - 87, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(magic + 180 - 55 - width, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(magic + 180 - 55, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(magic + 180 - width, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(magic + 180, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(magic + 180 - 87 - width, T_SECONDARY, TV_RISE);
s->addEvent720(magic + 180 - 87, T_SECONDARY, TV_FALL);
s->addEvent720(magic + 180 - 55 - width, T_SECONDARY, TV_RISE);
s->addEvent720(magic + 180 - 55, T_SECONDARY, TV_FALL);
s->addEvent720(magic + 180 - width, T_SECONDARY, TV_RISE);
s->addEvent720(magic + 180, T_SECONDARY, TV_FALL);
s->addEvent2(538 - width, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(538, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(538 - width, T_PRIMARY, TV_RISE);
s->addEvent720(538, T_PRIMARY, TV_FALL);
s->addEvent2(magic + 360 - 87 - width, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(magic + 360 - 87, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(magic + 360 - 55 - width, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(magic + 360 - 55, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(magic + 360 - width, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(magic + 360, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(magic + 360 - 87 - width, T_SECONDARY, TV_RISE);
s->addEvent720(magic + 360 - 87, T_SECONDARY, TV_FALL);
s->addEvent720(magic + 360 - 55 - width, T_SECONDARY, TV_RISE);
s->addEvent720(magic + 360 - 55, T_SECONDARY, TV_FALL);
s->addEvent720(magic + 360 - width, T_SECONDARY, TV_RISE);
s->addEvent720(magic + 360, T_SECONDARY, TV_FALL);
s->addEvent2(720 - width, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(720, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(720 - width, T_PRIMARY, TV_RISE);
s->addEvent720(720, T_PRIMARY, TV_FALL);
s->setTriggerSynchronizationGap2(4.9, 9);
s->setTriggerSynchronizationGap3(1, 0.6, 1.25);

View File

@ -51,11 +51,11 @@ void configureOnePlusOne(TriggerShape *s, operation_mode_e operationMode DECLARE
s->initialize(FOUR_STROKE_CAM_SENSOR, true);
s->addEvent2(180, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(360, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(180, T_PRIMARY, TV_RISE);
s->addEvent720(360, T_PRIMARY, TV_FALL);
s->addEvent2(540, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(720, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(540, T_SECONDARY, TV_RISE);
s->addEvent720(720, T_SECONDARY, TV_FALL);
s->isSynchronizationNeeded = false;
s->useOnlyPrimaryForSync = true;
@ -67,9 +67,9 @@ void configureOnePlus60_2(TriggerShape *s, operation_mode_e operationMode DECLAR
int totalTeethCount = 60;
int skippedCount = 2;
s->addEvent2(2, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(2, T_PRIMARY, TV_RISE);
addSkippedToothTriggerEvents(T_SECONDARY, s, totalTeethCount, skippedCount, 0.5, 0, 360, 2, 20 PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(20, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(20, T_PRIMARY, TV_FALL);
addSkippedToothTriggerEvents(T_SECONDARY, s, totalTeethCount, skippedCount, 0.5, 0, 360, 20, NO_RIGHT_FILTER PASS_ENGINE_PARAMETER_SUFFIX);
addSkippedToothTriggerEvents(T_SECONDARY, s, totalTeethCount, skippedCount, 0.5, 360, 360, NO_LEFT_FILTER,
@ -88,29 +88,29 @@ void configure3_1_cam(TriggerShape *s, operation_mode_e operationMode DECLARE_EN
trigger_wheel_e crank = T_SECONDARY;
s->addEvent2(10, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(50, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(10, T_PRIMARY, TV_RISE);
s->addEvent720(50, T_PRIMARY, TV_FALL);
float a = 2 * crankW;
// #1/3
s->addEvent2(a += crankW, crank, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(a += crankW, crank, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(a += crankW, crank, TV_RISE);
s->addEvent720(a += crankW, crank, TV_FALL);
// #2/3
s->addEvent2(a += crankW, crank, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(a += crankW, crank, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(a += crankW, crank, TV_RISE);
s->addEvent720(a += crankW, crank, TV_FALL);
// #3/3
a += crankW;
a += crankW;
// 2nd #1/3
s->addEvent2(a += crankW, crank, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(a += crankW, crank, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(a += crankW, crank, TV_RISE);
s->addEvent720(a += crankW, crank, TV_FALL);
// 2nd #2/3
s->addEvent2(a += crankW, crank, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(a += crankW, crank, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent720(a += crankW, crank, TV_RISE);
s->addEvent720(a += crankW, crank, TV_FALL);
s->isSynchronizationNeeded = false;
}