This commit is contained in:
rusefi 2018-02-26 22:24:48 -05:00
parent 1f3549bb31
commit 94371fedba
8 changed files with 75 additions and 50 deletions

View File

@ -146,6 +146,8 @@ case TT_60_2_VW:
return "TT_60_2_VW";
case TT_DODGE_NEON_1995:
return "TT_DODGE_NEON_1995";
case TT_DODGE_NEON_1995_ONLY_CRANK:
return "TT_DODGE_NEON_1995_ONLY_CRANK";
case TT_DODGE_NEON_2003_CAM:
return "TT_DODGE_NEON_2003_CAM";
case TT_DODGE_NEON_2003_CRANK:

View File

@ -275,7 +275,9 @@ typedef enum {
*/
TT_NISSAN_SR20VE_360 = 38,
TT_UNUSED = 39, // this is used if we want to iterate over all trigger types
TT_DODGE_NEON_1995_ONLY_CRANK = 39,
TT_UNUSED = 40, // this is used if we want to iterate over all trigger types
Force_4b_trigger_type = ENUM_32_BITS,
} trigger_type_e;

View File

@ -64,7 +64,7 @@
#define pin_output_mode_e_enum "default", "default inverted", "open collector", "open collector inverted"
#define adc_channel_e_enum "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PB0", "PB1", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "Disabled", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
#define engine_load_mode_e_enum "MAF", "Alpha-N/TPS", "MAP", "SPEED DENSITY"
#define trigger_type_e_enum "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "Miata NB", "GM_7X", "Cooper R50", "Mazda SOHC 4", "60/2", "36/1", "Honda 4+24+1", "Mitsubishi", "Honda 4+24", "Honda 1+4+24", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "1+60/2", "Single Tooth", "Dodge Ram 1+16", "60/2 VW", "Honda 1+24", "Dodge Stratus", "36_2_2_2", "Nissan Primera", "2JZ", "Rover K", "GM LS 24", "Honda CBR 600", "2JZ_1_12", "Honda CBR 600 custom", "3/1 skipped" , "Dodge Neon 2003 crank", "Miata VVT", "trg34", "trg35", "Subaru 7+6", "Jeep 18-2-2-2", "WIP", "trg39", "trg40", "trg41", "trg42", "INVALID"
#define trigger_type_e_enum "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "Miata NB", "GM_7X", "Cooper R50", "Mazda SOHC 4", "60/2", "36/1", "Honda 4+24+1", "Mitsubishi", "Honda 4+24", "Honda 1+4+24", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "1+60/2", "Single Tooth", "Dodge Ram 1+16", "60/2 VW", "Honda 1+24", "Dodge Stratus", "36_2_2_2", "Nissan Primera", "2JZ", "Rover K", "GM LS 24", "Honda CBR 600", "2JZ_1_12", "Honda CBR 600 custom", "3/1 skipped" , "Dodge Neon 2003 crank", "Miata VVT", "trg34", "trg35", "Subaru 7+6", "Jeep 18-2-2-2", "WIP", "Dodge Neon 1995 crank only", "trg40", "trg41", "trg42", "INVALID"
#define sensor_chart_e_enum "none", "trigger", "MAP", "RPM ACCEL", "DETAILED RPM", "INVALID"
#define ego_sensor_e_enum "BPSX", "Innovate", "14Point7", "Narrow", "PLX", "Custom"
#define pin_mode_e_enum "default", "INVALID", "INVALID", "INVALID", "opendrain", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "mode12", "mode13", "mode14", "mode15", "mode16", "mode17", "mode18", "mode19", "mode20", "mode21", "mode22", "mode23", "mode24", "mode25", "mode26", "mode27", "mode28", "mode29", "mode30", "mode31", "PULLUP", "mode33", "mode34", "mode35"

View File

@ -390,6 +390,68 @@ void configureDodgeStratusTriggerShape(TriggerShape *s DECLARE_ENGINE_PARAMETER_
s->addEvent2(angle + w, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
}
static void configureNeon1995TriggerShapeCommon(bool withCam, TriggerShape *s DECLARE_ENGINE_PARAMETER_SUFFIX) {
trigger_wheel_e crank = withCam ? T_SECONDARY : T_PRIMARY;
// voodoo magic - we always need 720 at the end
int base = 720 - 560;
s->addEvent2(base - 720 + 600, crank, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(base - 720 + 604, crank, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(base - 720 + 616, crank, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(base - 720 + 620, crank, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(base - 720 + 643, crank, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(base - 720 + 648, crank, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(base - 720 + 671, crank, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(base - 720 + 676, crank, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
if (withCam)
s->addEvent2(base + 0, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(base + 20, crank, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(base + 60, crank, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(base + 75, crank, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(base + 79, crank, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(base + 101, crank, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(base + 106, crank, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(base + 130, crank, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(base + 135, crank, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
if (withCam)
s->addEvent2(base + 200, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX); // width = 150
s->addEvent2(base + 236, crank, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(base + 239, crank, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(base + 250, crank, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(base + 255, crank, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(base + 277, crank, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(base + 282, crank, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(base + 305, crank, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(base + 310, crank, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(base + 374, crank, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
if (withCam)
s->addEvent2(base + 395, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX); // width =
s->addEvent2(base + 418, crank, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(base + 436, crank, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(base + 441, crank, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(base + 463, crank, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(base + 468, crank, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(base + 492, crank, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(base + 497, crank, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
if (withCam)
s->addEvent2(base + 560, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX); // width =
}
void configureNeon1995TriggerShapeOnlyCrank(TriggerShape *s DECLARE_ENGINE_PARAMETER_SUFFIX) {
configureNeon1995TriggerShapeCommon(false, s PASS_ENGINE_PARAMETER_SUFFIX);
}
void configureNeon1995TriggerShape(TriggerShape *s DECLARE_ENGINE_PARAMETER_SUFFIX) {
s->initialize(FOUR_STROKE_CAM_SENSOR, true);
@ -397,55 +459,11 @@ void configureNeon1995TriggerShape(TriggerShape *s DECLARE_ENGINE_PARAMETER_SUFF
s->useRiseEdge = false;
// voodoo magic - we always need 720 at the end
int base = 720 - 560;
s->initialState[T_PRIMARY] = 1;
s->addEvent2(base - 720 + 600, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(base - 720 + 604, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(base - 720 + 616, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(base - 720 + 620, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(base - 720 + 643, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(base - 720 + 648, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(base - 720 + 671, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(base - 720 + 676, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
configureNeon1995TriggerShapeCommon(true, s PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(base + 0, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(base + 20, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(base + 60, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(base + 75, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(base + 79, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(base + 101, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(base + 106, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(base + 130, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(base + 135, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(base + 200, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX); // width = 150
s->addEvent2(base + 236, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(base + 239, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(base + 250, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(base + 255, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(base + 277, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(base + 282, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(base + 305, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(base + 310, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(base + 374, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(base + 395, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX); // width =
s->addEvent2(base + 418, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(base + 436, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(base + 441, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(base + 463, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(base + 468, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(base + 492, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(base + 497, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER_SUFFIX);
s->addEvent2(base + 560, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER_SUFFIX); // width =
s->useOnlyPrimaryForSync = true;
}

View File

@ -14,6 +14,8 @@
#define CHRYSLER_NGC6_GAP 1.5
void configureNeon1995TriggerShape(TriggerShape *s DECLARE_ENGINE_PARAMETER_SUFFIX);
void configureNeon1995TriggerShapeOnlyCrank(TriggerShape *s DECLARE_ENGINE_PARAMETER_SUFFIX);
void configureNeon2003TriggerShapeCam(TriggerShape *s DECLARE_ENGINE_PARAMETER_SUFFIX);
void configureNeon2003TriggerShapeCrank(TriggerShape *s DECLARE_ENGINE_PARAMETER_SUFFIX);
void initDodgeRam(TriggerShape *s DECLARE_ENGINE_PARAMETER_SUFFIX);

View File

@ -475,6 +475,7 @@ void TriggerShape::initializeTriggerShape(Logging *logger DECLARE_ENGINE_PARAMET
break;
case TT_DODGE_NEON_1995:
case TT_DODGE_NEON_1995_ONLY_CRANK:
configureNeon1995TriggerShape(this PASS_ENGINE_PARAMETER_SUFFIX);
break;

View File

@ -389,7 +389,7 @@ struct trigger_config_s @brief Trigger wheel(s) configuration
custom bool32_t 4 bits, U32, @OFFSET@, [0:0], "false", "true"
#define trigger_type_e_enum "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "Miata NB", "GM_7X", "Cooper R50", "Mazda SOHC 4", "60/2", "36/1", "Honda 4+24+1", "Mitsubishi", "Honda 4+24", "Honda 1+4+24", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "1+60/2", "Single Tooth", "Dodge Ram 1+16", "60/2 VW", "Honda 1+24", "Dodge Stratus", "36_2_2_2", "Nissan Primera", "2JZ", "Rover K", "GM LS 24", "Honda CBR 600", "2JZ_1_12", "Honda CBR 600 custom", "3/1 skipped" , "Dodge Neon 2003 crank", "Miata VVT", "trg34", "trg35", "Subaru 7+6", "Jeep 18-2-2-2", "WIP", "trg39", "trg40", "trg41", "trg42", "INVALID"
#define trigger_type_e_enum "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "Miata NB", "GM_7X", "Cooper R50", "Mazda SOHC 4", "60/2", "36/1", "Honda 4+24+1", "Mitsubishi", "Honda 4+24", "Honda 1+4+24", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "1+60/2", "Single Tooth", "Dodge Ram 1+16", "60/2 VW", "Honda 1+24", "Dodge Stratus", "36_2_2_2", "Nissan Primera", "2JZ", "Rover K", "GM LS 24", "Honda CBR 600", "2JZ_1_12", "Honda CBR 600 custom", "3/1 skipped" , "Dodge Neon 2003 crank", "Miata VVT", "trg34", "trg35", "Subaru 7+6", "Jeep 18-2-2-2", "WIP", "Dodge Neon 1995 crank only", "trg40", "trg41", "trg42", "INVALID"
custom trigger_type_e 4 bits, U32, @OFFSET@, [0:5], @@trigger_type_e_enum@@
trigger_type_e type;set trigger_type X

View File

@ -63,7 +63,7 @@ enable2ndByteCanID = false
; see PAGE_0_SIZE in C source code
; CONFIG_DEFINITION_START
; this section was generated automatically by ConfigDefinition.jar based on rusefi_config.txt Sun Feb 25 21:14:02 EST 2018
; this section was generated automatically by ConfigDefinition.jar based on rusefi_config.txt Mon Feb 26 22:17:31 EST 2018
pageSize = 20000
page = 1
@ -175,7 +175,7 @@ page = 1
tpsAdcChannel = bits, U32, 520, [0:4] "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PB0", "PB1", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "Disabled", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
;skipping overrideCrankingIgnition offset 524
sensorChartFrequency = scalar, S32, 528, "index", 1, 0, 0, 300, 0 ; size 4
trigger_type = bits, U32, 532, [0:5], "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "Miata NB", "GM_7X", "Cooper R50", "Mazda SOHC 4", "60/2", "36/1", "Honda 4+24+1", "Mitsubishi", "Honda 4+24", "Honda 1+4+24", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "1+60/2", "Single Tooth", "Dodge Ram 1+16", "60/2 VW", "Honda 1+24", "Dodge Stratus", "36_2_2_2", "Nissan Primera", "2JZ", "Rover K", "GM LS 24", "Honda CBR 600", "2JZ_1_12", "Honda CBR 600 custom", "3/1 skipped" , "Dodge Neon 2003 crank", "Miata VVT", "trg34", "trg35", "Subaru 7+6", "Jeep 18-2-2-2", "WIP", "trg39", "trg40", "trg41", "trg42", "INVALID"
trigger_type = bits, U32, 532, [0:5], "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "Miata NB", "GM_7X", "Cooper R50", "Mazda SOHC 4", "60/2", "36/1", "Honda 4+24+1", "Mitsubishi", "Honda 4+24", "Honda 1+4+24", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "1+60/2", "Single Tooth", "Dodge Ram 1+16", "60/2 VW", "Honda 1+24", "Dodge Stratus", "36_2_2_2", "Nissan Primera", "2JZ", "Rover K", "GM LS 24", "Honda CBR 600", "2JZ_1_12", "Honda CBR 600 custom", "3/1 skipped" , "Dodge Neon 2003 crank", "Miata VVT", "trg34", "trg35", "Subaru 7+6", "Jeep 18-2-2-2", "WIP", "Dodge Neon 1995 crank only", "trg40", "trg41", "trg42", "INVALID"
trigger_unusedCustomIsSynchronizationNeeded= bits, U32, 536, [0:0], "false", "true"
trigger_unusedCustomNeedSecondTriggerInput= bits, U32, 536, [1:1], "false", "true"
trigger_useOnlyFirstChannel= bits, U32, 536, [2:2], "false", "true"