fome-fw/firmware/controllers/trigger/decoders/trigger_vw.cpp

34 lines
933 B
C++
Raw Normal View History

2018-08-25 17:05:17 -07:00
/*
* @file trigger_vw.cpp
*
* @date Aug 25, 2018
* @author Andrey Belomutskiy, (c) 2012-2018
*/
#include "trigger_vw.h"
#include "trigger_universal.h"
void setVwConfiguration(TriggerWaveform *s) {
efiAssertVoid(CUSTOM_ERR_6660, s != NULL, "TriggerWaveform is NULL");
2018-08-25 17:05:17 -07:00
2018-12-25 16:13:28 -08:00
s->initialize(FOUR_STROKE_CRANK_SENSOR, false);
2018-08-25 17:05:17 -07:00
s->isSynchronizationNeeded = true;
int totalTeethCount = 60;
int skippedCount = 2;
2019-01-01 11:05:11 -08:00
float engineCycle = FOUR_STROKE_ENGINE_CYCLE;
2018-08-25 17:05:17 -07:00
float toothWidth = 0.5;
addSkippedToothTriggerEvents(T_PRIMARY, s, 60, 2, toothWidth, 0, engineCycle,
2018-12-25 16:42:27 -08:00
NO_LEFT_FILTER, 690);
2018-08-25 17:05:17 -07:00
float angleDown = engineCycle / totalTeethCount * (totalTeethCount - skippedCount - 1 + (1 - toothWidth) );
2019-05-02 15:05:33 -07:00
s->addEventClamped(0 + angleDown + 12, T_PRIMARY, TV_RISE, NO_LEFT_FILTER, NO_RIGHT_FILTER);
s->addEventClamped(0 + engineCycle, T_PRIMARY, TV_FALL, NO_LEFT_FILTER, NO_RIGHT_FILTER);
2018-08-25 17:05:17 -07:00
s->setTriggerSynchronizationGap2(1.6, 4);
}