Fix duty cycle calculation when sequential fuel is used (+formatting of ini)

This commit is contained in:
Josh Stewart 2017-11-01 13:33:39 +11:00
parent 95aea5637c
commit c7a78ae44f
1 changed files with 63 additions and 62 deletions

View File

@ -963,7 +963,7 @@ menuDialog = main
ignBypassEnable = "If turned on, a ground signal will be output during cranking on the specified pin. This is used to bypass the Speeduino ignition control during cranking."
ignCranklock = "On certain low resolution ignition patterns, the cranking timing can be locked to occur when a pulse is recieved."
multiplyMAP = "If enabled, the MAP reading is included directly into the pulsewidth calculation. This results in a flatter VE table that can be easier to tune in some instances. VE table must be retuned when this value is changed."
multiplyMAP = "If enabled, the MAP reading is included directly into the pulsewidth calculation by multiplying the VE lookup value by the MAP:Baro ratio. This results in a flatter VE table that can be easier to tune in some instances. VE table must be retuned when this value is changed."
includeAFR = "When enabled, the current AFR reading is incorporated directly in the pulsewidth calculation as a percentage of the current target ratio. VE table must be retuned when this value is changed. "
useExtBaro = "By Default, Speeduino will measure barometric pressure upon startup. Optionally however, a 2nd pressure sensor can be used to perform live barometric readings whilst the system is on."
@ -1185,8 +1185,8 @@ menuDialog = main
panel = veTable1Tbl
dialog = veTableDialog_south, ""
field = "Multiply VE value by MAP", multiplyMAP
field = "Include AFR directly", includeAFR, { egoType == 2 }
field = "Multiply VE value by MAP:Baro ratio", multiplyMAP
field = "Multiply by ratio of AFR to Target AFR", includeAFR, { egoType == 2 }
dialog = veTableDialog, "VE Table"
panel = veTableDialog_north, North
@ -1390,19 +1390,19 @@ menuDialog = main
dialog = mapCal, "Calibrate MAP"
field = "#MAP Sensor"
settingSelector = "Common Pressure Sensors"
settingOption = "MPX4115", mapMin=10, mapMax=122
settingOption = "MPX4250", mapMin=10, mapMax=260
settingOption = "GM 1-BAR", mapMin=10, mapMax=105
settingOption = "GM 2-BAR", mapMin=9, mapMax=208
settingOption = "GM 3-BAR / MPXH6300", mapMin=1, mapMax=315
settingOption = "MPXH5700", mapMin=0, mapMax=700
settingOption = "MPXH6400", mapMin=3, mapMax=416
settingOption = "MPX4400", mapMin=0, mapMax=400
settingOption = "MPX4115", mapMin=10, mapMax=118 ; https://www.nxp.com/docs/en/data-sheet/MPX4115.pdf
settingOption = "MPX4250", mapMin=10, mapMax=260 ; https://www.nxp.com/docs/en/data-sheet/MPX4250A.pdf Vout = VCC x (P x 0.004 0.04)
settingOption = "GM 1-BAR", mapMin=10, mapMax=105 ; https://speeduino.com/wiki/index.php/File:GM_Table.gif
settingOption = "GM 2-BAR", mapMin=9, mapMax=208 ; https://speeduino.com/wiki/index.php/File:GM_Table.gif
settingOption = "GM 3-BAR", mapMin=1, mapMax=315 ; VOUT = VS*(.00318*P-.00353)
settingOption = "MPXH6300", mapMin=1, mapMax=315 ; https://www.nxp.com/docs/en/data-sheet/MPXH6300A.pdf VOUT = VS*(.00318*P-.00353)
settingOption = "MPX5700", mapMin=-31, mapMax=746 ; https://www.nxp.com/docs/en/data-sheet/MPX5700.pdf Vout = VS*(0.0012858*P+0.04)
settingOption = "MPX6400", mapMin=3, mapMax=416 ; https://www.nxp.com/docs/en/data-sheet/MPXH6400A.pdf VOUT = VS x (0.002421xP0.00842)
settingOption = "Denso 079800", mapMin=0, mapMax=173 ; http://speeduino.com/forum/viewtopic.php?f=18&t=510&p=7023#p7021
settingOption = "VW/Audi/Porsche 250kPa", mapMin=26, mapMax=250 ; http://speeduino.com/forum/viewtopic.php?p=17502#p17502
field = "Value At 0.0 Volts", mapMin
field = "Value At 5.0 Volts", mapMax
field = "kPa At 0.0 Volts", mapMin
field = "kPa At 5.0 Volts", mapMax
field = "#Baro Sensor"
field = "Use external Baro sensor", useExtBaro
@ -2276,7 +2276,8 @@ cmdtestspk450dc = "E\x03\x0C"
throttle = { tps }, "%"
cycleTime = { rpm ? ( 60000.0 / rpm ) : 0 }
dutyCycle = { rpm ? ( 100.0*pulseWidth/cycleTime ) : 0 }
cycleMultiplier = { injLayout == 3 ? 2 : 1 }
dutyCycle = { rpm ? ( 100.0*pulseWidth/(cycleTime * cycleMultiplier) ) : 0 }
boostCutOut = { boostCutFuel || boostCutSpark }
lambda = { afr / stoich }