From 07018da78d2af9e8c4f2bbce2aec4c0d8aa712bd Mon Sep 17 00:00:00 2001 From: Josh Stewart Date: Thu, 26 Dec 2013 21:34:32 +1100 Subject: [PATCH] Complete algorithm selection settings --- kartduino.ino | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/kartduino.ino b/kartduino.ino index 81db157d..1615ee65 100644 --- a/kartduino.ino +++ b/kartduino.ino @@ -215,10 +215,20 @@ void loop() //----------------------------------------------------------------------------------------------------- //Begin the fuel calculation - //Perform lookup into fuel map for RPM vs MAP value - currentStatus.VE = getTableValue(fuelTable, currentStatus.MAP, currentStatus.RPM); - //Calculate an injector pulsewidth form the VE - currentStatus.PW = PW_SD(req_fuel_uS, currentStatus.VE, currentStatus.MAP, 100, engineInjectorDeadTime); //The 100 here is just a placeholder for any enrichment factors (Cold start, acceleration etc). To add 10% extra fuel, this would be 110 + //Calculate an injector pulsewidth from the VE + if (configPage1.algorithm == 0) + { + //Speed Density + currentStatus.VE = getTableValue(fuelTable, currentStatus.MAP, currentStatus.RPM); //Perform lookup into fuel map for RPM vs MAP value + currentStatus.PW = PW_SD(req_fuel_uS, currentStatus.VE, currentStatus.MAP, 100, engineInjectorDeadTime); //The 100 here is just a placeholder for any enrichment factors (Cold start, acceleration etc). To add 10% extra fuel, this would be 110 + } + else + { + //Alpha-N + currentStatus.VE = getTableValue(fuelTable, currentStatus.TPS, currentStatus.RPM); //Perform lookup into fuel map for RPM vs TPS value + currentStatus.PW = PW_AN(req_fuel_uS, currentStatus.VE, currentStatus.TPS, 100, engineInjectorDeadTime); //The 100 here is just a placeholder for any enrichment factors (Cold start, acceleration etc). To add 10% extra fuel, this would be 110 + } + //Perform a lookup to get the desired ignition advance currentStatus.advance = getTableValue(ignitionTable, currentStatus.MAP, currentStatus.RPM);