Skip to content

Commit

Permalink
Trigger: "Single 60deg tooth before TDC" for Saruman, Sovek ignition …
Browse files Browse the repository at this point in the history
…triggers has been added
  • Loading branch information
Denys Sobchuk committed Jun 21, 2023
1 parent b3fed26 commit 19acfcc
Show file tree
Hide file tree
Showing 5 changed files with 22 additions and 3 deletions.
4 changes: 3 additions & 1 deletion firmware/controllers/algo/engine_types.h
Original file line number Diff line number Diff line change
Expand Up @@ -422,7 +422,9 @@ enum class trigger_type_e : uint32_t {
TT_GM_24x_2 = 74,
TT_UNUSED_75 = 75,
TT_MITSU_4G63_CRANK = 76,
TT_UNUSED_77 = 77,
/* pull-up'ed(inverted in): pull down 2x 30 deg before tdc on cam, till tdc.
e.g. Sovek, Saruman ignition blind type */
TT_60DEG_TOOTH = 77,
TT_UNUSED_78 = 78,

// do not forget to edit "#define trigger_type_e_enum" line in integration/rusefi_config.txt file to propogate new value to rusefi.ini TS project
Expand Down
9 changes: 9 additions & 0 deletions firmware/controllers/trigger/decoders/trigger_misc.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -171,3 +171,12 @@ void configureBenelli(TriggerWaveform *s) {
s->addEvent360(angle, TriggerValue::FALL);
}
}

void configure60degSingleTooth(TriggerWaveform *s) {
s->initialize(FOUR_STROKE_CRANK_SENSOR, SyncEdge::Rise);
s->addEvent360(300, TriggerValue::RISE);
s->addEvent360(360, TriggerValue::FALL);
s->tdcPosition = 60;
s->isSynchronizationNeeded = false;
s->useOnlyPrimaryForSync = true;
}
6 changes: 6 additions & 0 deletions firmware/controllers/trigger/decoders/trigger_misc.h
Original file line number Diff line number Diff line change
Expand Up @@ -17,3 +17,9 @@ void configureTriTach(TriggerWaveform * s);
// TT_VVT_BARRA_3_PLUS_1
void configureBarra3plus1cam(TriggerWaveform *s);
void configureBenelli(TriggerWaveform *s);

/**
* @brief Configure trigger as Sovek or Saruman ignition
* @param s Trigger waveform visitor to config
*/
void configure60degSingleTooth(TriggerWaveform *s);
4 changes: 3 additions & 1 deletion firmware/controllers/trigger/decoders/trigger_structure.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -634,9 +634,11 @@ void TriggerWaveform::initializeTriggerWaveform(operation_mode_e triggerOperatio
case trigger_type_e::TT_VVT_FORD_COYOTE:
configureFordCoyote(this);
break;
case trigger_type_e::TT_60DEG_TOOTH:
configure60degSingleTooth(this);
break;
case trigger_type_e::TT_UNUSED_11:
case trigger_type_e::TT_UNUSED_75:
case trigger_type_e::TT_UNUSED_77:
case trigger_type_e::TT_UNUSED_78:
case trigger_type_e::TT_MITSU_4G63_CAM:
initializeMitsubishi4g63Cam(this);
Expand Down
2 changes: 1 addition & 1 deletion firmware/integration/rusefi_config.txt
Original file line number Diff line number Diff line change
Expand Up @@ -547,7 +547,7 @@ adc_channel_e fuelLevelSensor;This is the processor pin that your fuel level sen
struct trigger_config_s @brief Trigger wheel(s) configuration

! 'INVALID' for TT_VVT_* wheels
#define trigger_type_e_enum "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "INVALID", "GM_7X", "Cooper R50", "Mazda SOHC 4", "60/2", "36/1", "Mercedes Two Segment", "trg11", "EZ30", "INVALID", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Single Tooth", "Dodge Ram 1+16", "60/2 VW", "Benelli Tre", "Dodge Stratus", "36_2_2_2", "Nissan Primera", "dev 2JZ 3/34 simulator", "Rover K", "GM 24x 5 degree", "Honda CBR 600", "Mitsubishi 4G92/93/94 Cam 29", "Honda CBR 600 custom", "3/1 skipped", "Dodge Neon 2003 crank", "Miata NB", "Mitsubishi 4G63 Cam 34", "INVALID", "Subaru 7+6", "Jeep 18-2-2-2", "12 tooth crank", "Dodge Neon 1995 crank only", "Jeep XJ 4 cyl", "FiatIAQ_P8", "Mazda Z5", "INVALID", "Renix 44-2-2", "Renix 66-2-2-2", "Honda K 12+1", "INVALID", "36/2", "Subaru SVX", "1+16", "Subaru 7 without 6", "INVALID", "TriTach", "GM 60/2/2/2", "Skoda Favorit", "Barra 3+1 Cam", "Kawa KX450F", "Nissan VQ35", "INVALID", "Nissan VQ30", "Nissan QR25", "Mitsubishi 3A92", "Subaru SVX Crank 1", "Subaru SVX Cam VVT", "Ford PIP", "Suzuki G13B", "Honda K 4+1", "Nissan MR18 Crank", "32/2", "36-2-1", "36-2-1-1", "INVALID", "INVALID", "GM 24x 3 degree", "trg75", "Mitsu 4G63 Crank", "trg77", "trg78", "trg79"
#define trigger_type_e_enum "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "INVALID", "GM_7X", "Cooper R50", "Mazda SOHC 4", "60/2", "36/1", "Mercedes Two Segment", "trg11", "EZ30", "INVALID", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Single Tooth", "Dodge Ram 1+16", "60/2 VW", "Benelli Tre", "Dodge Stratus", "36_2_2_2", "Nissan Primera", "dev 2JZ 3/34 simulator", "Rover K", "GM 24x 5 degree", "Honda CBR 600", "Mitsubishi 4G92/93/94 Cam 29", "Honda CBR 600 custom", "3/1 skipped", "Dodge Neon 2003 crank", "Miata NB", "Mitsubishi 4G63 Cam 34", "INVALID", "Subaru 7+6", "Jeep 18-2-2-2", "12 tooth crank", "Dodge Neon 1995 crank only", "Jeep XJ 4 cyl", "FiatIAQ_P8", "Mazda Z5", "INVALID", "Renix 44-2-2", "Renix 66-2-2-2", "Honda K 12+1", "INVALID", "36/2", "Subaru SVX", "1+16", "Subaru 7 without 6", "INVALID", "TriTach", "GM 60/2/2/2", "Skoda Favorit", "Barra 3+1 Cam", "Kawa KX450F", "Nissan VQ35", "INVALID", "Nissan VQ30", "Nissan QR25", "Mitsubishi 3A92", "Subaru SVX Crank 1", "Subaru SVX Cam VVT", "Ford PIP", "Suzuki G13B", "Honda K 4+1", "Nissan MR18 Crank", "32/2", "36-2-1", "36-2-1-1", "INVALID", "INVALID", "GM 24x 3 degree", "trg75", "Mitsu 4G63 Crank", "x2 30 Deg camshaft BTDC", "trg78", "trg79"

custom trigger_type_e 4 bits, U32, @OFFSET@, [0:6], @@trigger_type_e_enum@@
trigger_type_e type;https://github.com/rusefi/rusefi/wiki/All-Supported-Triggers\nset trigger_type X
Expand Down

0 comments on commit 19acfcc

Please sign in to comment.