Expand daihatsu 3+1 3cyl trigger to 4+1 as well fix #5925

This commit is contained in:
Andrey 2024-02-08 10:30:03 -05:00
parent c2f3c362e5
commit cfec54aa76
4 changed files with 19 additions and 11 deletions

View File

@ -40,6 +40,7 @@ Release template (copy/paste this for new release):
- Disable radiator fans after certain vehicle speed #5875
- LIS2DW12TR on-board Accelerometer support #4870
- Wheel slip ratio using aux speed inputs #5897
- 4 cylinder daihatsu cam sensor decoder #5925
### Fixed
- Honda CBR 600 cam decoder #5909

View File

@ -100,26 +100,29 @@ void configureFordST170(TriggerWaveform * s) {
s->addEventAngle(8 * total, TriggerValue::FALL);
}
void configureDaihatsu3cyl(TriggerWaveform * s) {
static void daihatsu(TriggerWaveform * s, int count) {
s->initialize(FOUR_STROKE_CAM_SENSOR, SyncEdge::RiseOnly);
int width = 10;
s->setTriggerSynchronizationGap(0.125);
s->addEventAngle(30 - width, TriggerValue::RISE);
s->addEventAngle(30, TriggerValue::FALL);
for (int i = 1;i<=count;i++) {
s->addEventAngle(s->getCycleDuration() / count * i - width, TriggerValue::RISE);
s->addEventAngle(s->getCycleDuration() / count * i, TriggerValue::FALL);
}
}
s->addEventAngle(s->getCycleDuration() / 3 - width, TriggerValue::RISE);
s->addEventAngle(s->getCycleDuration() / 3, TriggerValue::FALL);
void configureDaihatsu3cyl(TriggerWaveform * s) {
daihatsu(s, 3);
s->setTriggerSynchronizationGap(0.125);
}
s->addEventAngle(s->getCycleDuration() / 3 * 2 - width, TriggerValue::RISE);
s->addEventAngle(s->getCycleDuration() / 3 * 2, TriggerValue::FALL);
s->addEventAngle(s->getCycleDuration() - width, TriggerValue::RISE);
s->addEventAngle(s->getCycleDuration(), TriggerValue::FALL);
void configureDaihatsu4cyl(TriggerWaveform * s) {
daihatsu(s, 4);
s->setTriggerSynchronizationGap(0.17);
}
void configureBarra3plus1cam(TriggerWaveform *s) {

View File

@ -11,6 +11,7 @@ class TriggerWaveform;
void configureFiatIAQ_P8(TriggerWaveform * s);
void configureDaihatsu3cyl(TriggerWaveform * s);
void configureDaihatsu4cyl(TriggerWaveform * s);
void configureFordPip(TriggerWaveform * s);
void configureFordST170(TriggerWaveform * s);
void configureTriTach(TriggerWaveform * s);

View File

@ -579,10 +579,13 @@ void TriggerWaveform::initializeTriggerWaveform(operation_mode_e triggerOperatio
break;
case trigger_type_e::TT_DAIHATSU_3_CYL:
case trigger_type_e::TT_DAIHATSU_4_CYL:
configureDaihatsu3cyl(this);
break;
case trigger_type_e::TT_DAIHATSU_4_CYL:
configureDaihatsu4cyl(this);
break;
case trigger_type_e::TT_VVT_TOYOTA_3_TOOTH:
initializeSkippedToothTrigger(this, 3, 0, triggerOperationMode, SyncEdge::RiseOnly);
break;