mirror of https://github.com/FOME-Tech/fome-fw.git
Miata presets (#236)
* rename existing
* rename existing
* 1.6 progress
* nb2 progress
* format
* stub nb1
* nb1 progress
* msm
* msm
* brake switch, MSM IAT
* gppwm, clutch pin
* cleanup
* allow setting lua heap size
* Revert "allow setting lua heap size"
This reverts commit 82533b5c7b
.
* guard 1.6
* everyone wins a more sensible tps/tps AE table
* guard for tests
* nb2 vvt angle tweak
* tweak tests for changed defaults
This commit is contained in:
parent
4e2dbe0c15
commit
3c001f759f
|
@ -86,7 +86,7 @@ void miataNAcommonEngineSettings() {
|
||||||
strcpy(engineConfiguration->engineMake, ENGINE_MAKE_MAZDA);
|
strcpy(engineConfiguration->engineMake, ENGINE_MAKE_MAZDA);
|
||||||
strcpy(engineConfiguration->engineCode, "NA6");
|
strcpy(engineConfiguration->engineCode, "NA6");
|
||||||
engineConfiguration->vehicleWeight = 950;
|
engineConfiguration->vehicleWeight = 950;
|
||||||
engineConfiguration->compressionRatio = 9.1;
|
engineConfiguration->compressionRatio = 9.0;
|
||||||
|
|
||||||
engineConfiguration->injectionMode = IM_BATCH;
|
engineConfiguration->injectionMode = IM_BATCH;
|
||||||
engineConfiguration->ignitionMode = IM_WASTED_SPARK;
|
engineConfiguration->ignitionMode = IM_WASTED_SPARK;
|
||||||
|
@ -95,21 +95,23 @@ void miataNAcommonEngineSettings() {
|
||||||
engineConfiguration->trigger.type = trigger_type_e::TT_MAZDA_MIATA_NA;
|
engineConfiguration->trigger.type = trigger_type_e::TT_MAZDA_MIATA_NA;
|
||||||
|
|
||||||
// Cranking
|
// Cranking
|
||||||
|
engineConfiguration->primingDelay = 1.0;
|
||||||
|
|
||||||
engineConfiguration->cranking.rpm = 400;
|
engineConfiguration->cranking.rpm = 400;
|
||||||
engineConfiguration->crankingTimingAngle = 10;
|
engineConfiguration->crankingTimingAngle = 10;
|
||||||
engineConfiguration->cranking.baseFuel = 27.5;
|
engineConfiguration->cranking.baseFuel = 27.5;
|
||||||
|
|
||||||
config->crankingFuelCoef[0] = 2.8; // base cranking fuel adjustment coefficient
|
config->crankingFuelCoef[0] = 3.36; // base cranking fuel adjustment coefficient
|
||||||
config->crankingFuelBins[0] = -20; // temperature in C
|
config->crankingFuelBins[0] = -20; // temperature in C
|
||||||
config->crankingFuelCoef[1] = 2.2;
|
config->crankingFuelCoef[1] = 2.97;
|
||||||
config->crankingFuelBins[1] = -10;
|
config->crankingFuelBins[1] = -10;
|
||||||
config->crankingFuelCoef[2] = 1.8;
|
config->crankingFuelCoef[2] = 2.69;
|
||||||
config->crankingFuelBins[2] = 5;
|
config->crankingFuelBins[2] = 5;
|
||||||
config->crankingFuelCoef[3] = 1.5;
|
config->crankingFuelCoef[3] = 2.15;
|
||||||
config->crankingFuelBins[3] = 30;
|
config->crankingFuelBins[3] = 30;
|
||||||
config->crankingFuelCoef[4] = 1.0;
|
config->crankingFuelCoef[4] = 1.78;
|
||||||
config->crankingFuelBins[4] = 35;
|
config->crankingFuelBins[4] = 40;
|
||||||
config->crankingFuelCoef[5] = 1.0;
|
config->crankingFuelCoef[5] = 1.47;
|
||||||
config->crankingFuelBins[5] = 50;
|
config->crankingFuelBins[5] = 50;
|
||||||
config->crankingFuelCoef[6] = 1.0;
|
config->crankingFuelCoef[6] = 1.0;
|
||||||
config->crankingFuelBins[6] = 65;
|
config->crankingFuelBins[6] = 65;
|
||||||
|
@ -135,6 +137,11 @@ void miataNAcommonEngineSettings() {
|
||||||
engineConfiguration->idleTimingPid.minValue = -15;
|
engineConfiguration->idleTimingPid.minValue = -15;
|
||||||
engineConfiguration->idleTimingPid.maxValue = 15;
|
engineConfiguration->idleTimingPid.maxValue = 15;
|
||||||
|
|
||||||
|
// Idle timing
|
||||||
|
static const uint16_t idleAdvanceBins[] = { 500, 650, 800, 950, 1050, 1200, 1350, 1500 };
|
||||||
|
copyArray(config->idleAdvanceBins, idleAdvanceBins);
|
||||||
|
setArrayValues(config->idleAdvance, 15);
|
||||||
|
|
||||||
// Fan
|
// Fan
|
||||||
engineConfiguration->enableFan1WithAc = true;
|
engineConfiguration->enableFan1WithAc = true;
|
||||||
engineConfiguration->enableFan2WithAc = true;
|
engineConfiguration->enableFan2WithAc = true;
|
||||||
|
@ -154,17 +161,25 @@ void miataNAcommonEngineSettings() {
|
||||||
setMapVeTable();
|
setMapVeTable();
|
||||||
setTable(config->injectionPhase, 400);
|
setTable(config->injectionPhase, 400);
|
||||||
|
|
||||||
|
static const float cltFuelMultValues[] = { 1.25, 1.23, 1.2, 1.18, 1.16, 1.14, 1.11, 1.09, 1.07, 1.05, 1.02, 1, 1, 1, 1, 1 };
|
||||||
|
copyArray(config->cltFuelCorr, cltFuelMultValues);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* http://miataturbo.wikidot.com/fuel-injectors
|
* http://miataturbo.wikidot.com/fuel-injectors
|
||||||
* 90-93 (Blue) - #195500-1970
|
* 90-93 (Blue) - #195500-1970
|
||||||
*/
|
*/
|
||||||
engineConfiguration->injector.flow = 212;
|
engineConfiguration->injector.flow = 212;
|
||||||
|
|
||||||
|
static const float deadtimeBins[] = { 8, 9.6, 11.2, 12.8, 13.2, 14.4, 15.3, 16 };
|
||||||
|
static const float deadtimeValues[] = { 1.97, 1.52, 1.23, 1.04, 0.99, 0.9, 0.85, 0.73 };
|
||||||
|
copyArray(engineConfiguration->injector.battLagCorrBins, deadtimeBins);
|
||||||
|
copyArray(engineConfiguration->injector.battLagCorr, deadtimeValues);
|
||||||
|
|
||||||
// Sensors
|
// Sensors
|
||||||
// TPS
|
// TPS
|
||||||
// my car was originally a manual so proper TPS
|
// my car was originally a manual so proper TPS
|
||||||
engineConfiguration->tpsMin = 100; // convert 12to10 bit (ADC/4)
|
engineConfiguration->tpsMin = 92;
|
||||||
engineConfiguration->tpsMax = 650; // convert 12to10 bit (ADC/4)
|
engineConfiguration->tpsMax = 872;
|
||||||
|
|
||||||
// CLT/IAT
|
// CLT/IAT
|
||||||
engineConfiguration->clt.config = { -20, 40, 80, 16150, 1150, 330, 2700 };
|
engineConfiguration->clt.config = { -20, 40, 80, 16150, 1150, 330, 2700 };
|
||||||
|
@ -193,6 +208,14 @@ void miataNAcommonEngineSettings() {
|
||||||
// 4.3 * 6 / 23 ~= 1.12
|
// 4.3 * 6 / 23 ~= 1.12
|
||||||
engineConfiguration->vssGearRatio = 4.3 * 6 / 23;
|
engineConfiguration->vssGearRatio = 4.3 * 6 / 23;
|
||||||
engineConfiguration->vssToothCount = 4;
|
engineConfiguration->vssToothCount = 4;
|
||||||
|
|
||||||
|
// Set up closed loop fuel
|
||||||
|
engineConfiguration->fuelClosedLoopCorrectionEnabled = true;
|
||||||
|
engineConfiguration->stft.minAfr = 10;
|
||||||
|
engineConfiguration->stft.cellCfgs[0] = { 5, -5, 5 };
|
||||||
|
engineConfiguration->stft.cellCfgs[1] = { 15, -15, 10 };
|
||||||
|
engineConfiguration->stft.cellCfgs[2] = { 15, -15, 1 };
|
||||||
|
engineConfiguration->stft.cellCfgs[3] = { 5, -5, 30 };
|
||||||
}
|
}
|
||||||
|
|
||||||
static void miataNAcommon() {
|
static void miataNAcommon() {
|
||||||
|
@ -360,9 +383,10 @@ void setHellenNA6() {
|
||||||
engineConfiguration->map.sensor.type = MT_MPX4250;
|
engineConfiguration->map.sensor.type = MT_MPX4250;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if HW_PROTEUS
|
||||||
#include "proteus_meta.h"
|
#include "proteus_meta.h"
|
||||||
|
|
||||||
void setMiataNa6_Proteus() {
|
void setMiataNa6_Polygonus() {
|
||||||
miataNAcommonEngineSettings();
|
miataNAcommonEngineSettings();
|
||||||
|
|
||||||
// Triggers
|
// Triggers
|
||||||
|
@ -379,11 +403,22 @@ void setMiataNa6_Proteus() {
|
||||||
|
|
||||||
engineConfiguration->tps1_1AdcChannel = PROTEUS_IN_ANALOG_VOLT_2;
|
engineConfiguration->tps1_1AdcChannel = PROTEUS_IN_ANALOG_VOLT_2;
|
||||||
|
|
||||||
engineConfiguration->acSwitch = PROTEUS_DIGITAL_4;
|
#if EFI_PROD_CODE
|
||||||
|
engineConfiguration->clutchDownPin = getAdcChannelBrainPin("", PROTEUS_IN_ANALOG_VOLT_5);
|
||||||
|
#endif // EFI_PROD_CODE
|
||||||
|
engineConfiguration->clutchDownPinInverted = true;
|
||||||
|
|
||||||
|
// Fuel pressure
|
||||||
|
engineConfiguration->lowPressureFuel.hwChannel = PROTEUS_IN_ANALOG_VOLT_6;
|
||||||
|
engineConfiguration->lowPressureFuel.v1 = 0.5;
|
||||||
|
engineConfiguration->lowPressureFuel.value1 = 0;
|
||||||
|
engineConfiguration->lowPressureFuel.v2 = 4.5;
|
||||||
|
engineConfiguration->lowPressureFuel.value2 = 689.5;
|
||||||
|
|
||||||
// Built in wideband controller on bus 2
|
// Built in wideband controller on bus 2
|
||||||
engineConfiguration->enableAemXSeries = true;
|
engineConfiguration->enableAemXSeries = true;
|
||||||
engineConfiguration->widebandOnSecondBus = true;
|
engineConfiguration->widebandOnSecondBus = true;
|
||||||
|
engineConfiguration->enableVerboseCanTx = true;
|
||||||
|
|
||||||
// Outputs
|
// Outputs
|
||||||
engineConfiguration->fuelPumpPin = PROTEUS_LS_9;
|
engineConfiguration->fuelPumpPin = PROTEUS_LS_9;
|
||||||
|
@ -391,11 +426,17 @@ void setMiataNa6_Proteus() {
|
||||||
engineConfiguration->idle.solenoidPin = PROTEUS_LS_7;
|
engineConfiguration->idle.solenoidPin = PROTEUS_LS_7;
|
||||||
|
|
||||||
// TODO: which is fan 1 or 2?
|
// TODO: which is fan 1 or 2?
|
||||||
engineConfiguration->fanPin = PROTEUS_LS_5;
|
engineConfiguration->fanPin = PROTEUS_LS_8;
|
||||||
// engineConfiguration->fan2Pin = PROTEUS_LS_5;
|
engineConfiguration->fanOnTemperature = 90;
|
||||||
|
engineConfiguration->fanOffTemperature = 84;
|
||||||
|
|
||||||
|
engineConfiguration->acSwitch = PROTEUS_DIGITAL_4;
|
||||||
engineConfiguration->acRelayPin = PROTEUS_LS_10;
|
engineConfiguration->acRelayPin = PROTEUS_LS_10;
|
||||||
|
|
||||||
engineConfiguration->tachOutputPin = PROTEUS_LS_12;
|
|
||||||
|
|
||||||
engineConfiguration->malfunctionIndicatorPin = PROTEUS_LS_11;
|
engineConfiguration->malfunctionIndicatorPin = PROTEUS_LS_11;
|
||||||
|
|
||||||
|
// Disable ETBs
|
||||||
|
engineConfiguration->etbFunctions[0] = dc_function_e::DC_None;
|
||||||
|
engineConfiguration->etbFunctions[1] = dc_function_e::DC_None;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
|
@ -29,4 +29,4 @@ void setHellenNA6();
|
||||||
|
|
||||||
void setHellenNA94();
|
void setHellenNA94();
|
||||||
|
|
||||||
void setMiataNa6_Proteus();
|
void setMiataNa6_Polygonus();
|
||||||
|
|
|
@ -59,34 +59,18 @@
|
||||||
|
|
||||||
#include "mre_meta.h"
|
#include "mre_meta.h"
|
||||||
|
|
||||||
static const float injectorLagBins[VBAT_INJECTOR_CURVE_SIZE] = {
|
static const uint16_t vvt18fsioRpmBins[] = { 950, 1800, 2500, 3300, 4200, 5000, 6000, 7200 };
|
||||||
6.0, 8.0, 10.0, 11.0,
|
static const uint8_t vvt18fsioLoadBins[] = { 30, 40, 50, 60, 70, 75, 82, 100 };
|
||||||
12.0, 13.0, 14.0, 15.0
|
|
||||||
};
|
|
||||||
|
|
||||||
static const float injectorLagCorrection[VBAT_INJECTOR_CURVE_SIZE] = {
|
static const uint8_t SCRIPT_TABLE_vvt_target[8][8] = {
|
||||||
4.0 , 3.0 , 2.0 , 1.7,
|
{ 0, 0, 0, 0, 0, 0, 0, 0 },
|
||||||
1.5 , 1.35, 1.25 , 1.20
|
{ 0, 0, 15, 15, 15, 15, 0, 0 },
|
||||||
};
|
{ 0, 0, 15, 20, 20, 15, 0, 0 },
|
||||||
|
{ 8, 15, 18, 20, 20, 18, 15, 8 },
|
||||||
static const float vvt18fsioRpmBins[SCRIPT_TABLE_8] =
|
{ 8, 15, 20, 20, 20, 18, 15, 8 },
|
||||||
{700.0, 1000.0, 2000.0, 3000.0, 3500.0, 4500.0, 5500.0, 6500.0}
|
{ 8, 15, 25, 25, 23, 20, 12, 8 },
|
||||||
;
|
{ 12, 19, 29, 29, 27, 20, 4, 0 },
|
||||||
|
{ 12, 19, 29, 29, 27, 20, 5, 1 },
|
||||||
static const float vvt18fsioLoadBins[SCRIPT_TABLE_8] =
|
|
||||||
{30.0, 40.0, 50.0, 60.0, 70.0, 75.0, 82.0, 85.0}
|
|
||||||
;
|
|
||||||
|
|
||||||
static const uint8_t SCRIPT_TABLE_vvt_target[SCRIPT_TABLE_8][SCRIPT_TABLE_8] = {
|
|
||||||
/* Generated by TS2C on Mon Feb 13 19:11:32 EST 2017*/
|
|
||||||
{/* 0 30 *//* 0 700.0*/1, /* 1 1000.0*/3, /* 2 2000.0*/10, /* 3 3000.0*/20, /* 4 3500.0*/27, /* 5 4500.0*/28, /* 6 5500.0*/11, /* 7 6500.0*/5, },
|
|
||||||
{/* 1 40 *//* 0 700.0*/3, /* 1 1000.0*/10, /* 2 2000.0*/19, /* 3 3000.0*/26, /* 4 3500.0*/30, /* 5 4500.0*/28, /* 6 5500.0*/11, /* 7 6500.0*/5, },
|
|
||||||
{/* 2 50 *//* 0 700.0*/7, /* 1 1000.0*/16, /* 2 2000.0*/24, /* 3 3000.0*/28, /* 4 3500.0*/30, /* 5 4500.0*/28, /* 6 5500.0*/11, /* 7 6500.0*/5, },
|
|
||||||
{/* 3 60 *//* 0 700.0*/11, /* 1 1000.0*/20, /* 2 2000.0*/27, /* 3 3000.0*/28, /* 4 3500.0*/30, /* 5 4500.0*/28, /* 6 5500.0*/11, /* 7 6500.0*/5, },
|
|
||||||
{/* 4 70 *//* 0 700.0*/13, /* 1 1000.0*/24, /* 2 2000.0*/31, /* 3 3000.0*/28, /* 4 3500.0*/30, /* 5 4500.0*/28, /* 6 5500.0*/11, /* 7 6500.0*/5, },
|
|
||||||
{/* 5 75 *//* 0 700.0*/15, /* 1 1000.0*/27, /* 2 2000.0*/33, /* 3 3000.0*/28, /* 4 3500.0*/30, /* 5 4500.0*/28, /* 6 5500.0*/11, /* 7 6500.0*/5, },
|
|
||||||
{/* 6 82 *//* 0 700.0*/17, /* 1 1000.0*/28, /* 2 2000.0*/33, /* 3 3000.0*/28, /* 4 3500.0*/30, /* 5 4500.0*/28, /* 6 5500.0*/11, /* 7 6500.0*/5, },
|
|
||||||
{/* 7 85 *//* 0 700.0*/17, /* 1 1000.0*/28, /* 2 2000.0*/33, /* 3 3000.0*/28, /* 4 3500.0*/30, /* 5 4500.0*/28, /* 6 5500.0*/11, /* 7 6500.0*/5, },
|
|
||||||
};
|
};
|
||||||
|
|
||||||
const float mazda_miata_nb2_RpmBins[FUEL_RPM_COUNT] = {700.0, 820.0, 950.0, 1100.0,
|
const float mazda_miata_nb2_RpmBins[FUEL_RPM_COUNT] = {700.0, 820.0, 950.0, 1100.0,
|
||||||
|
@ -228,8 +212,10 @@ static void setMAFTransferFunction() {
|
||||||
}
|
}
|
||||||
|
|
||||||
static void setMazdaMiataNbInjectorLag() {
|
static void setMazdaMiataNbInjectorLag() {
|
||||||
copyArray(engineConfiguration->injector.battLagCorr, injectorLagCorrection);
|
static const float deadtimeBins[] = { 8, 9.6, 11.2, 12.8, 13.2, 14.4, 15.3, 16 };
|
||||||
copyArray(engineConfiguration->injector.battLagCorrBins, injectorLagBins);
|
static const float deadtimeValues[] = { 1.97, 1.52, 1.23, 1.04, 0.99, 0.9, 0.85, 0.73 };
|
||||||
|
copyArray(engineConfiguration->injector.battLagCorrBins, deadtimeBins);
|
||||||
|
copyArray(engineConfiguration->injector.battLagCorr, deadtimeValues);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -245,15 +231,27 @@ static void setCommonMazdaNB() {
|
||||||
|
|
||||||
engineConfiguration->cylinderBore = 83;
|
engineConfiguration->cylinderBore = 83;
|
||||||
strcpy(engineConfiguration->engineMake, ENGINE_MAKE_MAZDA);
|
strcpy(engineConfiguration->engineMake, ENGINE_MAKE_MAZDA);
|
||||||
engineConfiguration->vehicleWeight = 1070;
|
engineConfiguration->vehicleWeight = 950;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* http://miataturbo.wikidot.com/fuel-injectors
|
||||||
|
* 01-05 (purple) - #195500-4060
|
||||||
|
*/
|
||||||
|
engineConfiguration->injector.flow = 265;
|
||||||
|
engineConfiguration->fuelReferencePressure = 400; // 400 kPa, 58 psi
|
||||||
|
engineConfiguration->injectorCompensationMode = ICM_FixedRailPressure;
|
||||||
|
|
||||||
|
|
||||||
engineConfiguration->injectionMode = IM_SEQUENTIAL;
|
engineConfiguration->injectionMode = IM_SEQUENTIAL;
|
||||||
engineConfiguration->ignitionMode = IM_WASTED_SPARK;
|
engineConfiguration->ignitionMode = IM_WASTED_SPARK;
|
||||||
|
|
||||||
|
static const float cltFuelMultValues[] = { 1.25, 1.23, 1.2, 1.18, 1.16, 1.14, 1.11, 1.09, 1.07, 1.05, 1.02, 1, 1, 1, 1, 1 };
|
||||||
|
copyArray(config->cltFuelCorr, cltFuelMultValues);
|
||||||
|
|
||||||
// Trigger
|
// Trigger
|
||||||
engineConfiguration->trigger.type = trigger_type_e::TT_MIATA_VVT;
|
engineConfiguration->trigger.type = trigger_type_e::TT_MIATA_VVT;
|
||||||
|
engineConfiguration->globalTriggerAngleOffset = 10;
|
||||||
engineConfiguration->vvtMode[0] = VVT_MIATA_NB;
|
engineConfiguration->vvtMode[0] = VVT_MIATA_NB;
|
||||||
engineConfiguration->vvtOffsets[0] = 98;
|
|
||||||
|
|
||||||
// Cranking
|
// Cranking
|
||||||
engineConfiguration->ignitionDwellForCrankingMs = 4;
|
engineConfiguration->ignitionDwellForCrankingMs = 4;
|
||||||
|
@ -262,6 +260,25 @@ static void setCommonMazdaNB() {
|
||||||
engineConfiguration->crankingIACposition = 60;
|
engineConfiguration->crankingIACposition = 60;
|
||||||
engineConfiguration->afterCrankingIACtaperDuration = 250;
|
engineConfiguration->afterCrankingIACtaperDuration = 250;
|
||||||
|
|
||||||
|
engineConfiguration->primingDelay = 1;
|
||||||
|
|
||||||
|
config->crankingFuelCoef[0] = 3.36;
|
||||||
|
config->crankingFuelBins[0] = -20;
|
||||||
|
config->crankingFuelCoef[1] = 2.97;
|
||||||
|
config->crankingFuelBins[1] = -10;
|
||||||
|
config->crankingFuelCoef[2] = 2.69;
|
||||||
|
config->crankingFuelBins[2] = 5;
|
||||||
|
config->crankingFuelCoef[3] = 2.15;
|
||||||
|
config->crankingFuelBins[3] = 30;
|
||||||
|
config->crankingFuelCoef[4] = 1.78;
|
||||||
|
config->crankingFuelBins[4] = 40;
|
||||||
|
config->crankingFuelCoef[5] = 1.47;
|
||||||
|
config->crankingFuelBins[5] = 50;
|
||||||
|
config->crankingFuelCoef[6] = 1.0;
|
||||||
|
config->crankingFuelBins[6] = 65;
|
||||||
|
config->crankingFuelCoef[7] = 1.0;
|
||||||
|
config->crankingFuelBins[7] = 90;
|
||||||
|
|
||||||
// Idle
|
// Idle
|
||||||
engineConfiguration->idle.solenoidFrequency = 500;
|
engineConfiguration->idle.solenoidFrequency = 500;
|
||||||
engineConfiguration->idleMode = IM_AUTO;
|
engineConfiguration->idleMode = IM_AUTO;
|
||||||
|
@ -283,6 +300,11 @@ static void setCommonMazdaNB() {
|
||||||
engineConfiguration->idlerpmpid_iTermMin = -15;
|
engineConfiguration->idlerpmpid_iTermMin = -15;
|
||||||
engineConfiguration->idlerpmpid_iTermMax = 30;
|
engineConfiguration->idlerpmpid_iTermMax = 30;
|
||||||
|
|
||||||
|
// Idle timing
|
||||||
|
static const uint16_t idleAdvanceBins[] = { 500, 650, 800, 950, 1050, 1200, 1350, 1500 };
|
||||||
|
copyArray(config->idleAdvanceBins, idleAdvanceBins);
|
||||||
|
setArrayValues(config->idleAdvance, 15);
|
||||||
|
|
||||||
// Fan
|
// Fan
|
||||||
engineConfiguration->enableFan1WithAc = true;
|
engineConfiguration->enableFan1WithAc = true;
|
||||||
|
|
||||||
|
@ -290,11 +312,17 @@ static void setCommonMazdaNB() {
|
||||||
engineConfiguration->isAlternatorControlEnabled = true;
|
engineConfiguration->isAlternatorControlEnabled = true;
|
||||||
engineConfiguration->targetVBatt = 14.0f;
|
engineConfiguration->targetVBatt = 14.0f;
|
||||||
engineConfiguration->alternatorControl.offset = 20;
|
engineConfiguration->alternatorControl.offset = 20;
|
||||||
engineConfiguration->alternatorControl.pFactor = 16;
|
engineConfiguration->alternatorControl.pFactor = 20;
|
||||||
engineConfiguration->alternatorControl.iFactor = 8;
|
engineConfiguration->alternatorControl.iFactor = 8;
|
||||||
engineConfiguration->alternatorControl.dFactor = 0.1;
|
engineConfiguration->alternatorControl.dFactor = 0.1;
|
||||||
engineConfiguration->alternatorControl.periodMs = 10;
|
engineConfiguration->alternatorControl.periodMs = 10;
|
||||||
|
|
||||||
|
// AC
|
||||||
|
engineConfiguration->acDelay = 0.5;
|
||||||
|
engineConfiguration->maxAcClt = 105;
|
||||||
|
engineConfiguration->acIdleExtraOffset = 8;
|
||||||
|
engineConfiguration->acIdleRpmBump = 150;
|
||||||
|
|
||||||
// Tach
|
// Tach
|
||||||
engineConfiguration->tachPulsePerRev = 2;
|
engineConfiguration->tachPulsePerRev = 2;
|
||||||
|
|
||||||
|
@ -320,8 +348,8 @@ static void setCommonMazdaNB() {
|
||||||
engineConfiguration->tpsMax = 650; // convert 12to10 bit (ADC/4)
|
engineConfiguration->tpsMax = 650; // convert 12to10 bit (ADC/4)
|
||||||
|
|
||||||
// CLT/IAT
|
// CLT/IAT
|
||||||
setCommonNTCSensor(&engineConfiguration->clt, 2700);
|
engineConfiguration->clt.config = { -10, 20, 80, 9000, 2500, 320, 0 };
|
||||||
setCommonNTCSensor(&engineConfiguration->iat, 2700);
|
engineConfiguration->iat.config = { -20, 40, 80, 16150, 1150, 330, 0 };
|
||||||
|
|
||||||
// MAF (todo: do we use this?)
|
// MAF (todo: do we use this?)
|
||||||
setMAFTransferFunction();
|
setMAFTransferFunction();
|
||||||
|
@ -349,7 +377,9 @@ static void setCommonMazdaNB() {
|
||||||
|
|
||||||
static void setMazdaMiataEngineNB1Defaults() {
|
static void setMazdaMiataEngineNB1Defaults() {
|
||||||
setCommonMazdaNB();
|
setCommonMazdaNB();
|
||||||
|
|
||||||
strcpy(engineConfiguration->engineCode, "NB1");
|
strcpy(engineConfiguration->engineCode, "NB1");
|
||||||
|
engineConfiguration->compressionRatio = 9.5;
|
||||||
|
|
||||||
// Vehicle speed/gears
|
// Vehicle speed/gears
|
||||||
engineConfiguration->totalGearsCount = 5;
|
engineConfiguration->totalGearsCount = 5;
|
||||||
|
@ -365,29 +395,25 @@ static void setMazdaMiataEngineNB1Defaults() {
|
||||||
}
|
}
|
||||||
|
|
||||||
static void setMazdaMiataEngineNB2Defaults() {
|
static void setMazdaMiataEngineNB2Defaults() {
|
||||||
strcpy(engineConfiguration->engineCode, "NB2");
|
|
||||||
|
|
||||||
/**
|
|
||||||
* http://miataturbo.wikidot.com/fuel-injectors
|
|
||||||
* 01-05 (purple) - #195500-4060
|
|
||||||
*/
|
|
||||||
engineConfiguration->injector.flow = 265;
|
|
||||||
engineConfiguration->fuelReferencePressure = 400; // 400 kPa, 58 psi
|
|
||||||
engineConfiguration->injectorCompensationMode = ICM_FixedRailPressure;
|
|
||||||
|
|
||||||
setCommonMazdaNB();
|
setCommonMazdaNB();
|
||||||
|
|
||||||
|
strcpy(engineConfiguration->engineCode, "NB2");
|
||||||
|
engineConfiguration->compressionRatio = 10;
|
||||||
|
|
||||||
copyArray(config->vvtTable1RpmBins, vvt18fsioRpmBins);
|
copyArray(config->vvtTable1RpmBins, vvt18fsioRpmBins);
|
||||||
copyArray(config->vvtTable1LoadBins, vvt18fsioLoadBins);
|
copyArray(config->vvtTable1LoadBins, vvt18fsioLoadBins);
|
||||||
copyTable(config->vvtTable1, SCRIPT_TABLE_vvt_target);
|
copyTable(config->vvtTable1, SCRIPT_TABLE_vvt_target);
|
||||||
|
|
||||||
|
engineConfiguration->vvtOffsets[0] = 95;
|
||||||
|
|
||||||
// VVT closed loop
|
// VVT closed loop
|
||||||
engineConfiguration->auxPid[0].pFactor = 2;
|
engineConfiguration->auxPid[0].pFactor = 2;
|
||||||
engineConfiguration->auxPid[0].iFactor = 0.005;
|
engineConfiguration->auxPid[0].iFactor = 0.005;
|
||||||
engineConfiguration->auxPid[0].dFactor = 0.002;
|
engineConfiguration->auxPid[0].dFactor = 0.002;
|
||||||
engineConfiguration->auxPid[0].offset = 33;
|
engineConfiguration->auxPid[0].offset = 33;
|
||||||
engineConfiguration->auxPid[0].minValue = 20;
|
engineConfiguration->auxPid[0].minValue = 10;
|
||||||
engineConfiguration->auxPid[0].maxValue = 90;
|
engineConfiguration->auxPid[0].maxValue = 90;
|
||||||
|
engineConfiguration->vvtControlMinRpm = 400;
|
||||||
|
|
||||||
// Vehicle speed/gears
|
// Vehicle speed/gears
|
||||||
engineConfiguration->totalGearsCount = 6;
|
engineConfiguration->totalGearsCount = 6;
|
||||||
|
@ -426,9 +452,6 @@ void setMazdaMiata2003EngineConfiguration() {
|
||||||
// high-side driver with +12v VP jumper
|
// high-side driver with +12v VP jumper
|
||||||
engineConfiguration->tachOutputPin = Gpio::E8; // tachometer
|
engineConfiguration->tachOutputPin = Gpio::E8; // tachometer
|
||||||
|
|
||||||
// set global_trigger_offset_angle 0
|
|
||||||
engineConfiguration->globalTriggerAngleOffset = 0;
|
|
||||||
|
|
||||||
// enable trigger_details
|
// enable trigger_details
|
||||||
engineConfiguration->verboseTriggerSynchDetails = false;
|
engineConfiguration->verboseTriggerSynchDetails = false;
|
||||||
|
|
||||||
|
@ -527,24 +550,6 @@ void setMazdaMiata2003EngineConfiguration() {
|
||||||
engineConfiguration->etb.offset = 40;
|
engineConfiguration->etb.offset = 40;
|
||||||
engineConfiguration->etb.minValue = -60;
|
engineConfiguration->etb.minValue = -60;
|
||||||
engineConfiguration->etb.maxValue = 50;
|
engineConfiguration->etb.maxValue = 50;
|
||||||
|
|
||||||
config->crankingFuelCoef[0] = 2.8; // base cranking fuel adjustment coefficient
|
|
||||||
config->crankingFuelBins[0] = -20; // temperature in C
|
|
||||||
config->crankingFuelCoef[1] = 2.2;
|
|
||||||
config->crankingFuelBins[1] = -10;
|
|
||||||
config->crankingFuelCoef[2] = 1.8;
|
|
||||||
config->crankingFuelBins[2] = 5;
|
|
||||||
config->crankingFuelCoef[3] = 1.5;
|
|
||||||
config->crankingFuelBins[3] = 30;
|
|
||||||
|
|
||||||
config->crankingFuelCoef[4] = 1.0;
|
|
||||||
config->crankingFuelBins[4] = 35;
|
|
||||||
config->crankingFuelCoef[5] = 1.0;
|
|
||||||
config->crankingFuelBins[5] = 50;
|
|
||||||
config->crankingFuelCoef[6] = 1.0;
|
|
||||||
config->crankingFuelBins[6] = 65;
|
|
||||||
config->crankingFuelCoef[7] = 1.0;
|
|
||||||
config->crankingFuelBins[7] = 90;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -687,31 +692,22 @@ void setMiataNB2_Proteus_TCU() {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
void setMiataNbPolygonusCommon() {
|
||||||
* https://github.com/rusefi/rusefi/wiki/HOWTO-Miata-NB2-on-Proteus
|
engineConfiguration->triggerInputPins[0] = PROTEUS_VR_1;
|
||||||
*/
|
engineConfiguration->vehicleSpeedSensorInputPin = PROTEUS_DIGITAL_3;
|
||||||
void setMiataNB2_Proteus() {
|
|
||||||
setMazdaMiataEngineNB2Defaults();
|
|
||||||
|
|
||||||
engineConfiguration->triggerInputPins[0] = Gpio::C6; // pin 10/black23
|
engineConfiguration->alternatorControlPin = PROTEUS_HS_1;
|
||||||
engineConfiguration->triggerInputPins[1] = Gpio::Unassigned;
|
|
||||||
engineConfiguration->camInputs[0] = Gpio::E11; // pin 1/black23
|
|
||||||
|
|
||||||
engineConfiguration->alternatorControlPin = Gpio::A8; // "Highside 2" # pin 1/black35
|
|
||||||
|
|
||||||
engineConfiguration->vvtPins[0] = Gpio::B5; // VVT solenoid control # pin 8/black35
|
|
||||||
|
|
||||||
// high-side driver with +12v VP jumper
|
// high-side driver with +12v VP jumper
|
||||||
engineConfiguration->tachOutputPin = Gpio::A9; // tachometer
|
engineConfiguration->tachOutputPin = PROTEUS_LS_14; // tachometer
|
||||||
engineConfiguration->tachPulsePerRev = 2;
|
engineConfiguration->tachPulsePerRev = 2;
|
||||||
|
|
||||||
engineConfiguration->ignitionMode = IM_WASTED_SPARK;
|
engineConfiguration->ignitionMode = IM_WASTED_SPARK;
|
||||||
|
|
||||||
#if EFI_PROD_CODE
|
|
||||||
engineConfiguration->ignitionPins[0] = PROTEUS_IGN_1;
|
engineConfiguration->ignitionPins[0] = PROTEUS_IGN_1;
|
||||||
engineConfiguration->ignitionPins[1] = Gpio::Unassigned;
|
engineConfiguration->ignitionPins[1] = PROTEUS_IGN_2;
|
||||||
engineConfiguration->ignitionPins[2] = PROTEUS_IGN_3;
|
engineConfiguration->ignitionPins[2] = PROTEUS_IGN_3;
|
||||||
engineConfiguration->ignitionPins[3] = Gpio::Unassigned;
|
engineConfiguration->ignitionPins[3] = PROTEUS_IGN_4;
|
||||||
|
|
||||||
engineConfiguration->crankingInjectionMode = IM_SIMULTANEOUS;
|
engineConfiguration->crankingInjectionMode = IM_SIMULTANEOUS;
|
||||||
engineConfiguration->injectionMode = IM_SEQUENTIAL;
|
engineConfiguration->injectionMode = IM_SEQUENTIAL;
|
||||||
|
@ -723,32 +719,122 @@ void setMiataNB2_Proteus() {
|
||||||
engineConfiguration->injectionPins[3] = PROTEUS_LS_4; // WHT
|
engineConfiguration->injectionPins[3] = PROTEUS_LS_4; // WHT
|
||||||
|
|
||||||
engineConfiguration->enableSoftwareKnock = true;
|
engineConfiguration->enableSoftwareKnock = true;
|
||||||
|
engineConfiguration->cylinderBore = 78;
|
||||||
|
engineConfiguration->knockBandCustom = 6.8;
|
||||||
|
|
||||||
engineConfiguration->malfunctionIndicatorPin = PROTEUS_LS_10;
|
engineConfiguration->malfunctionIndicatorPin = PROTEUS_LS_11;
|
||||||
|
|
||||||
engineConfiguration->map.sensor.hwChannel = PROTEUS_IN_MAP;
|
engineConfiguration->map.sensor.hwChannel = PROTEUS_IN_ANALOG_VOLT_1;
|
||||||
|
engineConfiguration->map.sensor.type = MT_MPXH6400;
|
||||||
|
|
||||||
|
|
||||||
engineConfiguration->afr.hwChannel = EFI_ADC_11;
|
engineConfiguration->tps1_1AdcChannel = PROTEUS_IN_ANALOG_VOLT_3;
|
||||||
|
|
||||||
engineConfiguration->mafAdcChannel = EFI_ADC_13; // PA6 W46 <> W46
|
engineConfiguration->clt.adcChannel = PROTEUS_IN_ANALOG_TEMP_3;
|
||||||
|
engineConfiguration->iat.adcChannel = PROTEUS_IN_ANALOG_TEMP_2;
|
||||||
|
|
||||||
engineConfiguration->tps1_1AdcChannel = EFI_ADC_12;
|
engineConfiguration->fuelPumpPin = PROTEUS_LS_7;
|
||||||
|
|
||||||
engineConfiguration->clt.adcChannel = PROTEUS_IN_ANALOG_TEMP_1;
|
engineConfiguration->idle.solenoidPin = PROTEUS_LS_10;
|
||||||
engineConfiguration->iat.adcChannel = PROTEUS_IN_ANALOG_TEMP_3;
|
|
||||||
|
|
||||||
engineConfiguration->fuelPumpPin = PROTEUS_LS_6;
|
// Built in wideband controller on bus 2
|
||||||
|
engineConfiguration->enableAemXSeries = true;
|
||||||
|
engineConfiguration->widebandOnSecondBus = true;
|
||||||
|
engineConfiguration->enableVerboseCanTx = true;
|
||||||
|
|
||||||
engineConfiguration->idle.solenoidPin = PROTEUS_LS_7;
|
engineConfiguration->fanPin = PROTEUS_LS_6;
|
||||||
|
engineConfiguration->fanOnTemperature = 90;
|
||||||
|
engineConfiguration->fanOffTemperature = 84;
|
||||||
|
|
||||||
|
engineConfiguration->fan2Pin = PROTEUS_LS_5;
|
||||||
|
engineConfiguration->enableFan2WithAc = true;
|
||||||
|
|
||||||
engineConfiguration->fanPin = Gpio::B7;
|
engineConfiguration->clutchDownPin = PROTEUS_DIGITAL_4;
|
||||||
|
engineConfiguration->clutchDownPinInverted = true;
|
||||||
|
|
||||||
engineConfiguration->mainRelayPin = Gpio::G12;
|
#if EFI_PROD_CODE
|
||||||
|
engineConfiguration->brakePedalPin = getAdcChannelBrainPin("", PROTEUS_IN_ANALOG_VOLT_5);
|
||||||
#endif // EFI_PROD_CODE
|
#endif // EFI_PROD_CODE
|
||||||
|
|
||||||
|
engineConfiguration->acRelayPin = PROTEUS_LS_8;
|
||||||
|
|
||||||
|
// Disable ETBs
|
||||||
|
engineConfiguration->etbFunctions[0] = dc_function_e::DC_None;
|
||||||
|
engineConfiguration->etbFunctions[1] = dc_function_e::DC_None;
|
||||||
|
}
|
||||||
|
|
||||||
|
void setMiataNB1_Polygonus() {
|
||||||
|
setMazdaMiataEngineNB1Defaults();
|
||||||
|
setMiataNbPolygonusCommon();
|
||||||
|
|
||||||
|
engineConfiguration->camInputs[0] = PROTEUS_VR_2;
|
||||||
|
|
||||||
|
engineConfiguration->tpsMin = 102;
|
||||||
|
engineConfiguration->tpsMax = 727;
|
||||||
|
|
||||||
|
engineConfiguration->acSwitch = PROTEUS_DIGITAL_6;
|
||||||
|
|
||||||
|
// Fuel pressure
|
||||||
|
engineConfiguration->lowPressureFuel.hwChannel = PROTEUS_IN_ANALOG_VOLT_6;
|
||||||
|
engineConfiguration->lowPressureFuel.v1 = 0.5;
|
||||||
|
engineConfiguration->lowPressureFuel.value1 = 0;
|
||||||
|
engineConfiguration->lowPressureFuel.v2 = 4.5;
|
||||||
|
engineConfiguration->lowPressureFuel.value2 = 689.5;
|
||||||
|
|
||||||
|
// GPPWM1: VICS variable intake flap
|
||||||
|
engineConfiguration->gppwm[0].pin = PROTEUS_LS_16;
|
||||||
|
engineConfiguration->gppwm[0].pwmFrequency = 0;
|
||||||
|
engineConfiguration->gppwm[0].loadAxis = GPPWM_Tps;
|
||||||
|
engineConfiguration->gppwm[0].onAboveDuty = 60;
|
||||||
|
engineConfiguration->gppwm[0].offBelowDuty = 40;
|
||||||
|
strcpy(engineConfiguration->gpPwmNote[0], "VICS");
|
||||||
|
copyArray(engineConfiguration->gppwm[0].rpmBins, { 0, 1000, 2000, 2500, 3500, 5500, 6500, 7000 });
|
||||||
|
for (size_t i = 0; i < efi::size(engineConfiguration->gppwm[0].table); i++)
|
||||||
|
{
|
||||||
|
// Set the 3500 and 5500 rpm columns to 100
|
||||||
|
engineConfiguration->gppwm[0].table[i][4] = 100;
|
||||||
|
engineConfiguration->gppwm[0].table[i][5] = 100;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Both NB2 and MSM
|
||||||
|
void setMiataPolygonusNB2Common() {
|
||||||
|
engineConfiguration->camInputs[0] = PROTEUS_DIGITAL_1;
|
||||||
|
|
||||||
|
engineConfiguration->tpsMin = 92;
|
||||||
|
engineConfiguration->tpsMax = 872;
|
||||||
|
|
||||||
|
// NB2 has a main relay output, unlike NB1
|
||||||
|
engineConfiguration->mainRelayPin = PROTEUS_LS_16;
|
||||||
|
|
||||||
|
#if EFI_PROD_CODE
|
||||||
|
engineConfiguration->acSwitch = getAdcChannelBrainPin("", PROTEUS_IN_ANALOG_VOLT_6);
|
||||||
|
#endif // EFI_PROD_CODE
|
||||||
|
}
|
||||||
|
|
||||||
|
void setMiataNB2_Polygonus() {
|
||||||
|
setMazdaMiataEngineNB2Defaults();
|
||||||
|
setMiataNbPolygonusCommon();
|
||||||
|
setMiataPolygonusNB2Common();
|
||||||
|
|
||||||
|
// NB2 has VVT!
|
||||||
|
engineConfiguration->vvtPins[0] = PROTEUS_LS_13;
|
||||||
|
}
|
||||||
|
|
||||||
|
void setMiataNB_MSM_Polygonus() {
|
||||||
|
setMazdaMiataEngineNB1Defaults();
|
||||||
|
setMiataNbPolygonusCommon();
|
||||||
|
setMiataPolygonusNB2Common();
|
||||||
|
|
||||||
|
strcpy(engineConfiguration->engineCode, "NB1");
|
||||||
|
engineConfiguration->compressionRatio = 9.5;
|
||||||
|
engineConfiguration->isForcedInduction = true;
|
||||||
|
|
||||||
|
// MSM has boost control!
|
||||||
|
engineConfiguration->boostControlPin = PROTEUS_HS_3;
|
||||||
|
|
||||||
|
// MSM gets a different IAT from the other NBs
|
||||||
|
engineConfiguration->iat.config = { 0, 40, 60, 112000, 17000, 8000, 0 };
|
||||||
}
|
}
|
||||||
#endif // HW_PROTEUS
|
#endif // HW_PROTEUS
|
||||||
|
|
||||||
|
|
|
@ -29,10 +29,9 @@ void setMazdaMiata2003EngineConfigurationBoardTest();
|
||||||
*/
|
*/
|
||||||
void setMiataNB2_Proteus_TCU();
|
void setMiataNB2_Proteus_TCU();
|
||||||
|
|
||||||
/**
|
void setMiataNB1_Polygonus();
|
||||||
* set engine_type 67
|
void setMiataNB2_Polygonus();
|
||||||
*/
|
void setMiataNB_MSM_Polygonus();
|
||||||
void setMiataNB2_Proteus();
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* set engine_type 69
|
* set engine_type 69
|
||||||
|
|
|
@ -136,15 +136,14 @@ static void setDefaultStftSettings() {
|
||||||
}
|
}
|
||||||
|
|
||||||
static const uint8_t tpsTpsTable[TPS_TPS_ACCEL_TABLE][TPS_TPS_ACCEL_TABLE] = {
|
static const uint8_t tpsTpsTable[TPS_TPS_ACCEL_TABLE][TPS_TPS_ACCEL_TABLE] = {
|
||||||
/* Generated by TS2C on Tue Apr 18 21:29:16 EDT 2017*/
|
{ 0, 0, 0, 0, 0, 0, 0, 0 },
|
||||||
{/* 0 0 *//* 0 0.0*/0, /* 1 10.0*/0, /* 2 20.0*/0, /* 3 35.0*/0, /* 4 50.0*/0, /* 5 65.0*/0, /* 6 80.0*/0, /* 7 100.0*/0, },
|
{ 2, 0, 0, 0, 0, 0, 0, 0 },
|
||||||
{/* 1 10 *//* 0 0.0*/10, /* 1 10.0*/0, /* 2 20.0*/0, /* 3 35.0*/0, /* 4 50.0*/0, /* 5 65.0*/0, /* 6 80.0*/0, /* 7 100.0*/0, },
|
{ 3, 2, 0, 0, 0, 0, 0, 0 },
|
||||||
{/* 2 20 *//* 0 0.0*/17, /* 1 10.0*/10, /* 2 20.0*/0, /* 3 35.0*/0, /* 4 50.0*/0, /* 5 65.0*/0, /* 6 80.0*/0, /* 7 100.0*/0, },
|
{ 4, 3, 2, 0, 0, 0, 0, 0 },
|
||||||
{/* 3 35 *//* 0 0.0*/23, /* 1 10.0*/17, /* 2 20.0*/10, /* 3 35.0*/0, /* 4 50.0*/0, /* 5 65.0*/0, /* 6 80.0*/0, /* 7 100.0*/0, },
|
{ 5, 4, 3, 2, 0, 0, 0, 0 },
|
||||||
{/* 4 50 *//* 0 0.0*/28, /* 1 10.0*/23, /* 2 20.0*/17, /* 3 35.0*/10, /* 4 50.0*/0, /* 5 65.0*/0, /* 6 80.0*/0, /* 7 100.0*/0, },
|
{ 5, 5, 4, 3, 2, 0, 0, 0 },
|
||||||
{/* 5 65 *//* 0 0.0*/32, /* 1 10.0*/28, /* 2 20.0*/23, /* 3 35.0*/17, /* 4 50.0*/10, /* 5 65.0*/0, /* 6 80.0*/0, /* 7 100.0*/0, },
|
{ 6, 5, 5, 4, 3, 2, 0, 0 },
|
||||||
{/* 6 80 *//* 0 0.0*/35, /* 1 10.0*/32, /* 2 20.0*/28, /* 3 35.0*/23, /* 4 50.0*/17, /* 5 65.0*/10, /* 6 80.0*/0, /* 7 100.0*/0, },
|
{ 7, 6, 5, 5, 4, 3, 2, 0 },
|
||||||
{/* 7 100 *//* 0 0.0*/37, /* 1 10.0*/35, /* 2 20.0*/32, /* 3 35.0*/28, /* 4 50.0*/23, /* 5 65.0*/17, /* 6 80.0*/10, /* 7 100.0*/0, },
|
|
||||||
};
|
};
|
||||||
|
|
||||||
static void setMazdaMiataNbTpsTps() {
|
static void setMazdaMiataNbTpsTps() {
|
||||||
|
|
|
@ -731,11 +731,17 @@ void resetConfigurationExt(configuration_callback_t boardCallback, engine_type_e
|
||||||
case engine_type_e::PROTEUS_E65_6H_MAN_IN_THE_MIDDLE:
|
case engine_type_e::PROTEUS_E65_6H_MAN_IN_THE_MIDDLE:
|
||||||
setEngineProteusGearboxManInTheMiddle();
|
setEngineProteusGearboxManInTheMiddle();
|
||||||
break;
|
break;
|
||||||
case engine_type_e::PROTEUS_MIATA_NA6:
|
case engine_type_e::POLYGONUS_MIATA_NA6:
|
||||||
setMiataNa6_Proteus();
|
setMiataNa6_Polygonus();
|
||||||
break;
|
break;
|
||||||
case engine_type_e::PROTEUS_MIATA_NB2:
|
case engine_type_e::POLYGONUS_MIATA_NB1:
|
||||||
setMiataNB2_Proteus();
|
setMiataNB1_Polygonus();
|
||||||
|
break;
|
||||||
|
case engine_type_e::POLYGONUS_MIATA_NB2:
|
||||||
|
setMiataNB2_Polygonus();
|
||||||
|
break;
|
||||||
|
case engine_type_e::POLYGONUS_MIATA_MSM:
|
||||||
|
setMiataNB_MSM_Polygonus();
|
||||||
break;
|
break;
|
||||||
#ifdef HARDWARE_CI
|
#ifdef HARDWARE_CI
|
||||||
case engine_type_e::PROTEUS_ANALOG_PWM_TEST:
|
case engine_type_e::PROTEUS_ANALOG_PWM_TEST:
|
||||||
|
|
|
@ -146,7 +146,6 @@ enum class engine_type_e : uint32_t {
|
||||||
DODGE_RAM = 64,
|
DODGE_RAM = 64,
|
||||||
CITROEN_TU3JP = 65,
|
CITROEN_TU3JP = 65,
|
||||||
|
|
||||||
PROTEUS_MIATA_NB2 = 67,
|
|
||||||
MRE_M111 = 68,
|
MRE_M111 = 68,
|
||||||
|
|
||||||
HELLEN_NB2 = 69,
|
HELLEN_NB2 = 69,
|
||||||
|
@ -196,12 +195,16 @@ enum class engine_type_e : uint32_t {
|
||||||
HELLEN_154_HYUNDAI_COUPE_BK2 = 95,
|
HELLEN_154_HYUNDAI_COUPE_BK2 = 95,
|
||||||
|
|
||||||
WASTEGATE_PROTEUS_TEST = 96,
|
WASTEGATE_PROTEUS_TEST = 96,
|
||||||
PROTEUS_MIATA_NA6 = 4,
|
|
||||||
|
// Polygonus PnP presets
|
||||||
|
POLYGONUS_MIATA_NA6 = 4,
|
||||||
|
POLYGONUS_MIATA_NB1 = 11,
|
||||||
|
POLYGONUS_MIATA_NB2 = 67,
|
||||||
|
POLYGONUS_MIATA_MSM = 12,
|
||||||
|
|
||||||
ET_UNUSED_97 = 97,
|
ET_UNUSED_97 = 97,
|
||||||
ET_UNUSED_98 = 98,
|
ET_UNUSED_98 = 98,
|
||||||
ET_UNUSED_17 = 17,
|
ET_UNUSED_17 = 17,
|
||||||
ET_UNUSED_11 = 11,
|
|
||||||
ET_UNUSED_12 = 12,
|
|
||||||
ET_UNUSED_13 = 13,
|
ET_UNUSED_13 = 13,
|
||||||
ET_UNUSED_15 = 15,
|
ET_UNUSED_15 = 15,
|
||||||
ET_UNUSED_33 = 33,
|
ET_UNUSED_33 = 33,
|
||||||
|
|
|
@ -2099,11 +2099,13 @@ cmd_set_engine_type_PROTEUS_VW_B6 = "@@TS_IO_TEST_COMMAND_char@@@@ts_command
|
||||||
cmd_set_engine_type_PROTEUS_GM_LS_4 = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_SET_ENGINE_TYPE_16_hex@@@@engine_type_e_PROTEUS_GM_LS_4_16_hex@@"
|
cmd_set_engine_type_PROTEUS_GM_LS_4 = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_SET_ENGINE_TYPE_16_hex@@@@engine_type_e_PROTEUS_GM_LS_4_16_hex@@"
|
||||||
cmd_set_engine_type_PROTEUS_HONDA_K = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_SET_ENGINE_TYPE_16_hex@@@@engine_type_e_PROTEUS_HONDA_K_16_hex@@"
|
cmd_set_engine_type_PROTEUS_HONDA_K = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_SET_ENGINE_TYPE_16_hex@@@@engine_type_e_PROTEUS_HONDA_K_16_hex@@"
|
||||||
cmd_set_engine_type_PROTEUS_HONDA_OBD2A = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_SET_ENGINE_TYPE_16_hex@@@@engine_type_e_PROTEUS_HONDA_OBD2A_16_hex@@"
|
cmd_set_engine_type_PROTEUS_HONDA_OBD2A = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_SET_ENGINE_TYPE_16_hex@@@@engine_type_e_PROTEUS_HONDA_OBD2A_16_hex@@"
|
||||||
cmd_set_engine_type_PROTEUS_MIATA_NB2 = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_SET_ENGINE_TYPE_16_hex@@@@engine_type_e_PROTEUS_MIATA_NB2_16_hex@@"
|
|
||||||
cmd_set_engine_type_Proteus_Miata_TCU = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_SET_ENGINE_TYPE_16_hex@@@@engine_type_e_MIATA_PROTEUS_TCU_16_hex@@"
|
cmd_set_engine_type_Proteus_Miata_TCU = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_SET_ENGINE_TYPE_16_hex@@@@engine_type_e_MIATA_PROTEUS_TCU_16_hex@@"
|
||||||
cmd_set_engine_type_PROTEUS_LUA_DEMO = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_SET_ENGINE_TYPE_16_hex@@@@engine_type_e_PROTEUS_LUA_DEMO_16_hex@@"
|
cmd_set_engine_type_PROTEUS_LUA_DEMO = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_SET_ENGINE_TYPE_16_hex@@@@engine_type_e_PROTEUS_LUA_DEMO_16_hex@@"
|
||||||
cmd_set_engine_type_PROTEUS_HARLEY = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_SET_ENGINE_TYPE_16_hex@@@@engine_type_e_PROTEUS_HARLEY_16_hex@@"
|
cmd_set_engine_type_PROTEUS_HARLEY = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_SET_ENGINE_TYPE_16_hex@@@@engine_type_e_PROTEUS_HARLEY_16_hex@@"
|
||||||
cmd_set_engine_type_PROTEUS_MIATA_NA6 = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_SET_ENGINE_TYPE_16_hex@@@@engine_type_e_PROTEUS_MIATA_NA6_16_hex@@"
|
cmd_set_engine_type_POLYGONUS_MIATA_NA6 = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_SET_ENGINE_TYPE_16_hex@@@@engine_type_e_POLYGONUS_MIATA_NA6_16_hex@@"
|
||||||
|
cmd_set_engine_type_POLYGONUS_MIATA_NB1 = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_SET_ENGINE_TYPE_16_hex@@@@engine_type_e_POLYGONUS_MIATA_NB1_16_hex@@"
|
||||||
|
cmd_set_engine_type_POLYGONUS_MIATA_NB2 = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_SET_ENGINE_TYPE_16_hex@@@@engine_type_e_POLYGONUS_MIATA_NB2_16_hex@@"
|
||||||
|
cmd_set_engine_type_POLYGONUS_MIATA_MSM = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_SET_ENGINE_TYPE_16_hex@@@@engine_type_e_POLYGONUS_MIATA_MSM_16_hex@@"
|
||||||
|
|
||||||
|
|
||||||
; ETB_BENCH_ENGINE = 58
|
; ETB_BENCH_ENGINE = 58
|
||||||
|
@ -4203,14 +4205,19 @@ dialog = tcuControls, "Transmission Settings"
|
||||||
commandButton = "microRusEFI BCM", cmd_set_engine_type_microRusEFI_MRE_BODY_CONTROL@@if_show_microRusEFI_presets
|
commandButton = "microRusEFI BCM", cmd_set_engine_type_microRusEFI_MRE_BODY_CONTROL@@if_show_microRusEFI_presets
|
||||||
commandButton = "microRusEFI Subaru EJ18", cmd_set_engine_type_MRE_SUBARU_EJ18@@if_show_microRusEFI_presets
|
commandButton = "microRusEFI Subaru EJ18", cmd_set_engine_type_MRE_SUBARU_EJ18@@if_show_microRusEFI_presets
|
||||||
|
|
||||||
commandButton = "FOME PnP Miata NA6", cmd_set_engine_type_PROTEUS_MIATA_NA6@@if_show_Proteus_presets
|
commandButton = "FOME PnP Miata NA6", cmd_set_engine_type_POLYGONUS_MIATA_NA6@@if_show_Proteus_presets
|
||||||
|
; commandButton = "FOME PnP Miata NA6 VVT Swap", cmd_set_engine_type_POLYGONUS_MIATA_NA6@@if_show_Proteus_presets
|
||||||
|
; commandButton = "FOME PnP Miata 94 ???", cmd_set_engine_type_POLYGONUS_MIATA_NA6@@if_show_Proteus_presets
|
||||||
|
; commandButton = "FOME PnP Miata NA8 96", cmd_set_engine_type_POLYGONUS_MIATA_NA6@@if_show_Proteus_presets
|
||||||
|
commandButton = "FOME PnP Miata NB1", cmd_set_engine_type_POLYGONUS_MIATA_NB1@@if_show_Proteus_presets
|
||||||
|
commandButton = "FOME PnP Miata NB2 VVT", cmd_set_engine_type_POLYGONUS_MIATA_NB2@@if_show_Proteus_presets
|
||||||
|
commandButton = "FOME PnP Miata MSM", cmd_set_engine_type_POLYGONUS_MIATA_MSM@@if_show_Proteus_presets
|
||||||
|
|
||||||
commandButton = "Proteus M73 v12", cmd_set_engine_type_Proteus_M73@@if_show_Proteus_presets
|
commandButton = "Proteus M73 v12", cmd_set_engine_type_Proteus_M73@@if_show_Proteus_presets
|
||||||
commandButton = "Proteus GDI VAG B6 test", cmd_set_engine_type_PROTEUS_VW_B6@@if_show_Proteus_presets
|
commandButton = "Proteus GDI VAG B6 test", cmd_set_engine_type_PROTEUS_VW_B6@@if_show_Proteus_presets
|
||||||
commandButton = "Proteus GM Gen4", cmd_set_engine_type_PROTEUS_GM_LS_4@@if_show_Proteus_presets
|
commandButton = "Proteus GM Gen4", cmd_set_engine_type_PROTEUS_GM_LS_4@@if_show_Proteus_presets
|
||||||
commandButton = "Proteus Miata TCU", cmd_set_engine_type_Proteus_Miata_TCU@@if_show_Proteus_presets
|
commandButton = "Proteus Miata TCU", cmd_set_engine_type_Proteus_Miata_TCU@@if_show_Proteus_presets
|
||||||
commandButton = "Proteus Lua Demo", cmd_set_engine_type_PROTEUS_LUA_DEMO@@if_show_Proteus_presets
|
commandButton = "Proteus Lua Demo", cmd_set_engine_type_PROTEUS_LUA_DEMO@@if_show_Proteus_presets
|
||||||
commandButton = "Proteus Miata NB2", cmd_set_engine_type_PROTEUS_MIATA_NB2@@if_show_Proteus_presets
|
|
||||||
commandButton = "Proteus Honda K", cmd_set_engine_type_PROTEUS_HONDA_K@@if_show_Proteus_presets
|
commandButton = "Proteus Honda K", cmd_set_engine_type_PROTEUS_HONDA_K@@if_show_Proteus_presets
|
||||||
commandButton = "Proteus Honda OBD2A", cmd_set_engine_type_PROTEUS_HONDA_OBD2A@@if_show_Proteus_presets
|
commandButton = "Proteus Honda OBD2A", cmd_set_engine_type_PROTEUS_HONDA_OBD2A@@if_show_Proteus_presets
|
||||||
commandButton = "Proteus Harley", cmd_set_engine_type_PROTEUS_HARLEY@@if_show_Proteus_presets
|
commandButton = "Proteus Harley", cmd_set_engine_type_PROTEUS_HARLEY@@if_show_Proteus_presets
|
||||||
|
|
|
@ -63,7 +63,7 @@ TEST(fuel, testTpsAccelEnrichmentScheduling) {
|
||||||
Sensor::setMockValue(SensorType::Tps1, 70);
|
Sensor::setMockValue(SensorType::Tps1, 70);
|
||||||
eth.fireTriggerEvents2(/* count */ 1, 25 /* ms */);
|
eth.fireTriggerEvents2(/* count */ 1, 25 /* ms */);
|
||||||
|
|
||||||
float expectedAEValue = 7;
|
float expectedAEValue = 1.4;
|
||||||
// it does not matter how many times we invoke 'getTpsEnrichment' - state does not change
|
// it does not matter how many times we invoke 'getTpsEnrichment' - state does not change
|
||||||
for (int i = 0; i <20;i++) {
|
for (int i = 0; i <20;i++) {
|
||||||
ASSERT_NEAR(expectedAEValue, engine->tpsAccelEnrichment.getTpsEnrichment(), EPS4D);
|
ASSERT_NEAR(expectedAEValue, engine->tpsAccelEnrichment.getTpsEnrichment(), EPS4D);
|
||||||
|
|
|
@ -182,7 +182,7 @@ TEST(trigger, testNB2CamInput) {
|
||||||
eth.moveTimeForwardUs(MS2US( 30));
|
eth.moveTimeForwardUs(MS2US( 30));
|
||||||
hwHandleVvtCamSignal(true, getTimeNowNt(), 0);
|
hwHandleVvtCamSignal(true, getTimeNowNt(), 0);
|
||||||
|
|
||||||
EXPECT_NEAR(290.5f, engine->triggerCentral.getVVTPosition(0, 0), EPS2D);
|
EXPECT_NEAR(297.5f, engine->triggerCentral.getVVTPosition(0, 0), EPS2D);
|
||||||
// actually position based on VVT!
|
// actually position based on VVT!
|
||||||
ASSERT_EQ(totalRevolutionCountBeforeVvtSync + 3, engine->triggerCentral.triggerState.getCrankSynchronizationCounter());
|
ASSERT_EQ(totalRevolutionCountBeforeVvtSync + 3, engine->triggerCentral.triggerState.getCrankSynchronizationCounter());
|
||||||
|
|
||||||
|
|
|
@ -20,7 +20,7 @@ TEST(realCrankingNB2, normalCranking) {
|
||||||
}
|
}
|
||||||
|
|
||||||
// VVT position nearly zero!
|
// VVT position nearly zero!
|
||||||
EXPECT_NEAR(engine->triggerCentral.getVVTPosition(0, 0), 4.2627f, 1e-4);
|
EXPECT_NEAR(engine->triggerCentral.getVVTPosition(0, 0), 11.2627f, 1e-4);
|
||||||
|
|
||||||
// Check the number of times VVT information was used to adjust crank phase
|
// Check the number of times VVT information was used to adjust crank phase
|
||||||
// This should happen exactly once: once we sync, we shouldn't lose it.
|
// This should happen exactly once: once we sync, we shouldn't lose it.
|
||||||
|
@ -45,7 +45,7 @@ TEST(realCrankingNB2, crankingMissingInjector) {
|
||||||
}
|
}
|
||||||
|
|
||||||
// VVT position nearly zero!
|
// VVT position nearly zero!
|
||||||
EXPECT_NEAR(engine->triggerCentral.getVVTPosition(0, 0), -2.5231f, 1e-4);
|
EXPECT_NEAR(engine->triggerCentral.getVVTPosition(0, 0), 4.476928f, 1e-4);
|
||||||
|
|
||||||
ASSERT_EQ(316, round(Sensor::getOrZero(SensorType::Rpm)));
|
ASSERT_EQ(316, round(Sensor::getOrZero(SensorType::Rpm)));
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue