diff --git a/firmware/controllers/algo/firing_order.h b/firmware/controllers/algo/firing_order.h index 68232e9bc2..50d4c9bd4e 100644 --- a/firmware/controllers/algo/firing_order.h +++ b/firmware/controllers/algo/firing_order.h @@ -47,6 +47,7 @@ typedef enum { FO_1_3_7_2_6_5_4_8 = 20, // Ford 5.0 HO and 351W FO_1_2_3_4_5_6_7_8 = 25, // linearly incrementing, for V8 testing FO_1_5_4_8_6_3_7_2 = 26, // Audi 4.2 40v V8 + FO_1_8_7_3_6_5_4_2 = 28, // VH41DE (Japaneese Y32 Variant) // 9 cylinder - for instance radial :) // PS: Matt says that 9cyl is actually 1-3-5-7-9-2-4-6-8 or 1-8-6-4-2-9-7-5-3 for reverse rotation @@ -66,7 +67,7 @@ typedef enum { // unfortunately not supported by default firmware because MAX_CYLINDER_COUNT=12 by default FO_1_14_9_4_7_12_15_6_13_8_3_16_11_2_5_10 = 22, // WR16 - // max used = 27 + // max used = 28 Force_4b_firing_order = ENUM_32_BITS, } firing_order_e; diff --git a/firmware/controllers/math/engine_math.cpp b/firmware/controllers/math/engine_math.cpp index 1a285b4334..c87f6cde2c 100644 --- a/firmware/controllers/math/engine_math.cpp +++ b/firmware/controllers/math/engine_math.cpp @@ -131,6 +131,7 @@ static const int order_1_2_7_8_4_5_6_3[] = { 1, 2, 7, 8, 4, 5, 6, 3 }; static const int order_1_3_7_2_6_5_4_8[] = { 1, 3, 7, 2, 6, 5, 4, 8 }; static const int order_1_2_3_4_5_6_7_8[] = { 1, 2, 3, 4, 5, 6, 7, 8 }; static const int order_1_5_4_8_6_3_7_2[] = { 1, 5, 4, 8, 6, 3, 7, 2 }; +static const int order_1_8_7_3_6_5_4_2[] = { 1, 8, 7, 3, 6, 5, 4, 2 }; // 9 cylinder static const int order_1_2_3_4_5_6_7_8_9[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9 }; @@ -185,6 +186,7 @@ static int getFiringOrderLength(DECLARE_ENGINE_PARAMETER_SIGNATURE) { case FO_1_3_7_2_6_5_4_8: case FO_1_2_3_4_5_6_7_8: case FO_1_5_4_8_6_3_7_2: + case FO_1_8_7_3_6_5_4_2: return 8; // 9 cylinder radial @@ -264,6 +266,9 @@ static const int *getFiringOrderTable(DECLARE_ENGINE_PARAMETER_SIGNATURE) return order_1_2_3_4_5_6_7_8; case FO_1_5_4_8_6_3_7_2: return order_1_5_4_8_6_3_7_2; + case FO_1_8_7_3_6_5_4_2: + return order_1_8_7_3_6_5_4_2; + // 9 cylinder case FO_1_2_3_4_5_6_7_8_9: diff --git a/firmware/tunerstudio/rusefi.input b/firmware/tunerstudio/rusefi.input index 4db25a3877..420cb6d98d 100644 --- a/firmware/tunerstudio/rusefi.input +++ b/firmware/tunerstudio/rusefi.input @@ -3730,4 +3730,4 @@ cmd_set_engine_type_default = "@@TS_IO_TEST_COMMAND_char@@\x00\x31\x00\x00" addTool = afrTableGenerator, "AFR Table Generator", afrTableTbl #endif -; poke +; poke3