PJSC(Pump Jet Solenoid Controller)はArduinoを使用したバイク用燃料噴射コントローラです。このプロジェクトは、オープンソースECUプロジェクト『Speeduino』をベースにしています。
[PJSC v1.03]
燃調補正に大気圧補正(Barometric pressure correction)を追加
燃調補正スイッチを追加し、補正毎にOFF/ONを選択出来るように変更
| @@ -337,7 +337,8 @@ | ||
| 337 | 337 | dualFuelEnabled = bits, U08, 75, [4:4], "Disable", "Enable" ;[PJSC v1.01] For Dual Fuel Load |
| 338 | 338 | secondaryFuelUsage = bits, U08, 75, [5:5], "additive", "multiply" ;[PJSC v1.01] For Dual Fuel Load |
| 339 | 339 | ;[PJSC v1.01] unused2_75 = bits, U08, 75, [6:7] ;[PJSC v1.01] |
| 340 | - fuelCorrectionEnabled = bits, U08, 75, [6:6], "Disable", "Enable" ;[PJSC v1.01] | |
| 340 | +;[PJSC v1.03] fuelCorrectionEnabled = bits, U08, 75, [6:6], "Disable", "Enable" ;[PJSC v1.01] | |
| 341 | + swBatVCorrection = bits, U08, 75, [6:6], "Off", "On" ;[PJSC v1.03] | |
| 341 | 342 | ;[PJSC v1.03] unused2_75 = bits, U08, 75, [7:7] ;[PJSC v1.01] |
| 342 | 343 | vvtSamplingRate = bits, U08, 75, [7:7], "4Hz", "30Hz" ;[PJSC v1.03] |
| 343 | 344 | exTrigModeSelect = bits, U08, 76, [0:1], "Disable", "Spark timing capture", "MAP select switch", "INVALID" ;[PJSC] |
| @@ -353,10 +354,10 @@ | ||
| 353 | 354 | dutyPulseOnLevel = bits, U08, 77, [2:2], "High", "Low" ; | |
| 354 | 355 | dutyPulseOnLevel2 = bits, U08, 77, [3:3], "High", "Low" ; V |
| 355 | 356 | ;[PJSC v1.03] unused2_77 = bits, U08, 77, [4:7] ;[PJSC v1.01] |
| 356 | - disableIATcorrection = bits, U08, 77, [4:4], "Enable", "Disable" ;[PJSC v1.03] | |
| 357 | - disableBAROcorrection = bits, U08, 77, [5:5], "Enable", "Disable" ;[PJSC v1.03] | |
| 358 | - disableWUE = bits, U08, 77, [6:6], "Enable", "Disable" ;[PJSC v1.03] | |
| 359 | - disableCrankingEnrichment= bits, U08, 77, [7:7], "Enable", "Disable" ;[PJSC v1.03] | |
| 357 | + swIATcorrection = bits, U08, 77, [4:4], "Off", "On" ;[PJSC v1.03] | |
| 358 | + swTAE = bits, U08, 77, [5:5], "Off", "On" ;[PJSC v1.03] | |
| 359 | + swWUE = bits, U08, 77, [6:6], "Off", "On" ;[PJSC v1.03] | |
| 360 | + swCrankingEnrichment = bits, U08, 77, [7:7], "Off", "On" ;[PJSC v1.03] | |
| 360 | 361 | #if table4_spark ;[PJSC v1.01] For switching table4 |
| 361 | 362 | veMapSelection1Pri = bits, U08, 78, [0:3], "VE Table 1","VE Table 2","VE Table 3","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID" |
| 362 | 363 | veMapSelection1Sec = bits, U08, 78, [4:7], "VE Table 1","VE Table 2","VE Table 3","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID" |
| @@ -438,11 +439,11 @@ | ||
| 438 | 439 | muxout3selection = bits, U08, 118, [0:3], "Disable/Test Mode", "IDLE control", "Thermo Fan control", "INVALID", "Fuel pump control", "Boost control", "VVT control", "Tach output", "INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID" ;[PJSC v1.01] |
| 439 | 440 | muxout4selection = bits, U08, 118, [4:7], "Disable/Test Mode", "IDLE control", "Thermo Fan control", "INVALID", "Fuel pump control", "Boost control", "VVT control", "Tach output", "INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID" ;[PJSC v1.01] |
| 440 | 441 | #endif ;[PJSC v1.01] |
| 441 | -;[PJSC v1.01] baroDenBins = array, U08, 102, [9], "kPa", 1.0, 0.0, 0.0, 255.0, 0 ;[PJSC v1.01] Bins for the Barometric density correction curve | |
| 442 | -;[PJSC v1.01] baroDenRates = array, U08, 111, [9], "%", 1.0, 0.0, 0.0, 255.0, 0 ;[PJSC v1.01] Values for the \Barometric density correction curve | |
| 443 | 442 | algorithm2 = bits, U08, 119, [0:2], $loadSourceNames ;[PJSC v1.01] For Dual Fuel Load |
| 444 | 443 | algorithm3 = bits, U08, 119, [3:5], $loadSourceNames ;[PJSC v1.01] |
| 445 | - unused2_119 = bits, U08, 119, [6:7] ;[PJSC v1.01] | |
| 444 | +;[PJSC v1.03] unused2_119 = bits, U08, 119, [6:7] ;[PJSC v1.01] | |
| 445 | + swASE = bits, U08, 119, [6:6], "Off", "On" ;[PJSC v1.03] | |
| 446 | + unused2_119 = bits, U08, 119, [7:7] ;[PJSC v1.03] | |
| 446 | 447 | table4Usage = bits, U08, 120, [0:0], "Fuel", "Spark" ;[PJSC v1.01] |
| 447 | 448 | unused2_120 = bits, U08, 120, [1:7] ;[PJSC v1.01] |
| 448 | 449 | inj1SquirtStartEnd = bits, U08, 121, [0:0], "End angle", "Start angle" ;[PJSC v1.01] |
| @@ -1516,8 +1517,7 @@ | ||
| 1516 | 1517 | ;[PJSC v1.01] subMenu = injChars, "Injector Characteristics" |
| 1517 | 1518 | subMenu = triggerSettings, "Trigger Setup" |
| 1518 | 1519 | ;subMenu = OLED, "OLED Setup" |
| 1519 | - subMenu = airdensity_curve, "IAT Density" | |
| 1520 | - subMenu = barodensity_curve, "Baro Density", { baroCorr } ;[PJSC v1.01] | |
| 1520 | +;[PJSC v1.03] subMenu = airdensity_curve, "IAT Density" | |
| 1521 | 1521 | |
| 1522 | 1522 | subMenu = std_separator ;[PJSC v1.02] |
| 1523 | 1523 | subMenu = gaugeLimits, "Gauge Limits" ; | |
| @@ -1532,6 +1532,9 @@ | ||
| 1532 | 1532 | subMenu = std_separator ;[PJSC v1.01] |
| 1533 | 1533 | subMenu = injChars, "Injector Characteristics" ;[PJSC v1.01] |
| 1534 | 1534 | subMenu = accelEnrichments, "Acceleration Enrichment" |
| 1535 | + subMenu = airdensity_curve, "IAT Density", { swIATcorrection } ;[PJSC v1.03] | |
| 1536 | + subMenu = barodensity_curve, "Baro Density", { baroCorr } ; V | |
| 1537 | + subMenu = correctionSelect, "Fuel correnction" ;[PJSC v1.03] | |
| 1535 | 1538 | subMenu = egoControl, "AFR/O2", 3 |
| 1536 | 1539 | #if table4_spark ;[PJSC v1.01] For switching table4 |
| 1537 | 1540 | subMenu = RevLimiterS, "Limiters", 2 |
| @@ -2043,7 +2046,6 @@ | ||
| 2043 | 2046 | dialog = analogInputPort2,"Analog Input Port2", xAxis ; | | |
| 2044 | 2047 | panel = analogInputPort2_controls ; | V |
| 2045 | 2048 | panel = analogInputPort2_r ; |[PJSC v1.03] |
| 2046 | - | |
| 2047 | 2049 | ; | |
| 2048 | 2050 | dialog = digitalInputPort1, "Digital Input Port1", border ; | |
| 2049 | 2051 | panel = digitalInputPort1select, West ; | |
| @@ -2163,12 +2165,22 @@ | ||
| 2163 | 2165 | panel = accelEnrichments_center, Center |
| 2164 | 2166 | panel = accelEnrichments_south, South |
| 2165 | 2167 | |
| 2168 | + dialog = correctionSelect, "Fuel correction" ;[PJSC v1.03] | |
| 2169 | + field = "Barometric correction", baroCorr ; | | |
| 2170 | + field = "IAT density correction", swIATcorrection ; | | |
| 2171 | + field = "Acceleration Enrichment", swTAE ; | | |
| 2172 | + field = "Decelleration Fuel Cutoff", dfcoEnabled ; | | |
| 2173 | + field = "Cranking Enrichment", swCrankingEnrichment ; | | |
| 2174 | + field = "Warmup Enrichment", swWUE ; | | |
| 2175 | + field = "After Start Enrichment", swASE ; V | |
| 2176 | + field = "Injector voltage correction", swBatVCorrection ;[PJSC v1.03] | |
| 2177 | + | |
| 2166 | 2178 | dialog = veCorrectionSetting, "VE correction setting" ;[PJSC v1.01] |
| 2167 | 2179 | field = "Multiply VE value by MAP:Baro ratio", multiplyMAP ; | |
| 2168 | - field = "Multiply by ratio of AFR to Target AFR", includeAFR, { egoType == 2 } ; V | |
| 2169 | - field = "Barometric correction", baroCorr, { useExtBaro } ;[PJSC v1.01] | |
| 2170 | - | |
| 2171 | - dialog = veMapSelectionSet1Pri, "Primary Table" ;[PJSC v1.01] | |
| 2180 | + field = "Multiply by ratio of AFR to Target AFR", includeAFR, { egoType == 2 } ; | | |
| 2181 | +;[PJSC v1.03] field = "Barometric correction", baroCorr, { useExtBaro } ; | | |
| 2182 | + ; | | |
| 2183 | + dialog = veMapSelectionSet1Pri, "Primary Table" ; | | |
| 2172 | 2184 | field = "Injector 1", veMapSelection1Pri ; | |
| 2173 | 2185 | field = "Injector 2", veMapSelection2Pri, { multiVEmapEnabled && mapSeparationEnabled } ; | |
| 2174 | 2186 | field = "Injector 3", veMapSelection3Pri, { multiVEmapEnabled && mapSeparationEnabled } ; | |
| @@ -2234,46 +2246,46 @@ | ||
| 2234 | 2246 | ;[PJSC] dialog = veTableDialog, "VE Table" |
| 2235 | 2247 | ;[PJSC] panel = veTableDialog_north, North |
| 2236 | 2248 | ;[PJSC] panel = veTableDialog_south, South |
| 2237 | - dialog = veTable1Dialog, "VE Table 1" ;[PJSC v1.01] | |
| 2238 | - panel = veTable1Tbl ; | | |
| 2239 | - ; | | |
| 2240 | - dialog = veTable2Dialog, "VE Table 2" ; | | |
| 2241 | - panel = veTable2Tbl ; | | |
| 2242 | - ; | | |
| 2243 | - dialog = veTable3Dialog, "VE Table 3" ; | | |
| 2244 | - panel = veTable3Tbl ; | | |
| 2245 | - ; | | |
| 2246 | - dialog = veTable4Dialog, "VE Table 4" ; V | |
| 2247 | - panel = sparkTbl ;[PJSC v1.01] | |
| 2249 | + dialog = veTable1Dialog, "VE Table 1" ;[PJSC v1.01] | |
| 2250 | + panel = veTable1Tbl ; | | |
| 2251 | + ; | | |
| 2252 | + dialog = veTable2Dialog, "VE Table 2" ; | | |
| 2253 | + panel = veTable2Tbl ; | | |
| 2254 | + ; | | |
| 2255 | + dialog = veTable3Dialog, "VE Table 3" ; | | |
| 2256 | + panel = veTable3Tbl ; | | |
| 2257 | + ; | | |
| 2258 | + dialog = veTable4Dialog, "VE Table 4" ; V | |
| 2259 | + panel = sparkTbl ;[PJSC v1.01] | |
| 2248 | 2260 | |
| 2249 | - dialog = squirtDeviceSelection_west, "" ;[PJSC v1.03] | |
| 2250 | - field = "Channel 1", squirtDeviceTypeCh1 ; | | |
| 2251 | - field = "Channel 2", squirtDeviceTypeCh2 ; | | |
| 2252 | - field = "Channel 3", squirtDeviceTypeCh3 ; V | |
| 2253 | - field = "Channel 4", squirtDeviceTypeCh4 ;[PJSC v1.03] | |
| 2261 | + dialog = squirtDeviceSelection_west, "" ;[PJSC v1.03] | |
| 2262 | + field = "Channel 1", squirtDeviceTypeCh1 ; | | |
| 2263 | + field = "Channel 2", squirtDeviceTypeCh2 ; | | |
| 2264 | + field = "Channel 3", squirtDeviceTypeCh3 ; | | |
| 2265 | + field = "Channel 4", squirtDeviceTypeCh4 ; | | |
| 2266 | + ; | | |
| 2267 | + dialog = squirtDeviceSelection_east, "" ; | | |
| 2268 | + field = "Valve Mode", solenoidValveDirectionCh1, { squirtDeviceTypeCh1 == 1 } ; | | |
| 2269 | + field = "Valve Mode", solenoidValveDirectionCh2, { squirtDeviceTypeCh2 == 1 } ; | | |
| 2270 | + field = "Valve Mode", solenoidValveDirectionCh3, { squirtDeviceTypeCh3 == 1 } ; | | |
| 2271 | + field = "Valve Mode", solenoidValveDirectionCh4, { squirtDeviceTypeCh4 == 1 } ; | | |
| 2272 | + ; | | |
| 2273 | + dialog = squirtDeviceSelection, "Squirt Device selection", xAxis ; | | |
| 2274 | + panel = squirtDeviceSelection_west ; | | |
| 2275 | + panel = squirtDeviceSelection_east ; | | |
| 2276 | + ; | | |
| 2277 | + dialog = injCloseAngles_west, "" ; | | |
| 2278 | + field = "Channel 1", inj1SquirtStartEnd, { squirtDeviceTypeCh1 == 0 } ; | | |
| 2279 | + field = "Channel 2", inj2SquirtStartEnd, { indInjAng && squirtDeviceTypeCh2 == 0 } ; | | |
| 2280 | + field = "Channel 3", inj3SquirtStartEnd, { indInjAng && squirtDeviceTypeCh3 == 0 } ; | | |
| 2281 | + field = "Channel 4", inj4SquirtStartEnd, { indInjAng && squirtDeviceTypeCh4 == 0 } ; | | |
| 2282 | + ; | | |
| 2283 | + dialog = injCloseAngles_east, "" ; | | |
| 2284 | + field = "", inj1Ang, { squirtDeviceTypeCh1 == 0 } ; | | |
| 2285 | + field = "", inj2Ang, { indInjAng && squirtDeviceTypeCh2 == 0 } ; | | |
| 2286 | + field = "", inj3Ang, { indInjAng && squirtDeviceTypeCh3 == 0 } ; V | |
| 2287 | + field = "", inj4Ang, { indInjAng && squirtDeviceTypeCh4 == 0 } ;[PJSC v1.03] | |
| 2254 | 2288 | |
| 2255 | - dialog = squirtDeviceSelection_east, "" ;[PJSC v1.03] | |
| 2256 | - field = "Valve Mode", solenoidValveDirectionCh1, { squirtDeviceTypeCh1 == 1 } ; | | |
| 2257 | - field = "Valve Mode", solenoidValveDirectionCh2, { squirtDeviceTypeCh2 == 1 } ; | | |
| 2258 | - field = "Valve Mode", solenoidValveDirectionCh3, { squirtDeviceTypeCh3 == 1 } ; V | |
| 2259 | - field = "Valve Mode", solenoidValveDirectionCh4, { squirtDeviceTypeCh4 == 1 } ;[PJSC v1.03] | |
| 2260 | - | |
| 2261 | - dialog = squirtDeviceSelection, "Squirt Device selection", xAxis ;[PJSC v1.03] | |
| 2262 | - panel = squirtDeviceSelection_west ; V | |
| 2263 | - panel = squirtDeviceSelection_east ;[PJSC v1.03] | |
| 2264 | - | |
| 2265 | - dialog = injCloseAngles_west, "" ;[PJSC v1.03] | |
| 2266 | - field = "Channel 1", inj1SquirtStartEnd, { squirtDeviceTypeCh1 == 0 } ; | | |
| 2267 | - field = "Channel 2", inj2SquirtStartEnd, { indInjAng && squirtDeviceTypeCh2 == 0 } ; | | |
| 2268 | - field = "Channel 3", inj3SquirtStartEnd, { indInjAng && squirtDeviceTypeCh3 == 0 } ; V | |
| 2269 | - field = "Channel 4", inj4SquirtStartEnd, { indInjAng && squirtDeviceTypeCh4 == 0 } ;[PJSC v1.03] | |
| 2270 | - | |
| 2271 | - dialog = injCloseAngles_east, "" ;[PJSC v1.03] | |
| 2272 | - field = "", inj1Ang, { squirtDeviceTypeCh1 == 0 } ; | | |
| 2273 | - field = "", inj2Ang, { indInjAng && squirtDeviceTypeCh2 == 0 } ; | | |
| 2274 | - field = "", inj3Ang, { indInjAng && squirtDeviceTypeCh3 == 0 } ; V | |
| 2275 | - field = "", inj4Ang, { indInjAng && squirtDeviceTypeCh4 == 0 } ;[PJSC v1.03] | |
| 2276 | - | |
| 2277 | 2289 | ;[PJSC v1.03] dialog = injCloseAngles_west, "" ;[PJSC v1.01] |
| 2278 | 2290 | ;[PJSC v1.03] field = "Channel 1", inj1SquirtStartEnd, { squirtDeviceType == 0 } ; | |
| 2279 | 2291 | ;[PJSC v1.03] field = "Channel 2", inj2SquirtStartEnd, { (nCylinders > 1 || nInjectors > 1) && indInjAng && squirtDeviceType == 0 } ; | |
| @@ -19,6 +19,7 @@ | ||
| 19 | 19 | static inline byte correctionIATDensity() __attribute__((always_inline)); //Inlet temp density correction |
| 20 | 20 | static inline byte correctionLaunch() __attribute__((always_inline)); //Launch control correction |
| 21 | 21 | static inline bool correctionDFCO() __attribute__((always_inline)); //Decelleration fuel cutoff |
| 22 | +static inline byte correctionBARO() __attribute__((always_inline)); //[PJSC v1.03]Barometric pressure correction | |
| 22 | 23 | |
| 23 | 24 | int8_t correctionsIgn(int8_t advance); |
| 24 | 25 | static inline int8_t correctionFixedTiming(int8_t); |
| @@ -308,6 +308,7 @@ | ||
| 308 | 308 | struct table2D flexBoostTable; //6 bin flex fuel correction table for boost adjustments (2D) |
| 309 | 309 | struct table2D knockWindowStartTable; |
| 310 | 310 | struct table2D knockWindowDurationTable; |
| 311 | +struct table2D barometricCorrectionTable; //[PJSC v1.03]9 bin barometric pressure correction (2D) | |
| 311 | 312 | |
| 312 | 313 | //These are for the direct port manipulation of the injectors, coils and aux outputs |
| 313 | 314 | volatile PORT_TYPE *inj1_pin_port; |
| @@ -448,6 +449,7 @@ | ||
| 448 | 449 | byte launchCorrection; //The amount of correction being applied if launch control is active |
| 449 | 450 | byte flexCorrection; //Amount of correction being applied to compensate for ethanol content |
| 450 | 451 | int8_t flexIgnCorrection; //Amount of additional advance being applied based on flex. Note the type as this allows for negative values |
| 452 | + byte baroCorrection; //[PJSC v1.03]The amount of barometric pressure adjustment currently being applied | |
| 451 | 453 | byte afrTarget; |
| 452 | 454 | byte idleDuty; |
| 453 | 455 | bool idleUpActive; |
| @@ -657,8 +659,9 @@ | ||
| 657 | 659 | byte mapSwitchingEnabled: 1; // | |
| 658 | 660 | byte dualFuelEnabled: 1; // | |
| 659 | 661 | byte secondaryFuelUsage: 1; // | |
| 660 | - byte fuelCorrectionEnabled: 1; // |[PJSC v1.01] | |
| 662 | +//[PJSC v1.03] byte fuelCorrectionEnabled: 1; // |[PJSC v1.01] | |
| 661 | 663 | //[PJSC v1.03] byte unused2_75: 1; // | |
| 664 | + byte swBatVCorrection: 1; // |[PJSC v1.03] | |
| 662 | 665 | byte vvtSamplingRate: 1; // |[PJSC v1.03] |
| 663 | 666 | byte exTrigModeSelect : 2; // | For External Trigger |
| 664 | 667 | byte externalTrigEdge: 1; // | 0: Rising, 1: Falling |
| @@ -672,26 +675,26 @@ | ||
| 672 | 675 | byte dutyPulseOnLevel: 1; // | For capturing duty pulse ch1, 0: high, 1: low |
| 673 | 676 | byte dutyPulseOnLevel2: 1; // | For capturing duty pulse ch2, 0: high, 1: low |
| 674 | 677 | //[PJSC v1.03] byte unused2_77: 4; // V |
| 675 | - byte disableIATcorrection: 1; //[PJSCv1.03] | |
| 676 | - byte disableBAROcorrection: 1; // | | |
| 677 | - byte disableWUE: 1; // V | |
| 678 | - byte disableCrankingEnrichment: 1; //[PJSCv1.03] | |
| 679 | - byte veMapSelectionInj1Pri: 4; //[PJSCv1.10] For x4 Fuel table support | |
| 680 | - byte veMapSelectionInj1Sec: 4; //[PJSCv1.10] | | |
| 681 | - byte veMapSelectionInj2Pri: 4; //[PJSCv1.10] | | |
| 682 | - byte veMapSelectionInj2Sec: 4; //[PJSCv1.10] | | |
| 683 | - byte veMapSelectionInj3Pri: 4; //[PJSCv1.10] | | |
| 684 | - byte veMapSelectionInj3Sec: 4; //[PJSCv1.10] | | |
| 685 | - byte veMapSelectionInj4Pri: 4; //[PJSCv1.10] | | |
| 686 | - byte veMapSelectionInj4Sec: 4; //[PJSCv1.10] | | |
| 687 | - byte veMapSelectionInj1_2Pri: 4; //[PJSCv1.10] | | |
| 688 | - byte veMapSelectionInj1_2Sec: 4; //[PJSCv1.10] | | |
| 689 | - byte veMapSelectionInj2_2Pri: 4; //[PJSCv1.10] | | |
| 690 | - byte veMapSelectionInj2_2Sec: 4; //[PJSCv1.10] | | |
| 691 | - byte veMapSelectionInj3_2Pri: 4; //[PJSCv1.10] | | |
| 692 | - byte veMapSelectionInj3_2Sec: 4; //[PJSCv1.10] | | |
| 693 | - byte veMapSelectionInj4_2Pri: 4; //[PJSCv1.10] V | |
| 694 | - byte veMapSelectionInj4_2Sec: 4; //[PJSCv1.10] For x4 Fuel table support | |
| 678 | + byte swIATcorrection: 1; //[PJSCv1.03] | |
| 679 | + byte swTAE: 1; // | | |
| 680 | + byte swWUE: 1; // V | |
| 681 | + byte swCrankingEnrichment: 1; //[PJSCv1.03] | |
| 682 | + byte veMapSelectionInj1Pri: 4; //[PJSCv1.01] For x4 Fuel table support | |
| 683 | + byte veMapSelectionInj1Sec: 4; //[PJSCv1.01] | | |
| 684 | + byte veMapSelectionInj2Pri: 4; //[PJSCv1.01] | | |
| 685 | + byte veMapSelectionInj2Sec: 4; //[PJSCv1.01] | | |
| 686 | + byte veMapSelectionInj3Pri: 4; //[PJSCv1.01] | | |
| 687 | + byte veMapSelectionInj3Sec: 4; //[PJSCv1.01] | | |
| 688 | + byte veMapSelectionInj4Pri: 4; //[PJSCv1.01] | | |
| 689 | + byte veMapSelectionInj4Sec: 4; //[PJSCv1.01] | | |
| 690 | + byte veMapSelectionInj1_2Pri: 4; //[PJSCv1.01] | | |
| 691 | + byte veMapSelectionInj1_2Sec: 4; //[PJSCv1.01] | | |
| 692 | + byte veMapSelectionInj2_2Pri: 4; //[PJSCv1.01] | | |
| 693 | + byte veMapSelectionInj2_2Sec: 4; //[PJSCv1.01] | | |
| 694 | + byte veMapSelectionInj3_2Pri: 4; //[PJSCv1.01] | | |
| 695 | + byte veMapSelectionInj3_2Sec: 4; //[PJSCv1.01] | | |
| 696 | + byte veMapSelectionInj4_2Pri: 4; //[PJSCv1.01] V | |
| 697 | + byte veMapSelectionInj4_2Sec: 4; //[PJSCv1.01] For x4 Fuel table support | |
| 695 | 698 | //[PJSC v1.01] byte dutyFreqTst[4]; //[PJSC v1.01] For test mode |
| 696 | 699 | //[PJSC v1.01] byte dutyRatioTst[4]; // | |
| 697 | 700 | byte dutyFreqTst[12]; //[PJSC v1.01] For test mode |
| @@ -710,7 +713,9 @@ | ||
| 710 | 713 | byte muxout4Selection: 4; // |[PJSC v1.01] MUX output4 selection |
| 711 | 714 | byte fuelAlgorithm2: 3; // |[PJSC v1.01] For Secondary Fuel Algorithm |
| 712 | 715 | byte fuelAlgorithm3: 3; // | |
| 713 | - byte unused2_118: 2; // | | |
| 716 | +//[PJSC v1.03] byte unused2_118: 2; // | | |
| 717 | + byte swASE: 1; // |[PJSC v1.03] | |
| 718 | + byte unused2_118: 1; // |[PJSC v1.03] | |
| 714 | 719 | byte table4Usage: 1; // | For switching usage of 3rd table Ignition/Fuel |
| 715 | 720 | byte unused2_119: 7; // | |
| 716 | 721 | byte inj1SquirtStartEnd: 1; // | |