new 4 cylinder firing order!

This commit is contained in:
rusefi 2019-08-15 19:36:16 -04:00
parent 1a1fe77ff8
commit 0102f07d77
3 changed files with 7 additions and 1 deletions

View File

@ -24,6 +24,7 @@ typedef enum {
FO_1_3_4_2 = 1, // typical inline 4
FO_1_2_4_3 = 2,
FO_1_3_2_4 = 3, // for example horizontally opposed engine
FO_1_4_3_2 = 17, // for example VW aircooled boxer engine
// 5 cylinder
FO_1_2_4_5_3 = 6,
@ -46,7 +47,7 @@ typedef enum {
FO_1_7_5_11_3_9_6_12_2_8_4_10 = 15, // bmw M70 etc
FO_1_7_4_10_2_8_6_12_3_9_5_11 = 16, // lamborghini, typical rusEfi use-case
// max used = 15
// max used = 18
Force_4b_firing_order = ENUM_32_BITS,
} firing_order_e;

View File

@ -273,6 +273,7 @@ static const int order_1_2_3[] = {1, 2, 3};
static const int order_1_THEN_3_THEN_4_THEN2[] = { 1, 3, 4, 2 };
static const int order_1_THEN_2_THEN_4_THEN3[] = { 1, 2, 4, 3 };
static const int order_1_THEN_3_THEN_2_THEN4[] = { 1, 3, 2, 4 };
static const int order_1_THEN_4_THEN_3_THEN2[] = { 1, 4, 3, 2 };
// 5 cylinder
static const int order_1_2_4_5_3[] = {1, 2, 4, 5, 3};
@ -311,6 +312,7 @@ static int getFiringOrderLength(DECLARE_ENGINE_PARAMETER_SIGNATURE) {
case FO_1_3_4_2:
case FO_1_2_4_3:
case FO_1_3_2_4:
case FO_1_4_3_2:
return 4;
// 5 cylinder
case FO_1_2_4_5_3:
@ -384,6 +386,8 @@ int getCylinderId(int index DECLARE_ENGINE_PARAMETER_SUFFIX) {
return order_1_THEN_2_THEN_4_THEN3[index];
case FO_1_3_2_4:
return order_1_THEN_3_THEN_2_THEN4[index];
case FO_1_4_3_2:
return order_1_THEN_4_THEN_3_THEN2[index];
// 5 cylinder
case FO_1_2_4_5_3:
return order_1_2_4_5_3[index];

View File

@ -1390,6 +1390,7 @@ cmd_set_engine_type_default = "w\x00\x31\x00\x00"
dialog = ignitionOutputs, "Ignition Outputs"
field = "Ignition Pin Mode", ignitionPinMode, {isIgnitionEnabled == 1}
field = "Ignition Pin 1", ignitionPins1, {isIgnitionEnabled == 1}
; I think this magic was generated by java somewhere, but not sure where?
field = "Ignition Pin 2", ignitionPins2, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount > 1) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 2) || (firingOrder == 7) || (firingOrder == 9) || (firingOrder == 11) || (firingOrder == 12)))}
field = "Ignition Pin 3", ignitionPins3, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount > 2) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 1) || (firingOrder == 3) || (firingOrder == 4) || (firingOrder == 5) || (firingOrder == 9)))}
field = "Ignition Pin 4", ignitionPins4, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount > 3) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 5) || (firingOrder == 7) || (firingOrder == 12)))}