rusEFI
The most advanced open source ECU
Loading...
Searching...
No Matches
controllers
trigger
decoders
trigger_suzuki.cpp
Go to the documentation of this file.
1
/*
2
* trigger_suzuki.cpp
3
*
4
* @date Oct 4, 2021
5
* @author Andrey Belomutskiy, (c) 2012-2021
6
*/
7
8
#include "
pch.h
"
9
10
#include "
trigger_suzuki.h
"
11
12
void
initializeSuzukiG13B
(
TriggerWaveform
*s) {
13
s->
initialize
(
FOUR_STROKE_CAM_SENSOR
,
SyncEdge::RiseOnly
);
14
15
float
w = 5;
16
float
specialTooth = 20;
17
18
s->
addEvent720
(180 - w,
TriggerValue::RISE
);
19
s->
addEvent720
(180,
TriggerValue::FALL
);
20
21
s->
addEvent720
(2 * specialTooth + 180 - w,
TriggerValue::RISE
);
22
s->
addEvent720
(2 * specialTooth + 180,
TriggerValue::FALL
);
23
24
s->
addEvent720
(360 - w,
TriggerValue::RISE
);
25
s->
addEvent720
(360,
TriggerValue::FALL
);
26
27
s->
addEvent720
(540 - w,
TriggerValue::RISE
);
28
s->
addEvent720
(540,
TriggerValue::FALL
);
29
30
s->
addEvent720
(720 - w,
TriggerValue::RISE
);
31
s->
addEvent720
(720,
TriggerValue::FALL
);
32
33
s->
setTriggerSynchronizationGap
(0.22);
34
s->
setSecondTriggerSynchronizationGap
(1);
35
}
36
37
void
initializeSuzukiK6A
(
TriggerWaveform
*s) {
38
s->
initialize
(
FOUR_STROKE_CAM_SENSOR
,
SyncEdge::RiseOnly
);
39
float
w = 5;
40
41
int
secondTooth = 15;
42
43
// a bit lame: we start with falling front of first tooth
44
s->
addEvent360
(5,
TriggerValue::FALL
);
45
46
s->
addToothRiseFall
(secondTooth, w);
47
s->
addToothRiseFall
(43, w);
48
49
s->
addToothRiseFall
(120, w);
50
s->
addToothRiseFall
(120 + secondTooth, w);
51
s->
addToothRiseFall
(158, w);
52
s->
addToothRiseFall
(158 + secondTooth, w);
53
54
s->
addToothRiseFall
(240, w);
55
s->
addToothRiseFall
(240 + secondTooth, w);
56
s->
addToothRiseFall
(283, w);
57
58
// a bit lame: we end with rising front of first tooth
59
s->
addEvent360
(360,
TriggerValue::RISE
);
60
61
s->
setTriggerSynchronizationGap
(4.47);
62
s->
setSecondTriggerSynchronizationGap
(0.65);
63
}
TriggerWaveform
Trigger shape has all the fields needed to describe and decode trigger signal.
Definition
trigger_structure.h:47
TriggerWaveform::initialize
void initialize(operation_mode_e operationMode, SyncEdge syncEdge)
Definition
trigger_structure.cpp:65
TriggerWaveform::setSecondTriggerSynchronizationGap
void setSecondTriggerSynchronizationGap(float syncRatio)
Definition
trigger_structure.cpp:427
TriggerWaveform::setTriggerSynchronizationGap
void setTriggerSynchronizationGap(float syncRatio)
Definition
trigger_structure.cpp:423
TriggerWaveform::addToothRiseFall
void addToothRiseFall(angle_t angle, angle_t width=10, TriggerWheel const channelIndex=TriggerWheel::T_PRIMARY)
Definition
trigger_structure.cpp:256
TriggerWaveform::addEvent720
void addEvent720(angle_t angle, TriggerValue const state, TriggerWheel const channelIndex=TriggerWheel::T_PRIMARY)
Definition
trigger_structure.cpp:246
TriggerWaveform::addEvent360
void addEvent360(angle_t angle, TriggerValue const state, TriggerWheel const channelIndex=TriggerWheel::T_PRIMARY)
Definition
trigger_structure.cpp:250
pch.h
FOUR_STROKE_CAM_SENSOR
@ FOUR_STROKE_CAM_SENSOR
Definition
rusefi_enums.h:275
TriggerValue::RISE
@ RISE
TriggerValue::FALL
@ FALL
SyncEdge::RiseOnly
@ RiseOnly
initializeSuzukiK6A
void initializeSuzukiK6A(TriggerWaveform *s)
Definition
trigger_suzuki.cpp:37
initializeSuzukiG13B
void initializeSuzukiG13B(TriggerWaveform *s)
Definition
trigger_suzuki.cpp:12
trigger_suzuki.h
Generated on Sat Sep 27 2025 00:10:06 for rusEFI by
1.9.8