69 lines
2.5 KiB
C
69 lines
2.5 KiB
C
/**
|
|
* @file dodge_neon.c
|
|
*
|
|
* @date Dec 16, 2013
|
|
* @author Andrey Belomutskiy, (c) 2012-2014
|
|
*/
|
|
|
|
#include "main.h"
|
|
|
|
#if EFI_SUPPORT_DODGE_NEON || defined(__DOXYGEN__)
|
|
|
|
#include "dodge_neon.h"
|
|
#include "engine_configuration.h"
|
|
#include "thermistors.h"
|
|
|
|
void setDodgeNeonEngineConfiguration(engine_configuration_s *engineConfiguration) {
|
|
engineConfiguration->rpmHardLimit = 7000;
|
|
|
|
engineConfiguration->ignitionPinMode = OM_OPENDRAIN;
|
|
|
|
setThermistorConfiguration(&engineConfiguration->cltThermistorConf, 0, 32500, 30, 7550, 100, 700);
|
|
engineConfiguration->cltThermistorConf.bias_resistor = 2200;
|
|
|
|
engineConfiguration->crankingSettings.coolantTempMaxC = 37.7; // 5ms at 37.7C
|
|
engineConfiguration->crankingSettings.fuelAtMaxTempMs = 5;
|
|
|
|
engineConfiguration->crankingSettings.coolantTempMinC = -40; // 26ms at -40C
|
|
engineConfiguration->crankingSettings.fuelAtMinTempMs = 26;
|
|
|
|
|
|
engineConfiguration->triggerConfig.syncRatioFrom = 0.72 * 0.8;
|
|
engineConfiguration->triggerConfig.syncRatioTo = 0.72 * 1.3;
|
|
|
|
engineConfiguration->triggerConfig.isSynchronizationNeeded = TRUE;
|
|
engineConfiguration->triggerConfig.useRiseEdge = FALSE;
|
|
|
|
engineConfiguration->triggerConfig.triggerType = TT_DODGE_NEON;
|
|
engineConfiguration->ignitionMode = IM_INDIVIDUAL_COILS;
|
|
engineConfiguration->firingOrder = FO_1_THEN_3_THEN_4_THEN2;
|
|
}
|
|
|
|
static void configureEngineEventHandler(EventHandlerConfiguration *config) {
|
|
float x = 51;
|
|
|
|
resetEventList(&config->crankingInjectionEvents);
|
|
|
|
resetEventList(&config->injectionEvents);
|
|
registerActuatorEvent(&config->injectionEvents, 0, addOutputSignal(INJECTOR_4_OUTPUT), x);
|
|
registerActuatorEvent(&config->injectionEvents, 0, addOutputSignal(INJECTOR_2_OUTPUT), x + 180);
|
|
registerActuatorEvent(&config->injectionEvents, 0, addOutputSignal(INJECTOR_1_OUTPUT), x + 360);
|
|
registerActuatorEvent(&config->injectionEvents, 0, addOutputSignal(INJECTOR_3_OUTPUT), x + 540);
|
|
|
|
resetEventList(&config->ignitionEvents);
|
|
registerActuatorEvent(&config->ignitionEvents, 0, addOutputSignal(SPARKOUT_1_OUTPUT), x);
|
|
registerActuatorEvent(&config->ignitionEvents, 0, addOutputSignal(SPARKOUT_2_OUTPUT), x + 180);
|
|
registerActuatorEvent(&config->ignitionEvents, 0, addOutputSignal(SPARKOUT_3_OUTPUT), x + 360);
|
|
registerActuatorEvent(&config->ignitionEvents, 0, addOutputSignal(SPARKOUT_4_OUTPUT), x + 540);
|
|
|
|
}
|
|
|
|
void setDodgeNeonengine_configuration2_s(engine_configuration_s *engineConfiguration, engine_configuration2_s *engineConfiguration2) {
|
|
|
|
configureEngineEventHandler(&engineConfiguration2->engineEventConfiguration);
|
|
|
|
}
|
|
|
|
#endif /* EFI_SUPPORT_DODGE_NEON */
|
|
|