auto-sync

This commit is contained in:
rusEfi 2015-02-14 23:04:03 -06:00
parent 53b7ad7a83
commit 3873a40046
3 changed files with 43 additions and 29 deletions

View File

@ -229,6 +229,10 @@ void setMiata1990(engine_configuration_s *engineConfiguration) {
// todo: idleValvePin
}
/**
* pin 1I/W9 - extra +5v
*/
void setFordEscortGt(engine_configuration_s *engineConfiguration) {
board_configuration_s *boardConfiguration = &engineConfiguration->bc;
engineConfiguration->trigger.type = TT_MAZDA_DOHC_1_4;
@ -238,8 +242,13 @@ void setFordEscortGt(engine_configuration_s *engineConfiguration) {
setFrankenso_01_LCD(boardConfiguration);
setFrankenso0_1_joystick(engineConfiguration);
setDensoTODO(engineConfiguration);
engineConfiguration->globalFuelCorrection = 0.75;
engineConfiguration->specs.displacement = 1.839;
engineConfiguration->algorithm = LM_PLAIN_MAF;
// engineConfiguration->algorithm = LM_PLAIN_MAF;
engineConfiguration->algorithm = LM_SPEED_DENSITY;
// engineConfiguration->algorithm = LM_REAL_MAF;
boardConfiguration->tunerStudioSerialSpeed = 9600;
setFuelLoadBin(engineConfiguration, 1.2, 4.4);
@ -260,21 +269,30 @@ void setFordEscortGt(engine_configuration_s *engineConfiguration) {
engineConfiguration->injector.flow = 265;
engineConfiguration->hasBaroSensor = false;
engineConfiguration->hasMapSensor = true;
boardConfiguration->isFastAdcEnabled = true;
engineConfiguration->map.sensor.type = MT_DENSO183;
engineConfiguration->map.sensor.hwChannel = EFI_ADC_4;
// set_global_trigger_offset_angle 659
engineConfiguration->globalTriggerAngleOffset = 0;
// set_ignition_offset 170
initEgoSensor(&engineConfiguration->afr, ES_BPSX_D1);
engineConfiguration->afr.hwChannel = EFI_ADC_2;
// set_global_trigger_offset_angle -40
engineConfiguration->globalTriggerAngleOffset = -40;
// set_ignition_offset 0
engineConfiguration->ignitionBaseAngle = 0;
// set_injection_offset 510
engineConfiguration->injectionAngle = 135;
// set_injection_offset 0
engineConfiguration->injectionAngle = 0;
engineConfiguration->crankingTimingAngle = 10;
// set_cranking_timing_angle 3
engineConfiguration->crankingTimingAngle = 3;
engineConfiguration->crankingChargeAngle = 70;
setWholeTimingTable(engineConfiguration, 10);
// set_whole_fuel_map 5
setWholeFuelMap(engineConfiguration, 5);
setSingleCoilDwell(engineConfiguration);
engineConfiguration->ignitionMode = IM_ONE_COIL;
@ -297,18 +315,16 @@ void setFordEscortGt(engine_configuration_s *engineConfiguration) {
// Frankenso low out #4:
// Frankenso low out #5: PE3
// Frankenso low out #6: PE4
// Frankenso low out #7: PE0<>PD5 INJ 1&3
// Frankenso low out #7: PE0<>PD5
// Frankenso low out #8: PE2 INJ
// Frankenso low out #9: PB9 IDLE
// Frankenso low out #10: PE1<>PD3
// Frankenso low out #10: PE1<>PD3 INJ 1&3
// Frankenso low out #11: PB8
// Frankenso low out #12: PB7
boardConfiguration->injectionPins[0] = GPIOD_5;
boardConfiguration->injectionPins[0] = GPIOD_3;
boardConfiguration->injectionPins[1] = GPIOE_2;
// set_whole_fuel_map 5
setWholeFuelMap(engineConfiguration, 5);
//setDefaultCrankingFuel(engineConfiguration);
engineConfiguration->cranking.baseFuel = 5;
@ -328,7 +344,8 @@ void setFordEscortGt(engine_configuration_s *engineConfiguration) {
setCommonNTCSensor(&engineConfiguration->iat);
engineConfiguration->iat.bias_resistor = 2700;
engineConfiguration->tpsAdcChannel = EFI_ADC_2;
engineConfiguration->hasTpsSensor = false;
engineConfiguration->tpsAdcChannel = EFI_ADC_NONE;
// engineConfiguration->map.sensor.hwChannel = EFI_ADC_4;
engineConfiguration->mafAdcChannel = EFI_ADC_0;
engineConfiguration->cltAdcChannel = EFI_ADC_12;

View File

@ -19,14 +19,9 @@ import static com.rusefi.TestingUtils.*;
public class AutoTest {
private static void mainTestBody() {
testFordAspire();
testMazdaProtege();
test1995DodgeNeon();
sendCommand("set_engine_type 7");
testFord6();
testFordFiesta();
}
@ -36,20 +31,20 @@ public class AutoTest {
IoUtil.changeRpm(200);
String msg = "ProtegeLX cranking";
chart = nextChart();
double x = 100;
double x = 107;
assertWave(msg, chart, WaveChart.SPARK_1, 0.194433, x, x + 180, x + 360, x + 540);
x = 135;
assertWaveFall(msg, chart, WaveChart.INJECTOR_1, 0.00626666, x, x + 180, x + 360, x + 540);
assertWaveFall(msg, chart, WaveChart.INJECTOR_2, 0.00626666, x, x + 180, x + 360, x + 540);
x = 0;
assertWaveFall(msg, chart, WaveChart.INJECTOR_1, 0.004666666666, x, x + 180, x + 360, x + 540);
assertWaveFall(msg, chart, WaveChart.INJECTOR_2, 0.004666666666, x, x + 180, x + 360, x + 540);
msg = "ProtegeLX running";
IoUtil.changeRpm(2000);
chart = nextChart();
x = 121;
assertWave(msg, chart, WaveChart.SPARK_1, 0.13333333333333333, x, x + 180, x + 360, x + 540);
x = 135;
assertWaveFall(msg, chart, WaveChart.INJECTOR_1, 0.11733333333333336, x + 180, x + 540);
assertWaveFall(msg, chart, WaveChart.INJECTOR_2, 0.11733333333333336, x, x + 360);
x = 0;
assertWaveFall(msg, chart, WaveChart.INJECTOR_1, 0.09766666666666689, x + 180, x + 540);
assertWaveFall(msg, chart, WaveChart.INJECTOR_2, 0.09766666666666689, x, x + 360);
}
private static void test1995DodgeNeon() {
@ -96,6 +91,7 @@ public class AutoTest {
}
private static void testFord6() {
sendCommand("set_engine_type 7");
WaveChart chart;
IoUtil.changeRpm(2000);
chart = nextChart();
@ -113,7 +109,8 @@ public class AutoTest {
}
private static void testFordAspire() {
String msg = "Aspire";
sendCommand("set_engine_type 3");
String msg;
WaveChart chart;
// todo: interesting changeRpm(100);
sendCommand("set_cranking_rpm 500");

View File

@ -29,7 +29,7 @@ public class TestingUtils {
}
private static double fixAngle(double angle) {
while (angle > 720)
while (angle >= 720)
angle -= 720;
return angle;
}
@ -72,7 +72,7 @@ public class TestingUtils {
for (WaveReport.UpDown ud : wr) {
int eventTime = rise ? ud.upTime : ud.downTime;
double angleByTime = revolutionLog.getCrankAngleByTime(eventTime);
assertCloseEnough(msg + " angle for " + key + "@" + eventTime, angleByTime, expectedAngles);
assertCloseEnough(msg + " angle for " + key + "@" + eventTime, fixAngle(angleByTime), expectedAngles);
assertCloseEnough(msg + "width for " + key, ud.getDutyCycle(revolutionLog), width);
}