mirror of https://github.com/rusefi/rusefi.git
Trigger: "Single 60deg tooth before TDC" for Saruman, Sovek ignition (#5347)
* Trigger: "Single 60deg tooth before TDC" for Saruman, Sovek ignition triggers has been added * Cosmetic: added usefull notions from https://github.com/rusefi/rusefi/pull/5347 --------- Co-authored-by: Denys Sobchuk <d.sobchuk@perenio.com>
This commit is contained in:
parent
74e25c94a5
commit
087a1c2ccd
|
@ -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
|
||||
|
|
|
@ -171,3 +171,27 @@ void configureBenelli(TriggerWaveform *s) {
|
|||
s->addEvent360(angle, TriggerValue::FALL);
|
||||
}
|
||||
}
|
||||
|
||||
void configure60degSingleTooth(TriggerWaveform *s) {
|
||||
/** @todo
|
||||
* My approach was to utilize ::Both especially for single
|
||||
* tooth and manual kikstarter, to be ready on both sides of blind.
|
||||
* But unfortuneally, my experiments show me the Trigger can't
|
||||
* become syncronized by 'last' and folowed 'first' events only.
|
||||
* Also I observe phase-aligment mehanism is trying to consume a
|
||||
* longer side of trigger as latest before TDC.
|
||||
* I wish to setup SyncEdge::Both for my TT_60DEG_TOOTH after
|
||||
* this case of scenario become work well. For now, ::Rise work
|
||||
* well for my 60 degree trigger and both edges phase sync work
|
||||
* as mush as expected for my engine startup. */
|
||||
|
||||
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;
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -551,6 +551,9 @@ void TriggerWaveform::initializeTriggerWaveform(operation_mode_e triggerOperatio
|
|||
break;
|
||||
|
||||
case trigger_type_e::TT_ONE:
|
||||
/** @note TT_ONE setup events as 180 and 360 degrees. It uses SyncEdge::Rise
|
||||
* for additionaly phase align on falling edge and will not work with non-
|
||||
* symmetrical blind type where open and closed sections are not qual */
|
||||
initializeSkippedToothTrigger(this, 1, 0, triggerOperationMode, SyncEdge::Rise);
|
||||
break;
|
||||
|
||||
|
@ -634,9 +637,17 @@ 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:
|
||||
/** @note
|
||||
* Have a something like TT_ONE_PHASED trigger with
|
||||
* externally setuped blind width will be a good
|
||||
* approach to utilize ::Rise(and::Both in future)
|
||||
* with both edges phase-sync, but to stay simple I suggest
|
||||
* just to use another enum for each trigger type. */
|
||||
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);
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue