diff --git a/firmware/config/boards/proteus/mapping.yaml b/firmware/config/boards/proteus/mapping.yaml index eda337cf8e..b16c02760f 100644 --- a/firmware/config/boards/proteus/mapping.yaml +++ b/firmware/config/boards/proteus/mapping.yaml @@ -1,43 +1,46 @@ # # proteus board -# https://github.com/mck1117/proteus/blob/master/readme_pinout.md +# https://github.com/rusefi/rusefi/wiki/Hardware-Proteus-Wiring-v03 # outputs: - GPIOD_7: "Lowside 1" - GPIOG_9: "Lowside 2" - GPIOG_10: "Lowside 3" - GPIOG_11: "Lowside 4" - GPIOG_12: "Lowside 5" - GPIOG_13: "Lowside 6" - GPIOG_14: "Lowside 7" - GPIOB_4: "Lowside 8" - GPIOB_5: "Lowside 9" - GPIOB_6: "Lowside 10" - GPIOB_7: "Lowside 11" - GPIOB_8: "Lowside 12" - GPIOB_9: "Lowside 13" - GPIOE_0: "Lowside 14" - GPIOE_1: "Lowside 15" - GPIOE_2: "Lowside 16" + GPIOD_7: "Lowside 1" # pin 3/black35 + GPIOG_9: "Lowside 2" # pin 15/black35 + GPIOG_10: "Lowside 3" # pin 4/black35 + GPIOG_11: "Lowside 4" # pin 16/black35 - GPIOD_4: "Ign 1" - GPIOD_3: "Ign 2" - GPIOC_9: "Ign 3" - GPIOC_8: "Ign 4" - GPIOC_7: "Ign 5" - GPIOG_8: "Ign 6" - GPIOG_7: "Ign 7" - GPIOG_6: "Ign 8" - GPIOG_5: "Ign 9" - GPIOG_4: "Ign 10" - GPIOG_3: "Ign 11" - GPIOG_2: "Ign 12" + GPIOG_12: "Lowside 5" # pin 5/black35 + GPIOG_13: "Lowside 6" # pin 6/black35 + GPIOG_14: "Lowside 7" # pin 7/black35 + GPIOB_4: "Lowside 8" # pin 19/black35 - GPIOA_9: "Highside 1" - GPIOA_8: "Highside 2" - GPIOD_15: "Highside 3" - GPIOD_14: "Highside 4" + GPIOB_5: "Lowside 9" # pin 8/black35 + GPIOB_6: "Lowside 10" # pin 20/black35 + GPIOB_7: "Lowside 11" # pin 9/black35 + GPIOB_8: "Lowside 12" # pin 21/black35 + + GPIOB_9: "Lowside 13" # pin 10/black35 + GPIOE_0: "Lowside 14" # pin 11/black35 + GPIOE_1: "Lowside 15" # pin 12/black35 + GPIOE_2: "Lowside 16" # pin 23/black35 + + GPIOD_4: "Ign 1" # pin 35/black35 + GPIOD_3: "Ign 2" # pin 34/black35 + GPIOC_9: "Ign 3" # pin 22/black35 + GPIOC_8: "Ign 4" # pin 33/black35 + GPIOC_7: "Ign 5" # pin 32/black35 + GPIOG_8: "Ign 6" # pin 31/black35 + GPIOG_7: "Ign 7" # pin 30/black35 + GPIOG_6: "Ign 8" # pin 29/black35 + GPIOG_5: "Ign 9" # pin 28/black35 + GPIOG_4: "Ign 10" # pin 27/black35 + GPIOG_3: "Ign 11" # pin 26/black35 + GPIOG_2: "Ign 12" # pin 25/black35 + + GPIOA_9: "Highside 1" # pin 2/black35 + GPIOA_8: "Highside 2" # pin 1/black35 + GPIOD_15: "Highside 3" # pin 13/black35 + GPIOD_14: "Highside 4" # pin 14/black35 event_inputs: GPIOC_6: "Digital 1" diff --git a/firmware/config/engines/custom_engine.cpp b/firmware/config/engines/custom_engine.cpp index 5de04d26d7..e5e46a3e4c 100644 --- a/firmware/config/engines/custom_engine.cpp +++ b/firmware/config/engines/custom_engine.cpp @@ -510,10 +510,42 @@ void mreBoardOldTest(DECLARE_CONFIG_PARAMETER_SIGNATURE) { } #if HW_PROTEUS +/** + * PROTEUS_QC_TEST_BOARD + * set engine_type 42 + */ void proteusBoardTest(DECLARE_CONFIG_PARAMETER_SIGNATURE) { engineConfiguration->specs.cylindersCount = 12; engineConfiguration->specs.firingOrder = FO_1_2_3_4_5_6_7_8_9_10_11_12; + engineConfiguration->injectionPins[0] = GPIOD_7; // "Lowside 1" + engineConfiguration->injectionPins[1] = GPIOG_9;// "Lowside 2" + engineConfiguration->injectionPins[2] = GPIOG_10;// "Lowside 3" + engineConfiguration->injectionPins[3] = GPIOG_11;// "Lowside 4" + engineConfiguration->injectionPins[4] = GPIOG_12;// "Lowside 5" + engineConfiguration->injectionPins[5] = GPIOG_13;// "Lowside 6" + engineConfiguration->injectionPins[6] = GPIOG_14;// "Lowside 7" + engineConfiguration->injectionPins[7] = GPIOB_4;// "Lowside 8" + engineConfiguration->injectionPins[8] = GPIOB_5;// "Lowside 9" + engineConfiguration->injectionPins[9] = GPIOB_6;// "Lowside 10" + engineConfiguration->injectionPins[10] = GPIOB_7;// "Lowside 11" + engineConfiguration->injectionPins[11] = GPIOB_8;// "Lowside 12" + + + engineConfiguration->ignitionPins[0] = GPIOD_4;// "Ign 1" + engineConfiguration->ignitionPins[1] = GPIOD_3;// "Ign 2" + engineConfiguration->ignitionPins[2] = GPIOC_9;// "Ign 3" + engineConfiguration->ignitionPins[3] = GPIOC_8;// "Ign 4" + engineConfiguration->ignitionPins[4] = GPIOC_7;// "Ign 5" + engineConfiguration->ignitionPins[5] = GPIOG_8;// "Ign 6" + engineConfiguration->ignitionPins[6] = GPIOG_7;// "Ign 7" + engineConfiguration->ignitionPins[7] = GPIOG_6;// "Ign 8" + engineConfiguration->ignitionPins[8] = GPIOG_5;// "Ign 9" + engineConfiguration->ignitionPins[9] = GPIOG_4;// "Ign 10" + engineConfiguration->ignitionPins[10] = GPIOG_3;// "Ign 11" + engineConfiguration->ignitionPins[11] = GPIOG_2;// "Ign 12" + + setProteusHitachiEtbDefaults(PASS_CONFIG_PARAMETER_SIGNATURE); } #endif // HW_PROTEUS diff --git a/firmware/controllers/algo/engine_configuration.cpp b/firmware/controllers/algo/engine_configuration.cpp index 38b8067f8b..03aef92ca3 100644 --- a/firmware/controllers/algo/engine_configuration.cpp +++ b/firmware/controllers/algo/engine_configuration.cpp @@ -1215,6 +1215,8 @@ void resetConfigurationExt(Logging * logger, configuration_callback_t boardCallb #endif // HW_MICRO_RUSEFI #if HW_PROTEUS case PROTEUS_QC_TEST_BOARD: + proteusBoardTest(PASS_CONFIG_PARAMETER_SIGNATURE); + break; case BMW_M73_PROTEUS: setEngineBMW_M73_Proteus(PASS_CONFIG_PARAMETER_SIGNATURE); break;