rusefi/firmware/config/engines/dodge_neon.cpp

178 lines
4.7 KiB
C++
Raw Normal View History

2015-07-10 06:01:56 -07:00
/**
* @file dodge_neon.cpp
*
* DODGE_NEON_1995 = 2
2017-01-06 07:04:41 -08:00
* set engine_type 2
2015-07-10 06:01:56 -07:00
*
* DODGE_NEON_2003 = 23
2017-01-06 07:04:41 -08:00
* set engine_type 23
2015-12-26 12:01:49 -08:00
* http://rusefi.com/wiki/index.php?title=Vehicle:Dodge_Neon_2003
2015-07-10 06:01:56 -07:00
*
* @date Dec 16, 2013
2020-01-13 18:57:43 -08:00
* @author Andrey Belomutskiy, (c) 2012-2020
2015-07-10 06:01:56 -07:00
*/
#include "pch.h"
2015-07-10 06:01:56 -07:00
#include "dodge_neon.h"
2016-04-03 16:01:59 -07:00
#include "custom_engine.h"
2015-07-10 06:01:56 -07:00
void setDodgeNeon1995EngineConfiguration() {
engineConfiguration->trigger.type = trigger_type_e::TT_DODGE_NEON_1995;
2015-07-10 06:01:56 -07:00
2020-11-27 12:44:31 -08:00
engineConfiguration->fuelAlgorithm = LM_ALPHA_N;
2015-07-10 06:01:56 -07:00
// set_rpm_hard_limit 4000
engineConfiguration->rpmHardLimit = 4000; // yes, 4k. let's play it safe for now
setWholeTimingTable_d(12);
2015-07-10 06:01:56 -07:00
engineConfiguration->crankingInjectionMode = IM_SIMULTANEOUS;
2017-01-06 06:03:33 -08:00
// set injection_mode 1
2015-07-10 06:01:56 -07:00
engineConfiguration->injectionMode = IM_SEQUENTIAL;
2017-01-06 06:03:33 -08:00
// set ignition_mode 2
2015-07-10 06:01:56 -07:00
engineConfiguration->ignitionMode = IM_WASTED_SPARK;
engineConfiguration->firingOrder = FO_1_3_4_2;
2015-07-10 06:01:56 -07:00
2017-01-06 07:04:41 -08:00
// set global_trigger_offset_angle 497
2015-07-10 06:01:56 -07:00
engineConfiguration->globalTriggerAngleOffset = 497;
2017-01-06 06:03:33 -08:00
// set cranking_timing_angle 0
2015-07-10 06:01:56 -07:00
engineConfiguration->crankingTimingAngle = 0;
2016-01-08 08:01:40 -08:00
engineConfiguration->mapErrorDetectionTooHigh = 120;
engineConfiguration->clt.config = {0, 30, 100, 32500, 7550, 700, 2700};
2015-07-10 06:01:56 -07:00
}
void setDodgeNeonNGCEngineConfiguration() {
engineConfiguration->trigger.type = trigger_type_e::TT_DODGE_NEON_2003_CAM;
2015-07-10 06:01:56 -07:00
2017-01-06 07:04:41 -08:00
// set global_trigger_offset_angle 38
2015-07-10 06:01:56 -07:00
engineConfiguration->globalTriggerAngleOffset = 38;
engineConfiguration->crankingInjectionMode = IM_SIMULTANEOUS;
engineConfiguration->injectionMode = IM_SEQUENTIAL;
engineConfiguration->ignitionMode = IM_WASTED_SPARK;
engineConfiguration->displacement = 1.996;
engineConfiguration->cylindersCount = 4;
2015-07-10 06:01:56 -07:00
/**
* 77C
* 1200 rpm
* fuel 3
*
* 88C
* fuel 2.8
*
*/
//setWholeTimingTable_d(12);
2015-07-10 06:01:56 -07:00
2016-01-31 19:02:01 -08:00
//setMap(config->veTable, 50);
2015-07-10 06:01:56 -07:00
2017-01-06 06:03:33 -08:00
// set cranking_timing_angle 710
2015-07-10 06:01:56 -07:00
engineConfiguration->crankingTimingAngle = -710;
/**
* bosch 4G1139
* http://forum.2gn.org/viewtopic.php?t=21657
2016-01-22 07:01:37 -08:00
* or is it 225 as mentioned at http://turbobazar.ru/showpost.php?p=750815&postcount=796 ?
2015-07-10 06:01:56 -07:00
*/
engineConfiguration->injector.flow = 199;
setLinearCurve(config->ignitionLoadBins, 20, 120, 1);
2016-01-21 13:01:34 -08:00
setAlgorithm(LM_SPEED_DENSITY);
2016-01-21 13:01:34 -08:00
setFuelTablesLoadBin(20, 120);
2015-07-10 06:01:56 -07:00
engineConfiguration->malfunctionIndicatorPin = Gpio::Unassigned;
2015-07-10 06:01:56 -07:00
/**
* PA4 Wideband O2 Sensor
*/
engineConfiguration->afr.hwChannel = EFI_ADC_4;
2023-02-10 16:09:39 -08:00
commonFrankensoAnalogInputs();
2016-03-07 19:03:19 -08:00
engineConfiguration->vbattDividerCoeff = 9.75;// ((float) (8.2 + 33)) / 8.2 * 2;
2015-07-10 06:01:56 -07:00
/**
* http://rusefi.com/wiki/index.php?title=Manual:Hardware_Frankenso_board
*/
setDodgeSensor(&engineConfiguration->clt, 10000);
setDodgeSensor(&engineConfiguration->iat, 10000);
2015-07-10 06:01:56 -07:00
/**
* MAP PA0
*/
engineConfiguration->map.sensor.hwChannel = EFI_ADC_0; // PA0
// rev 0.1 green board
// engineConfiguration->map.sensor.hwChannel = EFI_ADC_6; // PA6
// engineConfiguration->tps1_1AdcChannel = EFI_ADC_15; // PC5
2015-07-10 06:01:56 -07:00
/**
* TPS
*/
engineConfiguration->tps1_1AdcChannel = EFI_ADC_2;
2016-09-10 19:03:38 -07:00
engineConfiguration->tpsMax = 625; // convert 12to10 bit (ADC/4)
engineConfiguration->tpsMin = 125; // convert 12to10 bit (ADC/4)
2015-07-10 06:01:56 -07:00
/**
* IAT D15/W7
*/
engineConfiguration->iat.adcChannel = EFI_ADC_11;
/**
* CLT D13/W9
*/
engineConfiguration->clt.adcChannel = EFI_ADC_12;
engineConfiguration->map.sensor.type = MT_DODGE_NEON_2003;
2019-01-04 14:18:43 -08:00
engineConfiguration->hip9011Gain = 0.3;
2016-01-01 16:02:59 -08:00
2015-07-10 06:01:56 -07:00
engineConfiguration->cylinderBore = 87.5;
engineConfiguration->clutchDownPin = Gpio::C12;
engineConfiguration->clutchDownPinMode = PI_PULLUP;
// engineConfiguration->clutchUpPin = Gpio::A14; // note SWCLK - conflict with SWD
engineConfiguration->clutchUpPinMode = PI_PULLUP;
2015-07-10 06:01:56 -07:00
// engineConfiguration->vehicleSpeedSensorInputPin = Gpio::A8;
2015-07-10 06:01:56 -07:00
2015-12-26 20:03:07 -08:00
engineConfiguration->fanOnTemperature = 92;
engineConfiguration->fanOffTemperature = 89;
2016-02-27 10:01:45 -08:00
// engineConfiguration->fanOnTemperature = 115; // knock testing - value is a bit high
// engineConfiguration->fanOffTemperature = 100;
2015-07-10 06:01:56 -07:00
// engineConfiguration->tunerStudioSerialSpeed = 9600;
engineConfiguration->tunerStudioSerialSpeed = 19200;
setAlgorithm(LM_SPEED_DENSITY);
2015-07-10 06:01:56 -07:00
//temp engineConfiguration->alternatorControlPin = Gpio::D5;
2016-09-19 19:03:52 -07:00
engineConfiguration->targetVBatt = 14.0;
engineConfiguration->alternatorControl.offset = 20;
engineConfiguration->alternatorControl.pFactor = 20;
engineConfiguration->alternatorControl.iFactor = 0.2;
2016-02-27 10:01:45 -08:00
engineConfiguration->alternatorControl.dFactor = 0.1;
2019-02-10 19:47:49 -08:00
engineConfiguration->alternatorControl.periodMs = 10;
2015-07-10 06:01:56 -07:00
engineConfiguration->tpsAccelEnrichmentThreshold = 10;
engineConfiguration->wwaeTau = 1.0f;
engineConfiguration->wwaeBeta = 0.40f;
2015-08-23 20:02:37 -07:00
engineConfiguration->wwaeTau = 0;
engineConfiguration->wwaeBeta = 0;
2016-01-30 19:03:36 -08:00
engineConfiguration->isSdCardEnabled = false;
engineConfiguration->manIdlePosition = 36; // set_idle_pwm 40
2016-01-18 18:01:34 -08:00
2016-01-21 13:01:34 -08:00
// end of setDodgeNeonNGCEngineConfiguration
2015-07-10 06:01:56 -07:00
}