PJSC(Pump Jet Solenoid Controller)はArduinoを使用したバイク用燃料噴射コントローラです。このプロジェクトは、オープンソースECUプロジェクト『Speeduino』をベースにしています。
(empty log message)
| @@ -7,7 +7,7 @@ | ||
| 7 | 7 | |
| 8 | 8 | queryCommand = "Q" |
| 9 | 9 | ;[PJSC v1.01] signature = "speeduino 201902" |
| 10 | - signature = "speeduino - PJSC v1.01" ;[PJSC v1.01] | |
| 10 | + signature = "speeduino 201902" ;[PJSC v1.02] | |
| 11 | 11 | versionInfo = "S" ;This info is what is displayed to user |
| 12 | 12 | |
| 13 | 13 | [TunerStudio] |
| @@ -334,10 +334,13 @@ | ||
| 334 | 334 | unused2_75 = bits, U08, 75, [7:7] ;[PJSC v1.01] |
| 335 | 335 | exTrigModeSelect = bits, U08, 76, [0:1], "Disable", "Spark timing capture", "MAP select switch", "INVALID" ;[PJSC] |
| 336 | 336 | externalTrigEdge = bits, U08, 76, [2:2], "Rising", "Falling" ; | |
| 337 | - exValveCaptureEnabled = bits, U08, 76, [3:3], "Disable", "Exhaust Valve Position capture" ; | | |
| 338 | - exValveCalibrationMode = bits, U08, 76, [4:4], "Off", "On" ;[PJSC] | |
| 339 | - unused2_76 = bits, U08, 76, [5:7] ;[PJSC v1.01] | |
| 340 | - dutyPulseCaptureEnabled = bits, U08, 77, [0:0], "Disable", "PWM input" ; | | |
| 337 | +;[PJSC v1.02] exValveCaptureEnabled = bits, U08, 76, [3:3], "Disable", "Exhaust Valve Position capture" ; | | |
| 338 | +;[PJSC v1.02] exValveCalibrationMode = bits, U08, 76, [4:4], "Off", "On" ;[PJSC] | |
| 339 | +;[PJSC v1.02] unused2_76 = bits, U08, 76, [5:7] ;[PJSC v1.01] | |
| 340 | + exValveCalibrationMode = bits, U08, 76, [3:3], "Off", "On" ;[PJSC v1.02] | |
| 341 | + analogInputPortSelect = bits, U08, 76, [4:5], "Disable", "Exhaust Valve Position capture", "Secondary AFR/O2", "INVALID" ;[PJSC v1.02] | |
| 342 | + unused2_76 = bits, U08, 76, [6:7] ;[PJSC v1.02] | |
| 343 | + dutyPulseCaptureEnabled = bits, U08, 77, [0:0], "Disable", "PWM input" ;[PJSC v1.01] | |
| 341 | 344 | dutyPulseCaptureEnabled2 = bits, U08, 77, [1:1], "Disable", "PWM input" ; | |
| 342 | 345 | dutyPulseOnLevel = bits, U08, 77, [2:2], "High", "Low" ; | |
| 343 | 346 | dutyPulseOnLevel2 = bits, U08, 77, [3:3], "High", "Low" ; V |
| @@ -551,7 +554,10 @@ | ||
| 551 | 554 | |
| 552 | 555 | baroDenBins = array, U08, 71, [9], "kPa", 1.0, 0.0, 0.0, 255.0, 0 ;[PJSC v1.01] Bins for the Barometric density correction curve |
| 553 | 556 | baroDenRates = array, U08, 80, [9], "%", 1.0, 0.0, 0.0, 255.0, 0 ;[PJSC v1.01] Values for the \Barometric density correction curve |
| 554 | - unused4-89 = array, U08, 89, [38], "%", 1.0, 0.0, 0.0, 255, 0 ;[PJSC v1.01] | |
| 557 | +;[PJSC v1.02] unused4-89 = array, U08, 89, [38], "%", 1.0, 0.0, 0.0, 255, 0 ;[PJSC v1.01] | |
| 558 | + crankingFilter = bits, U08, 89, [0:0], "Enable", "Disable" ;[PJSC v1.02] | |
| 559 | + unused4-89 = bits, U08, 89, [1:7] ;[PJSC v1.02] | |
| 560 | + unused4-90 = array, U08, 90, [37], "%", 1.0, 0.0, 0.0, 255, 0 ;[PJSC v1.02] | |
| 555 | 561 | |
| 556 | 562 | ;-------------------------------------------------- |
| 557 | 563 | ;Start AFR page |
| @@ -1212,10 +1218,11 @@ | ||
| 1212 | 1218 | requiresPowerCycle = idleUpEnabled |
| 1213 | 1219 | requiresPowerCycle = pjscFreq ;[PJSC] |
| 1214 | 1220 | requiresPowerCycle = squirtDeviceType ; | |
| 1215 | - requiresPowerCycle = multiVEmapEnabled ; | | |
| 1216 | - requiresPowerCycle = exTrigModeSelect ; | | |
| 1217 | - requiresPowerCycle = exValveCaptureEnabled ; | | |
| 1218 | - requiresPowerCycle = dutyPulseCaptureEnabled ; V | |
| 1221 | + requiresPowerCycle = multiVEmapEnabled ; V | |
| 1222 | + requiresPowerCycle = exTrigModeSelect ;[PJSC] | |
| 1223 | +;[PJSC v1.02] requiresPowerCycle = exValveCaptureEnabled ; | | |
| 1224 | + requiresPowerCycle = analogInputPortSelect ;[PJSC v1.02] | |
| 1225 | + requiresPowerCycle = dutyPulseCaptureEnabled ;[PJSC] | |
| 1219 | 1226 | requiresPowerCycle = dutyPulseCaptureEnabled2 ;[PJSC] |
| 1220 | 1227 | requiresPowerCycle = muxout1selection ;[PJSC v1.01] |
| 1221 | 1228 | requiresPowerCycle = muxout2selection ;[PJSC v1.01] |
| @@ -1330,10 +1337,11 @@ | ||
| 1330 | 1337 | defaultValue = veMapSelection3_2Pri, 0 ; | |
| 1331 | 1338 | defaultValue = veMapSelection3_2Sec, 0 ; | |
| 1332 | 1339 | defaultValue = veMapSelection4_2Pri, 0 ; | |
| 1333 | - defaultValue = veMapSelection4_2Sec, 0 ; | | |
| 1334 | - defaultValue = exTrigModeSelect, 0 ; | | |
| 1335 | - defaultValue = exValveCaptureEnabled, 1 ; | | |
| 1336 | - defaultValue = dutyPulseCaptureEnabled, 0 ; V | |
| 1340 | + defaultValue = veMapSelection4_2Sec, 0 ; V | |
| 1341 | + defaultValue = exTrigModeSelect, 0 ;[PJSC] | |
| 1342 | +;[PJSC v1.02] defaultValue = exValveCaptureEnabled, 1 ; | | |
| 1343 | + defaultValue = analogInputPortSelect, 1 ;[PJSC v1.02] | |
| 1344 | + defaultValue = dutyPulseCaptureEnabled, 0 ;[PJSC] | |
| 1337 | 1345 | defaultValue = dutyPulseCaptureEnabled2, 0 ;[PJSC] |
| 1338 | 1346 | defaultValue = exValveCalibrationMode, 0 ;[PJSC v1.01] |
| 1339 | 1347 | defaultValue = exValvePosMin, 0 ; | |
| @@ -1908,7 +1916,8 @@ | ||
| 1908 | 1916 | field = "Duty pulse ON Level ch2", dutyPulseOnLevel2 ;[PJSC] |
| 1909 | 1917 | |
| 1910 | 1918 | dialog = analogInputPort1select, "" ;[PJSC v1.01] |
| 1911 | - field = "", exValveCaptureEnabled ; | | |
| 1919 | +;[PJSC v1.02] field = "", exValveCaptureEnabled ; | | |
| 1920 | + field = "", analogInputPortSelect ;[PJSC v1.02] | |
| 1912 | 1921 | ; | |
| 1913 | 1922 | dialog = digitalInputPort1select, "" ; | |
| 1914 | 1923 | field = "", exTrigModeSelect ; | |
| @@ -1928,7 +1937,8 @@ | ||
| 1928 | 1937 | dialog = analogInputPort1_controls, "Analog Input Port1", border ; | |
| 1929 | 1938 | panel = analogInputPort1select, West ; | |
| 1930 | 1939 | field = "" ; | |
| 1931 | - panel = captExValveSetting, East, { exValveCaptureEnabled == 1 } ; | | |
| 1940 | +;[PJSC v1.02] panel = captExValveSetting, East, { exValveCaptureEnabled == 1 } ; | | |
| 1941 | + panel = captExValveSetting, East, { analogInputPortSelect == 1 } ;[PJSC v1.02] | |
| 1932 | 1942 | ; | |
| 1933 | 1943 | dialog = analogInputPort1_r, "Reference ADC Gauges" ; | |
| 1934 | 1944 | gauge = exValveADCGauge ; | |
| @@ -2298,6 +2308,7 @@ | ||
| 2298 | 2308 | field = "Secondary trigger edge", TrigEdgeSec, { (TrigPattern == 0 && TrigSpeed == 0) || TrigPattern == 2 || TrigPattern == 9 || TrigPattern == 12 } ;Missing tooth, dual wheel and Miata 9905 |
| 2299 | 2309 | field = "Missing Tooth Secondary type" trigPatternSec, { (TrigPattern == 0&& TrigSpeed == 0) } |
| 2300 | 2310 | field = "Trigger Filter", TrigFilter, { TrigPattern != 13 } |
| 2311 | + field = "Trigger Filter during cranking", crankingFilter, { TrigPattern != 13 } ;[PJSC v1.02] | |
| 2301 | 2312 | field = "Re-sync every cycle", useResync, { TrigPattern == 2 || TrigPattern == 4 || TrigPattern == 7 || TrigPattern == 12 || TrigPattern == 9 || TrigPattern == 13 } ;Dual wheel, 4G63, Audi 135, Nissan 360, Miata 99-05 |
| 2302 | 2313 | |
| 2303 | 2314 | #if table4_spark ;[PJSC v1.01] For switching table4 |
| @@ -2525,30 +2536,30 @@ | ||
| 2525 | 2536 | panel = aseSettings |
| 2526 | 2537 | |
| 2527 | 2538 | ;Fuel trim composite dialog |
| 2528 | - dialog = inj_trim1TblTitle, "Channel #1" | |
| 2529 | - panel = fuelTrimTable1Tbl, { fuelTrimEnabled } | |
| 2530 | - dialog = inj_trim2TblTitle, "Channel #2" | |
| 2531 | - panel = fuelTrimTable2Tbl, { fuelTrimEnabled } | |
| 2532 | - dialog = inj_trim3TblTitle, "Channel #3" | |
| 2533 | - panel = fuelTrimTable3Tbl, { fuelTrimEnabled } | |
| 2534 | - dialog = inj_trim4TblTitle, "Channel #4" | |
| 2535 | - panel = fuelTrimTable4Tbl, { fuelTrimEnabled } | |
| 2539 | +;[PJSC v1.02] dialog = inj_trim1TblTitle, "Channel #1" | |
| 2540 | +;[PJSC v1.02] panel = fuelTrimTable1Tbl, { fuelTrimEnabled } | |
| 2541 | +;[PJSC v1.02] dialog = inj_trim2TblTitle, "Channel #2" | |
| 2542 | +;[PJSC v1.02] panel = fuelTrimTable2Tbl, { fuelTrimEnabled } | |
| 2543 | +;[PJSC v1.02] dialog = inj_trim3TblTitle, "Channel #3" | |
| 2544 | +;[PJSC v1.02] panel = fuelTrimTable3Tbl, { fuelTrimEnabled } | |
| 2545 | +;[PJSC v1.02] dialog = inj_trim4TblTitle, "Channel #4" | |
| 2546 | +;[PJSC v1.02] panel = fuelTrimTable4Tbl, { fuelTrimEnabled } | |
| 2547 | +;[PJSC v1.02] | |
| 2548 | +;[PJSC v1.02] dialog = inj_trimadt, "", xAxis | |
| 2549 | +;[PJSC v1.02] panel = inj_trim1TblTitle | |
| 2550 | +;[PJSC v1.02] panel = inj_trim2TblTitle | |
| 2551 | +;[PJSC v1.02] dialog = inj_trimadb, "", xAxis | |
| 2552 | +;[PJSC v1.02] panel = inj_trim3TblTitle | |
| 2553 | +;[PJSC v1.02] panel = inj_trim4TblTitle | |
| 2554 | +;[PJSC v1.02] | |
| 2555 | +;[PJSC v1.02] dialog = inj_trim_enable, "" | |
| 2556 | +;[PJSC v1.02] field = "Individual fuel trim enabled", fuelTrimEnabled, { injLayout == 3 } | |
| 2557 | +;[PJSC v1.02] | |
| 2558 | +;[PJSC v1.02] dialog = inj_trimad,"Injector Cyl 1-4 Trims", yAxis | |
| 2559 | +;[PJSC v1.02] panel = inj_trim_enable, North | |
| 2560 | +;[PJSC v1.02] panel = inj_trimadt, Center | |
| 2561 | +;[PJSC v1.02] panel = inj_trimadb, South | |
| 2536 | 2562 | |
| 2537 | - dialog = inj_trimadt, "", xAxis | |
| 2538 | - panel = inj_trim1TblTitle | |
| 2539 | - panel = inj_trim2TblTitle | |
| 2540 | - dialog = inj_trimadb, "", xAxis | |
| 2541 | - panel = inj_trim3TblTitle | |
| 2542 | - panel = inj_trim4TblTitle | |
| 2543 | - | |
| 2544 | - dialog = inj_trim_enable, "" | |
| 2545 | - field = "Individual fuel trim enabled", fuelTrimEnabled, { injLayout == 3 } | |
| 2546 | - | |
| 2547 | - dialog = inj_trimad,"Injector Cyl 1-4 Trims", yAxis | |
| 2548 | - panel = inj_trim_enable, North | |
| 2549 | - panel = inj_trimadt, Center | |
| 2550 | - panel = inj_trimadb, South | |
| 2551 | - | |
| 2552 | 2563 | ;;Injector staging |
| 2553 | 2564 | dialog = stagingTableDialog_north, "" |
| 2554 | 2565 | field = "Staging enabled", stagingEnabled |
| @@ -3993,6 +4004,12 @@ | ||
| 3993 | 4004 | |
| 3994 | 4005 | boostTableLimit = { boostType == 0 ? 100 : 511 } ;The maximum value allowed in the boost table. 100 is used for duty cycle, 511 for kpa |
| 3995 | 4006 | |
| 4007 | + ;[PJSC v1.02] AFR parameter to separation AFR by VE analyze table | |
| 4008 | + afr_analyze1 = { afr } | |
| 4009 | + afr_analyze2 = { afr2 } | |
| 4010 | + afr_analyze3 = { afr } | |
| 4011 | + afr_analyze4 = { afr2 } | |
| 4012 | + | |
| 3996 | 4013 | ;------------------------------------------------------------------------------- |
| 3997 | 4014 | |
| 3998 | 4015 | [Datalog] |
| @@ -4019,6 +4036,7 @@ | ||
| 4019 | 4036 | entry = MAPxRPM, "MAPxRPM", int, "%d" |
| 4020 | 4037 | entry = tps, "TPS", int, "%d" |
| 4021 | 4038 | entry = afr, "O2", float, "%.3f" |
| 4039 | + entry = afr2, "O2_2", float, "%.3f" ;[PJSC v1.02] | |
| 4022 | 4040 | entry = lambda, "Lambda", float, "%.3f" |
| 4023 | 4041 | entry = iat, "IAT", int, "%d" |
| 4024 | 4042 | entry = coolant, "CLT", int, "%d" |
| @@ -4058,7 +4076,8 @@ | ||
| 4058 | 4076 | entry = baro, "Baro Pressure",int, "%d" |
| 4059 | 4077 | entry = nitrousOn, "Nitrous On", int, "%d", { n2o_enable > 0 } |
| 4060 | 4078 | entry = syncLossCounter, "Sync Loss #", int, "%d" |
| 4061 | - entry = valvePosition, "ExValve Pos", int, "%d", { exValveCaptureEnabled } ;[PJSC] | |
| 4079 | + entry = valvePosition, "ExValve Pos", int, "%d", { analogInputPortSelect == 1};[PJSC v1.02] | |
| 4080 | +;[PJSC v1.02] entry = valvePosition, "ExValve Pos", int, "%d", { exValveCaptureEnabled } ;[PJSC] | |
| 4062 | 4081 | entry = sparkedAngle, "Spark Angle", int, "%d", { exTrigModeSelect == 1 } ;[PJSC] |
| 4063 | 4082 | entry = dutyFreq, "Duty Frequency", int, "%d", { dutyPulseCaptureEnabled } ;[PJSC] |
| 4064 | 4083 | entry = dutyRatio, "Duty Ratio", int, "%d", { dutyPulseCaptureEnabled } ;[PJSC] |
| @@ -4132,7 +4151,8 @@ | ||
| 4132 | 4151 | |
| 4133 | 4152 | [VeAnalyze] |
| 4134 | 4153 | ; tableName, lambdaTargetTableName, lambdaChannel, egoCorrectionChannel, activeCondition |
| 4135 | - veAnalyzeMap = veTable1Tbl, afrTable1Tbl, afr, egoCorrection | |
| 4154 | +;[PJSC v1.02] veAnalyzeMap = veTable1Tbl, afrTable1Tbl, afr, egoCorrection | |
| 4155 | + veAnalyzeMap = veTable1Tbl, afrTable1Tbl, afr_analyze1, egoCorrection ;[PJSC v1.02] | |
| 4136 | 4156 | lambdaTargetTables = afrTable1Tbl, afrTSCustom, |
| 4137 | 4157 | filter = std_xAxisMin ; Auto build with appropriate axis channels |
| 4138 | 4158 | ;filter = minRPMFilter, "Minimum RPM", rpm, < , 500, , true |
| @@ -4168,8 +4188,9 @@ | ||
| 4168 | 4188 | ;------------- WUE VEAL not currently working ---------------- |
| 4169 | 4189 | |
| 4170 | 4190 | ;[PJSC v1.01]------------------------------------------------------------------------ |
| 4171 | -; tableName, lambdaTargetTableName, lambdaChannel, egoCorrectionChannel, activeCondition | |
| 4172 | - veAnalyzeMap = veTable2Tbl, afrTable1Tbl, afr, egoCorrection | |
| 4191 | + ; tableName, lambdaTargetTableName, lambdaChannel, egoCorrectionChannel, activeCondition | |
| 4192 | +;[PJSC v1.02] veAnalyzeMap = veTable2Tbl, afrTable1Tbl, afr, egoCorrection | |
| 4193 | + veAnalyzeMap = veTable2Tbl, afrTable1Tbl, afr_analyze2, egoCorrection ;[PJSC v1.02] | |
| 4173 | 4194 | lambdaTargetTables = afrTable1Tbl, afrTSCustom, |
| 4174 | 4195 | filter = std_xAxisMin ; Auto build with appropriate axis channels |
| 4175 | 4196 | ;filter = minRPMFilter, "Minimum RPM", rpm, < , 500, , true |
| @@ -4188,8 +4209,9 @@ | ||
| 4188 | 4209 | filter = overrunFilter, "Overrun" , pulseWidth, = , 0, , false |
| 4189 | 4210 | filter = std_Custom ; Standard Custom Expression Filter. |
| 4190 | 4211 | |
| 4191 | -; tableName, lambdaTargetTableName, lambdaChannel, egoCorrectionChannel, activeCondition | |
| 4192 | - veAnalyzeMap = veTable3Tbl, afrTable1Tbl, afr, egoCorrection | |
| 4212 | + ; tableName, lambdaTargetTableName, lambdaChannel, egoCorrectionChannel, activeCondition | |
| 4213 | +;[PJSC v1.02] veAnalyzeMap = veTable3Tbl, afrTable1Tbl, afr, egoCorrection | |
| 4214 | + veAnalyzeMap = veTable3Tbl, afrTable1Tbl, afr_analyze3, egoCorrection ;[PJSC v1.02] | |
| 4193 | 4215 | lambdaTargetTables = afrTable1Tbl, afrTSCustom, |
| 4194 | 4216 | filter = std_xAxisMin ; Auto build with appropriate axis channels |
| 4195 | 4217 | ;filter = minRPMFilter, "Minimum RPM", rpm, < , 500, , true |
| @@ -4209,8 +4231,9 @@ | ||
| 4209 | 4231 | filter = std_Custom ; Standard Custom Expression Filter. |
| 4210 | 4232 | |
| 4211 | 4233 | #if table4_fuel |
| 4212 | -; tableName, lambdaTargetTableName, lambdaChannel, egoCorrectionChannel, activeCondition | |
| 4213 | - veAnalyzeMap = sparkTbl, afrTable1Tbl, afr, egoCorrection | |
| 4234 | + ; tableName, lambdaTargetTableName, lambdaChannel, egoCorrectionChannel, activeCondition | |
| 4235 | +;[PJSC v1.02] veAnalyzeMap = sparkTbl, afrTable1Tbl, afr, egoCorrection | |
| 4236 | + veAnalyzeMap = sparkTbl, afrTable1Tbl, afr_analyze4, egoCorrection ;[PJSC v1.02] | |
| 4214 | 4237 | lambdaTargetTables = afrTable1Tbl, afrTSCustom, |
| 4215 | 4238 | filter = std_xAxisMin ; Auto build with appropriate axis channels |
| 4216 | 4239 | ;filter = minRPMFilter, "Minimum RPM", rpm, < , 500, , true |