diff --git a/firmware/config/engines/dodge_neon.cpp b/firmware/config/engines/dodge_neon.cpp index 3eecaf0eda..ef679eb5e7 100644 --- a/firmware/config/engines/dodge_neon.cpp +++ b/firmware/config/engines/dodge_neon.cpp @@ -19,6 +19,7 @@ #include "engine_configuration.h" #include "thermistors.h" #include "engine_math.h" +#include "le_functions.h" // setFrankenso_01_LCD #include "honda_accord.h" @@ -273,7 +274,8 @@ void setDodgeNeonNGCEngineConfiguration(engine_configuration_s *engineConfigurat */ engineConfiguration->cltAdcChannel = EFI_ADC_12; - //setFsio(engineConfiguration, 0, GPIO) + setFsioExt(engineConfiguration, 0, GPIOE_10, "0.6", 400); + } #endif /* EFI_SUPPORT_DODGE_NEON */ diff --git a/firmware/controllers/core/le_functions.cpp b/firmware/controllers/core/le_functions.cpp index 515439e5b4..f75ca0f93c 100644 --- a/firmware/controllers/core/le_functions.cpp +++ b/firmware/controllers/core/le_functions.cpp @@ -57,9 +57,14 @@ float getLEValue(Engine *engine, calc_stack_t *s, le_action_e action) { } #endif -void setFsio(engine_configuration_s *engineConfiguration, int index, brain_pin_e pin, const char * exp) { +void setFsioExt(engine_configuration_s *engineConfiguration, int index, brain_pin_e pin, const char * exp, int freq) { board_configuration_s *boardConfiguration = &engineConfiguration->bc; boardConfiguration->fsioPins[index] = pin; strcpy(boardConfiguration->le_formulas[index], exp); + boardConfiguration->fsioFrequency[index] = freq; +} + +void setFsio(engine_configuration_s *engineConfiguration, int index, brain_pin_e pin, const char * exp) { + setFsioExt(engineConfiguration, index, pin, exp, 0); } diff --git a/firmware/controllers/core/le_functions.h b/firmware/controllers/core/le_functions.h index 0239d42faa..42f410c1bb 100644 --- a/firmware/controllers/core/le_functions.h +++ b/firmware/controllers/core/le_functions.h @@ -30,5 +30,6 @@ float getLEValue(Engine *engine, calc_stack_t *s, le_action_e action); void setFsio(engine_configuration_s *engineConfiguration, int index, brain_pin_e pin, const char * exp); +void setFsioExt(engine_configuration_s *engineConfiguration, int index, brain_pin_e pin, const char * exp, int freq); #endif /* LE_FUNCTIONS_H_ */ diff --git a/firmware/controllers/engine_controller.cpp b/firmware/controllers/engine_controller.cpp index cf01e41d85..ce856008f4 100644 --- a/firmware/controllers/engine_controller.cpp +++ b/firmware/controllers/engine_controller.cpp @@ -394,6 +394,9 @@ static void setUserOutput(const char *indexStr, const char *quotedLine, Engine * scheduleMsg(&logger, "setting user out #%d to [%s]", index + 1, l); strcpy(engine->engineConfiguration->bc.le_formulas[index], l); + // this would apply the changes + parseUserFsio(PASS_ENGINE_PARAMETER_F); + showFsioInfo(); } static void setInt(const char *offsetStr, const char *valueStr) {