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 |