From 8a881ea9a2873684e3f23bc850cf02444769fdc1 Mon Sep 17 00:00:00 2001 From: rusEfi Date: Tue, 16 Dec 2014 20:05:03 -0600 Subject: [PATCH] auto-sync --- .../controllers/trigger/trigger_chrysler.cpp | 3 ++- .../controllers/trigger/trigger_chrysler.h | 2 ++ .../controllers/trigger/trigger_mazda.cpp | 27 ++++++++++--------- firmware/controllers/trigger/trigger_mazda.h | 2 ++ unit_tests/test_trigger_decoder.cpp | 8 +++--- 5 files changed, 26 insertions(+), 16 deletions(-) diff --git a/firmware/controllers/trigger/trigger_chrysler.cpp b/firmware/controllers/trigger/trigger_chrysler.cpp index 108d6100a2..563899f9d7 100644 --- a/firmware/controllers/trigger/trigger_chrysler.cpp +++ b/firmware/controllers/trigger/trigger_chrysler.cpp @@ -17,7 +17,8 @@ void configureNeon2003TriggerShape(trigger_shape_s *s) { s->gapBothDirections = true; - setTriggerSynchronizationGap2(s, 2.5, 4.5); + // are these non-default values really needed here now that the gap is finally precise? + setTriggerSynchronizationGap2(s, 0.8 * CHRYSLER_NGC_GAP, 1.37 * CHRYSLER_NGC_GAP); s->addEvent(base + 26, T_PRIMARY, TV_HIGH); s->addEvent(base + 62, T_PRIMARY, TV_LOW); diff --git a/firmware/controllers/trigger/trigger_chrysler.h b/firmware/controllers/trigger/trigger_chrysler.h index eec78115dd..72cae8a809 100644 --- a/firmware/controllers/trigger/trigger_chrysler.h +++ b/firmware/controllers/trigger/trigger_chrysler.h @@ -10,6 +10,8 @@ #include "trigger_structure.h" +#define CHRYSLER_NGC_GAP 2.9135 + void configureNeon1995TriggerShape(trigger_shape_s *s); void configureNeon2003TriggerShape(trigger_shape_s *s); diff --git a/firmware/controllers/trigger/trigger_mazda.cpp b/firmware/controllers/trigger/trigger_mazda.cpp index 9b7e08a9a2..a2e8308cd4 100644 --- a/firmware/controllers/trigger/trigger_mazda.cpp +++ b/firmware/controllers/trigger/trigger_mazda.cpp @@ -22,25 +22,28 @@ void initializeMazdaMiataNaShape(trigger_shape_s *s) { s->reset(FOUR_STROKE_CAM_SENSOR); - setTriggerSynchronizationGap(s, 1.68f); + setTriggerSynchronizationGap(s, MIATA_NA_GAP); s->useRiseEdge = false; s->isSynchronizationNeeded = true; - s->addEvent(49.15363636, T_SECONDARY, TV_HIGH); - s->addEvent(114.1581818, T_SECONDARY, TV_LOW); + /** + * http://rusefi.com/forum/viewtopic.php?f=3&t=729&p=12983#p12983 + */ + s->addEvent(52.960405, T_SECONDARY, TV_HIGH); + s->addEvent(122.635956, T_SECONDARY, TV_LOW); - s->addEvent(213.0222222, T_PRIMARY, TV_HIGH); - s->addEvent(225.759, T_SECONDARY, TV_HIGH); - s->addEvent(279.54375, T_PRIMARY, TV_LOW); - s->addEvent(294.786, T_SECONDARY, TV_LOW); + s->addEvent(216.897031, T_PRIMARY, TV_HIGH); + s->addEvent(232.640068, T_SECONDARY, TV_HIGH); + s->addEvent(288.819688, T_PRIMARY, TV_LOW); + s->addEvent(302.646323, T_SECONDARY, TV_LOW); - s->addEvent(410.318, T_SECONDARY, TV_HIGH); - s->addEvent(477.6911111, T_SECONDARY, TV_LOW); + s->addEvent(412.448056, T_SECONDARY, TV_HIGH); + s->addEvent(482.816719, T_SECONDARY, TV_LOW); - s->addEvent(576.4975, T_PRIMARY, TV_HIGH); - s->addEvent(590.39625, T_SECONDARY, TV_HIGH); - s->addEvent(656.5125, T_SECONDARY, TV_LOW); + s->addEvent(577.035495, T_PRIMARY, TV_HIGH); + s->addEvent(592.878113, T_SECONDARY, TV_HIGH); + s->addEvent(662.899708, T_SECONDARY, TV_LOW); s->addEvent(720.0f, T_PRIMARY, TV_LOW); } diff --git a/firmware/controllers/trigger/trigger_mazda.h b/firmware/controllers/trigger/trigger_mazda.h index 9d023cd58d..b2f6d1a8f2 100644 --- a/firmware/controllers/trigger/trigger_mazda.h +++ b/firmware/controllers/trigger/trigger_mazda.h @@ -12,6 +12,8 @@ #include "engine_configuration.h" #include "ec2.h" +#define MIATA_NA_GAP 1.4930f + void initializeMazdaMiataNaShape(trigger_shape_s *s); void initializeMazdaMiataNbShape(trigger_shape_s *s); void configureMazdaProtegeLx(trigger_shape_s *s); diff --git a/unit_tests/test_trigger_decoder.cpp b/unit_tests/test_trigger_decoder.cpp index 5400dec315..5b602743b5 100644 --- a/unit_tests/test_trigger_decoder.cpp +++ b/unit_tests/test_trigger_decoder.cpp @@ -18,6 +18,8 @@ #include "rpm_calculator.h" #include "event_queue.h" #include "algo.h" +#include "trigger_mazda.h" +#include "trigger_chrysler.h" #include "trigger_central.h" #include "main_trigger_callback.h" @@ -528,10 +530,10 @@ void testTriggerDecoder(void) { testTriggerDecoder2("testMitsu", MITSU_4G93, 3, 0.3750, 0.3889); // testTriggerDecoder2("miata 1990", MIATA_1990, 0, 0.6280, 0.0); - testTriggerDecoder3("miata 1994", MIATA_1994_DEVIATOR, 11, 0.2917, 0.3716, 1.5757); - testTriggerDecoder2("citroen", CITROEN_TU3JP, 0, 0.4833, 0.0); + testTriggerDecoder3("miata 1994", MIATA_1994_DEVIATOR, 11, 0.2985, 0.3890, MIATA_NA_GAP); + testTriggerDecoder3("citroen", CITROEN_TU3JP, 0, 0.4833, 0.0, 2.9994); - testTriggerDecoder3("neon NGC", DODGE_NEON_2003, 5, 0.4861, 0.0, 2.9134); + testTriggerDecoder3("neon NGC", DODGE_NEON_2003, 5, 0.4861, 0.0, CHRYSLER_NGC_GAP); testMazda323();