rusefi-1/firmware/controllers/trigger/decoders/trigger_toyota.cpp

124 lines
3.4 KiB
C++
Raw Normal View History

2015-12-14 10:01:18 -08:00
/*
* @file trigger_toyota.cpp
*
* https://thedeltaecho.wordpress.com/2010/03/14/2jz-ge-cam-crank-signals/
*
* @date Dec 14, 2015
2020-01-13 18:57:43 -08:00
* @author Andrey Belomutskiy, (c) 2012-2020
2015-12-14 10:01:18 -08:00
*/
#include "trigger_toyota.h"
2020-05-04 19:31:47 -07:00
/**
* TT_2JZ_1_12
* One cam + 12 crank
* http://rusefi.com/images/triggers/trigger_29.png
*/
void initialize2jzGE1_12(TriggerWaveform *s) {
s->initialize(FOUR_STROKE_CAM_SENSOR);
2016-06-13 13:03:13 -07:00
float crankD = 360 / 12 / 2; // 15
float crankAngle = 10;
2019-05-02 15:05:33 -07:00
s->addEventClamped(crankAngle, T_SECONDARY, TV_FALL, -1, 721); // 120
2016-06-13 13:03:13 -07:00
for (int i = 0; i < 2; i++) {
2019-05-02 15:05:33 -07:00
s->addEventClamped(crankAngle + crankD, T_SECONDARY, TV_RISE, -1, 721);
2016-06-13 13:03:13 -07:00
crankAngle += crankD;
2019-05-02 15:05:33 -07:00
s->addEventClamped(crankAngle + crankD, T_SECONDARY, TV_FALL, -1, 721); // 120
2016-06-13 13:03:13 -07:00
crankAngle += crankD;
2016-06-13 17:01:47 -07:00
}
2016-06-13 13:03:13 -07:00
2019-05-02 15:05:33 -07:00
s->addEventClamped(75, T_PRIMARY, TV_FALL, -1, 721);
2016-06-13 13:03:13 -07:00
2016-06-13 17:01:47 -07:00
for (int i = 0; i < 21; i++) {
2019-05-02 15:05:33 -07:00
s->addEventClamped(crankAngle + crankD, T_SECONDARY, TV_RISE, -1, 721);
2016-06-13 17:01:47 -07:00
crankAngle += crankD;
2019-05-02 15:05:33 -07:00
s->addEventClamped(crankAngle + crankD, T_SECONDARY, TV_FALL, -1, 721); // 120
2016-06-13 17:01:47 -07:00
crankAngle += crankD;
}
2019-05-02 15:05:33 -07:00
s->addEventClamped(crankAngle + crankD, T_SECONDARY, TV_RISE, -1, 721);
2016-06-13 17:01:47 -07:00
crankAngle += crankD;
2016-06-13 13:03:13 -07:00
2019-05-02 15:05:33 -07:00
s->addEventClamped(720, T_PRIMARY, TV_RISE, -1, 721);
2016-06-13 13:03:13 -07:00
s->isSynchronizationNeeded = false;
}
2020-05-04 19:31:47 -07:00
/**
* https://rusefi.com/forum/viewtopic.php?f=5&t=1720
*/
void initialize2jzGE3_34(TriggerWaveform *s) {
2018-12-25 17:09:35 -08:00
setToothedWheelConfiguration(s, 36, 2, FOUR_STROKE_CRANK_SENSOR);
2016-07-14 20:02:55 -07:00
// s->initialize(FOUR_STROKE_CAM_SENSOR);
2016-07-14 20:02:55 -07:00
//
// float camD = 720 / 6; // 120
//
// float crankAngle = 20; // skipping two teeth
//
// for (int i = 0; i < 10; i++) {
2016-10-31 19:02:12 -07:00
// s->addEvent2(crankAngle + 5, T_SECONDARY, TV_RISE, -1, 721);
// s->addEvent2(crankAngle + 9.9, T_SECONDARY, TV_FALL, -1, 721); // 120
2016-07-14 20:02:55 -07:00
// crankAngle += 10;
// } // 2 + 10
//
// float camAngle = 0;
// camAngle += camD;
2016-10-31 19:02:12 -07:00
// s->addEvent2(camAngle, T_PRIMARY, TV_RISE, -1, 721); // 120
2016-07-14 20:02:55 -07:00
//
// for (int i = 0; i < 12; i++) {
2016-10-31 19:02:12 -07:00
// s->addEvent2(crankAngle + 5, T_SECONDARY, TV_RISE, -1, 721);
// s->addEvent2(crankAngle + 9.9, T_SECONDARY, TV_FALL, -1, 721); // 120
2016-07-14 20:02:55 -07:00
// crankAngle += 10;
// } // 2 + 22
//
//
// camAngle += camD;
2016-10-31 19:02:12 -07:00
// s->addEvent2(camAngle, T_PRIMARY, TV_FALL, -1, 721); // 240
2016-07-14 20:02:55 -07:00
//
// for (int i = 0; i < 12; i++) {
2016-10-31 19:02:12 -07:00
// s->addEvent2(crankAngle + 5, T_SECONDARY, TV_RISE, -1, 721);
// s->addEvent2(crankAngle + 9.9, T_SECONDARY, TV_FALL, -1, 721); // 120
2016-07-14 20:02:55 -07:00
// crankAngle += 10;
// } // 2 + 34
//
// camAngle += camD;
2016-10-31 19:02:12 -07:00
// s->addEvent2(camAngle, T_PRIMARY, TV_RISE, -1, 721); // 360
2016-07-14 20:02:55 -07:00
//
// crankAngle += 20; // skipping two teeth one more time
// for (int i = 0; i < 10; i++) {
2016-10-31 19:02:12 -07:00
// s->addEvent2(crankAngle + 5, T_SECONDARY, TV_RISE, -1, 721);
// s->addEvent2(crankAngle + 9.9, T_SECONDARY, TV_FALL, -1, 721); // 120
2016-07-14 20:02:55 -07:00
// crankAngle += 10;
// } // 2 + 10
//
// camAngle += camD;
2016-10-31 19:02:12 -07:00
// s->addEvent2(camAngle, T_PRIMARY, TV_FALL, -1, 721); // 480
2016-07-14 20:02:55 -07:00
//
// for (int i = 0; i < 12; i++) {
2016-10-31 19:02:12 -07:00
// s->addEvent2(crankAngle + 5, T_SECONDARY, TV_RISE, -1, 721);
// s->addEvent2(crankAngle + 9.9, T_SECONDARY, TV_FALL, -1, 721); // 120
2016-07-14 20:02:55 -07:00
// crankAngle += 10;
// } // 2 + 22
//
// camAngle += camD;
2016-10-31 19:02:12 -07:00
// s->addEvent2(camAngle, T_PRIMARY, TV_RISE, -1, 721); // 600
2016-07-14 20:02:55 -07:00
//
//
// for (int i = 0; i < 12; i++) {
2016-10-31 19:02:12 -07:00
// s->addEvent2(crankAngle + 5, T_SECONDARY, TV_RISE, -1, 721);
// s->addEvent2(crankAngle + 9.9, T_SECONDARY, TV_FALL, -1, 721); // 120
2016-07-14 20:02:55 -07:00
// crankAngle += 10;
// } // 2 + 32
// camAngle += camD;
2016-10-31 19:02:12 -07:00
// s->addEvent2(camAngle, T_PRIMARY, TV_FALL, -1, 721); // 720
2016-07-14 20:02:55 -07:00
//
// s->isSynchronizationNeeded = false;
2015-12-14 18:01:30 -08:00
}