• R/O
  • SSH
  • HTTPS

Commit

Frequently used words (click to add to your profile)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

PJSC(Pump Jet Solenoid Controller)はArduinoを使用したバイク用燃料噴射コントローラです。このプロジェクトは、オープンソースECUプロジェクト『Speeduino』をベースにしています。


Commit MetaInfo

Revision49 (tree)
Time2019-03-04 21:32:49
Authormaharu

Log Message

Prepare x4 VE table support.

Change Summary

Incremental Difference

--- branches/Ver1.00_base/reference/PJSC.ini (revision 48)
+++ branches/Ver1.00_base/reference/PJSC.ini (revision 49)
@@ -65,8 +65,10 @@
6565
6666 boostTableLabels = bits, U08, [0:1], "Duty Cycle %", "kPa"
6767
68- fuelLoadMax = scalar, U08, "", 1, 0, 0, 511, 0
69- ignLoadMax = scalar, U08, "", 1, 0, 0, 511, 0
68+;[PJSC v1.10] fuelLoadMax = scalar, U08, "", 1, 0, 0, 511, 0
69+;[PJSC v1.10] ignLoadMax = scalar, U08, "", 1, 0, 0, 511, 0
70+ fuelLoadMax = scalar, U08, "", 1, 0, 0, 255, 0 ;[PJSC v1.10]
71+ ignLoadMax = scalar, U08, "", 1, 0, 0, 255, 0 ;[PJSC v1.10]
7072 AUXin00Alias = string, ASCII, 20
7173 AUXin01Alias = string, ASCII, 20
7274 AUXin02Alias = string, ASCII, 20
@@ -321,50 +323,67 @@
321323 exValvePosMax = scalar, U08, 73, "ADC", 1.0, 0.0, 0.0, 255.0, 0 ; |
322324 exTrigHysteresis = scalar, U08, 74, "deg", 1.0, 0.0, 0.0, 255.0, 0 ; V
323325 squirtDeviceType = bits, U08, 75, [0:0], "Injector", "Solenoid valve" ;[PJSC]
324- multiVEmapEnabled = bits, U08, 75, [1:2], "Disable", "Separate", "Switching", "Dual Fuel Load" ;[PJSC v1.10] For Dual Fuel Load
325- exTrigModeSelect = bits, U08, 75, [3:4], "Disable", "Spark timing capture", "MAP select switch", "INVALID" ;[PJSC]
326- externalTrigEdge = bits, U08, 75, [5:5], "Rising", "Falling" ; |
327- exValveCaptureEnabled = bits, U08, 75, [6:6], "Disable", "Exhaust Valve Position capture" ; |
328- dutyPulseCaptureEnabled = bits, U08, 75, [7:7], "Disable", "PWM input" ; |
329- dutyPulseCaptureEnabled2 = bits, U08, 76, [0:0], "Disable", "PWM input" ; |
330- dutyPulseOnLevel = bits, U08, 76, [1:1], "High", "Low" ; |
331- dutyPulseOnLevel2 = bits, U08, 76, [2:2], "High", "Low" ; V
332- exValveCalibrationMode = bits, U08, 76, [3:3], "Off", "On" ;[PJSC]
333- algorithm2 = bits, U08, 76, [4:6], $loadSourceNames ;[PJSC v1.10] For Dual Fuel Load
334- secondaryFuelUsage = bits, U08, 76, [7:7], "additive", "multiplicitive" ;[PJSC v1.10] For Dual Fuel Load
335- veMapSelection1 = bits, U08, 77, [0:7], "VE Table 1","VE Table 2","VE Table 3","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID"
336- veMapSelection2 = bits, U08, 78, [0:7], "VE Table 1","VE Table 2","VE Table 3","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID"
337- veMapSelection3 = bits, U08, 79, [0:7], "VE Table 1","VE Table 2","VE Table 3","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID"
338- veMapSelection4 = bits, U08, 80, [0:7], "VE Table 1","VE Table 2","VE Table 3","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID"
339- veMapSelection1_2 = bits, U08, 81, [0:7], "VE Table 1","VE Table 2","VE Table 3","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID"
340- veMapSelection2_2 = bits, U08, 82, [0:7], "VE Table 1","VE Table 2","VE Table 3","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID"
341- veMapSelection3_2 = bits, U08, 83, [0:7], "VE Table 1","VE Table 2","VE Table 3","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID"
342- veMapSelection4_2 = bits, U08, 84, [0:7], "VE Table 1","VE Table 2","VE Table 3","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID"
343- dutyFreqTst1 = scalar, U08, 85, "Hz", 2.0, 0.0, 10, 511, 0 ;[PJSC v1.10]
344- dutyFreqTst2 = scalar, U08, 86, "Hz", 2.0, 0.0, 10, 511, 0 ; |
345- dutyFreqTst3 = scalar, U08, 87, "Hz", 2.0, 0.0, 10, 511, 0 ; |
346- dutyFreqTst4 = scalar, U08, 88, "Hz", 2.0, 0.0, 10, 511, 0 ; |
347- dutyRatioTst1 = scalar, U08, 89, "%", 1.0, 0.0, 0.0, 100.0, 0 ; |
348- dutyRatioTst2 = scalar, U08, 90, "%", 1.0, 0.0, 0.0, 100.0, 0 ; |
349- dutyRatioTst3 = scalar, U08, 91, "%", 1.0, 0.0, 0.0, 100.0, 0 ; |
350- dutyRatioTst4 = scalar, U08, 92, "%", 1.0, 0.0, 0.0, 100.0, 0 ; |
351- testop_fp = bits, U08, 93, [0:0], "Off", "On" ; |
352- testop_inj = bits, U08, 93, [1:2], "Off", "One", "INVALID", "All" ; |
353- testop_coil = bits, U08, 93, [3:4], "Off", "One", "INVALID", "INVALID" ; |
354- testsel_inj = bits, U08, 93, [5:6], "Inj1", "Inj2", "Inj3", "Inj4" ; |
355- testsel_coil = bits, U08, 93, [7:7], "CoilA", "CoilB" ; |
356- testint = scalar, U16, 94, "ms", 0.01, 0.00, 0, 655.35, 1 ; V
357- testrpm = scalar, U16, 94, "RPM", 1.0, { 60000/testint }, 0, 60000, 0 ;[PJSC v1.10]
358- testpw = scalar, U16, 96, "ms", 0.01, 0.00, 0, 655.35, 1 ; * ( 1 byte)
359- testinjcnt = scalar, U16, 98, "", 1, 0, 0, 65535, 0, noLocalUpdate ;
360- muxout1selection = bits, U08, 100, [0:3], "Disable", "IDLE control", "Thermo Fan control", "Launch control", "Fuel pump control", "Boost control", "VVT control", "Tach output", "INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID"
361- muxout2selection = bits, U08, 100, [4:7], "Disable", "IDLE control", "Thermo Fan control", "Launch control", "Fuel pump control", "Boost control", "VVT control", "Tach output", "INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID"
362- baroDenBins = array, U08, 101, [9], "kPa", 1.0, 0.0, 0.0, 255.0, 0 ;[PJSC v1.10] Bins for the Barometric density correction curve
363- baroDenRates = array, U08, 110, [9], "%", 1.0, 0.0, 0.0, 255.0, 0 ;[PJSC v1.10] Values for the \Barometric density correction curve
364- table3Usage = bits, U08, 119, [0:0], "Ignition", "Fuel" ;[PJSC v1.10]
365- algorithm3 = bits, U08, 119, [1:3], $loadSourceNames ;[PJSC v1.10]
366- unused2_119 = bits, U08, 119, [4:7] ;[PJSC v1.10]
367- unused2_120 = array, U08, 120, [8], "%", 1.0, 0.0, 0.0, 255, 0 ;[PJSC v1.10]
326+ multiVEmapEnabled = bits, U08, 75, [1:1], "Disable", "Enable" ;[PJSC v1.10] For Dual Fuel Load
327+ mapSeparationEnabled = bits, U08, 75, [2:2], "Disable", "Enable" ;[PJSC v1.10] For Dual Fuel Load
328+ mapSwitchingEnabled = bits, U08, 75, [3:3], "Disable", "Enable" ;[PJSC v1.10] For Dual Fuel Load
329+ dualFuelEnabled = bits, U08, 75, [4:4], "Disable", "Enable" ;[PJSC v1.10] For Dual Fuel Load
330+ secondaryFuelUsage = bits, U08, 75, [5:5], "additive", "multiplicitive" ;[PJSC v1.10] For Dual Fuel Load
331+ unused2_75 = bits, U08, 75, [6:7] ;[PJSC v1.10]
332+ exTrigModeSelect = bits, U08, 76, [0:1], "Disable", "Spark timing capture", "MAP select switch", "INVALID" ;[PJSC]
333+ externalTrigEdge = bits, U08, 76, [2:2], "Rising", "Falling" ; |
334+ exValveCaptureEnabled = bits, U08, 76, [3:3], "Disable", "Exhaust Valve Position capture" ; |
335+ exValveCalibrationMode = bits, U08, 76, [4:4], "Off", "On" ;[PJSC]
336+ unused2_76 = bits, U08, 76, [5:7] ;[PJSC v1.10]
337+ dutyPulseCaptureEnabled = bits, U08, 77, [0:0], "Disable", "PWM input" ; |
338+ dutyPulseCaptureEnabled2 = bits, U08, 77, [1:1], "Disable", "PWM input" ; |
339+ dutyPulseOnLevel = bits, U08, 77, [2:2], "High", "Low" ; |
340+ dutyPulseOnLevel2 = bits, U08, 77, [3:3], "High", "Low" ; V
341+ unused2_77 = bits, U08, 77, [4:7] ;[PJSC v1.10]
342+ 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"
343+ 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"
344+ veMapSelection2Pri = bits, U08, 79, [0:3], "VE Table 1","VE Table 2","VE Table 3","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID"
345+ veMapSelection2Sec = bits, U08, 79, [4:7], "VE Table 1","VE Table 2","VE Table 3","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID"
346+ veMapSelection3Pri = bits, U08, 80, [0:3], "VE Table 1","VE Table 2","VE Table 3","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID"
347+ veMapSelection3Sec = bits, U08, 80, [4:7], "VE Table 1","VE Table 2","VE Table 3","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID"
348+ veMapSelection4Pri = bits, U08, 81, [0:3], "VE Table 1","VE Table 2","VE Table 3","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID"
349+ veMapSelection4Sec = bits, U08, 81, [4:7], "VE Table 1","VE Table 2","VE Table 3","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID"
350+ veMapSelection1_2Pri = bits, U08, 82, [0:3], "VE Table 1","VE Table 2","VE Table 3","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID"
351+ veMapSelection1_2Sec = bits, U08, 82, [4:7], "VE Table 1","VE Table 2","VE Table 3","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID"
352+ veMapSelection2_2Pri = bits, U08, 83, [0:3], "VE Table 1","VE Table 2","VE Table 3","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID"
353+ veMapSelection2_2Sec = bits, U08, 83, [4:7], "VE Table 1","VE Table 2","VE Table 3","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID"
354+ veMapSelection3_2Pri = bits, U08, 84, [0:3], "VE Table 1","VE Table 2","VE Table 3","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID"
355+ veMapSelection3_2Sec = bits, U08, 84, [4:7], "VE Table 1","VE Table 2","VE Table 3","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID"
356+ veMapSelection4_2Pri = bits, U08, 85, [0:3], "VE Table 1","VE Table 2","VE Table 3","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID"
357+ veMapSelection4_2Sec = bits, U08, 85, [4:7], "VE Table 1","VE Table 2","VE Table 3","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID"
358+ dutyFreqTst1 = scalar, U08, 86, "Hz", 2.0, 0.0, 10, 511, 0 ;[PJSC v1.10]
359+ dutyFreqTst2 = scalar, U08, 87, "Hz", 2.0, 0.0, 10, 511, 0 ; |
360+ dutyFreqTst3 = scalar, U08, 88, "Hz", 2.0, 0.0, 10, 511, 0 ; |
361+ dutyFreqTst4 = scalar, U08, 89, "Hz", 2.0, 0.0, 10, 511, 0 ; |
362+ dutyRatioTst1 = scalar, U08, 90, "%", 1.0, 0.0, 0.0, 100.0, 0 ; |
363+ dutyRatioTst2 = scalar, U08, 91, "%", 1.0, 0.0, 0.0, 100.0, 0 ; |
364+ dutyRatioTst3 = scalar, U08, 92, "%", 1.0, 0.0, 0.0, 100.0, 0 ; |
365+ dutyRatioTst4 = scalar, U08, 93, "%", 1.0, 0.0, 0.0, 100.0, 0 ; |
366+ testop_fp = bits, U08, 94, [0:0], "Off", "On" ; |
367+ testop_inj = bits, U08, 94, [1:2], "Off", "One", "INVALID", "All" ; |
368+ testop_coil = bits, U08, 94, [3:4], "Off", "One", "INVALID", "INVALID" ; |
369+ testsel_inj = bits, U08, 94, [5:6], "Inj1", "Inj2", "Inj3", "Inj4" ; |
370+ testsel_coil = bits, U08, 94, [7:7], "CoilA", "CoilB" ; |
371+ testint = scalar, U16, 95, "ms", 0.01, 0.00, 0, 655.35, 1 ; V
372+ testrpm = scalar, U16, 95, "RPM", 1.0, { 60000/testint }, 0, 60000, 0 ;[PJSC v1.10]
373+ testpw = scalar, U16, 97, "ms", 0.01, 0.00, 0, 655.35, 1 ; * ( 1 byte)
374+ testinjcnt = scalar, U16, 99, "", 1, 0, 0, 65535, 0, noLocalUpdate ;
375+ muxout1selection = bits, U08, 101, [0:3], "Disable", "IDLE control", "Thermo Fan control", "Launch control", "Fuel pump control", "Boost control", "VVT control", "Tach output", "INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID"
376+ muxout2selection = bits, U08, 101, [4:7], "Disable", "IDLE control", "Thermo Fan control", "Launch control", "Fuel pump control", "Boost control", "VVT control", "Tach output", "INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID"
377+ baroDenBins = array, U08, 102, [9], "kPa", 1.0, 0.0, 0.0, 255.0, 0 ;[PJSC v1.10] Bins for the Barometric density correction curve
378+ baroDenRates = array, U08, 111, [9], "%", 1.0, 0.0, 0.0, 255.0, 0 ;[PJSC v1.10] Values for the \Barometric density correction curve
379+ table3Usage = bits, U08, 120, [0:0], "Ignition", "Fuel" ;[PJSC v1.10]
380+ unused2_120 = bits, U08, 120, [1:7] ;[PJSC v1.10]
381+ algorithm2 = bits, U08, 121, [0:2], $loadSourceNames ;[PJSC v1.10] For Dual Fuel Load
382+ algorithm3 = bits, U08, 121, [3:5], $loadSourceNames ;[PJSC v1.10]
383+ unused2_121 = bits, U08, 121, [6:7] ;[PJSC v1.10]
384+ algorithm4 = bits, U08, 122, [0:2], $loadSourceNames ;[PJSC v1.10]
385+ unused2_122 = bits, U08, 122, [3:7] ;[PJSC v1.10]
386+ unused2_123 = array, U08, 123, [5], "%", 1.0, 0.0, 0.0, 255, 0 ;[PJSC v1.10]
368387
369388
370389 ;Page 2 is the fuel map and axis bins only
@@ -374,7 +393,8 @@
374393 ; name = scalar, type, offset, units, scale, translate, lo, hi, digits
375394 veTable = array, U08, 0, [16x16],"%", 1.0, 0.0, 0.0, 255.0, 0
376395 rpmBins = array, U08, 256, [ 16], "RPM", 100.0, 0.0, 100.0, 25500.0, 0
377- fuelLoadBins = array, U08, 272, [ 16], { bitStringValue(algorithmUnits , algorithm) }, 2.0, 0.0, 0.0, {fuelLoadMax}, 0
396+;[PJSC v1.10] fuelLoadBins = array, U08, 272, [ 16], { bitStringValue(algorithmUnits , algorithm) }, 2.0, 0.0, 0.0, {fuelLoadMax}, 0
397+ fuelLoadBins = array, U08, 272, [ 16], { bitStringValue(algorithmUnits , algorithm) }, 1.0, 0.0, 0.0, {fuelLoadMax}, 0 ;[PJSC v1.10]
378398 ;fuelLoadBins = array, U08, 272, [ 16], { bitStringValue(algorithmUnits , algorithm) }, 2.0, 0.0, 0.0, { arrayValue(rpmBins , algorithm) }, 0
379399
380400 ;--------------------------------------------------
@@ -384,11 +404,12 @@
384404 #if table3_spark ;[PJSC v1.10] For switching table3
385405 advTable1 = array, U08, 0,[16x16], "deg", 1.0, -40, -40, 215.0, 0
386406 rpmBins2 = array, U08, 256,[ 16], "RPM", 100.0, 0.0, 100, 25500, 0
387- mapBins1= array, U08, 272, [ 16], { bitStringValue(algorithmUnits , ignAlgorithm) }, 2.0, 0.0, 0.0, {ignLoadMax}, 0 ; This name has to be used in order for the table to show up in MLVs table. I can't find the regexs that make this work :(
388-#else ;[PJSC v1.10] For switching table3
407+;[PJSC v1.10] mapBins1= array, U08, 272, [ 16], { bitStringValue(algorithmUnits , ignAlgorithm) }, 2.0, 0.0, 0.0, {ignLoadMax}, 0 ; This name has to be used in order for the table to show up in MLVs table. I can't find the regexs that make this work :(
408+ mapBins1= array, U08, 272, [ 16], { bitStringValue(algorithmUnits , ignAlgorithm) }, 1.0, 0.0, 0.0, {ignLoadMax}, 0 ;[PJSC v1.10] For switching table3
409+#else ; |
389410 veTable3 = array, U08, 0,[16x16], "%", 1.0, 0.0, 0.0, 255.0, 0 ; |
390411 rpmBinsVE3 = array, U08, 256,[ 16], "RPM", 100.0, 0.0, 100.0, 25500.0, 0 ; |
391- fuelLoadBins3 = array, U08, 272, [ 16], { bitStringValue(algorithmUnits3 , algorithm3) }, 2.0, 0.0, 0.0, {fuelLoadMax}, 0 ; V
412+ fuelLoadBins3 = array, U08, 272, [ 16], { bitStringValue(algorithmUnits3 , algorithm3) }, 1.0, 0.0, 0.0, {fuelLoadMax}, 0 ; V
392413 #endif ;[PJSC v1.10] For switching table3
393414
394415 ;--------------------------------------------------
@@ -1071,7 +1092,7 @@
10711092 ; name = scalar, type, offset, units, scale, translate, lo, hi, digits
10721093 veTable2 = array, U08, 0, [16x16],"%", 1.0, 0.0, 0.0, 255.0, 0
10731094 rpmBinsVE2 = array, U08, 256, [ 16], "RPM", 100.0, 0.0, 100.0, 25500.0, 0
1074- fuelLoadBins2 = array, U08, 272, [ 16], { bitStringValue(algorithmUnits2 , algorithm2) }, 2.0, 0.0, 0.0, {fuelLoadMax}, 0
1095+ fuelLoadBins2 = array, U08, 272, [ 16], { bitStringValue(algorithmUnits2 , algorithm2) }, 1.0, 0.0, 0.0, {fuelLoadMax}, 0
10751096
10761097 ;-------------------------------------------------------------------------------
10771098
@@ -1221,10 +1242,22 @@
12211242
12221243 defaultValue = multiVEmapEnabled, 0 ;[PJSC]
12231244 defaultValue = pjscFreq, 14 ; |
1224- defaultValue = veMapSelection1, 0 ; |
1225- defaultValue = veMapSelection2, 0 ; |
1226- defaultValue = veMapSelection3, 0 ; |
1227- defaultValue = veMapSelection4, 0 ; |
1245+ defaultValue = veMapSelection1Pri, 0 ; |
1246+ defaultValue = veMapSelection1Sec, 0 ; |
1247+ defaultValue = veMapSelection2Pri, 0 ; |
1248+ defaultValue = veMapSelection2Sec, 0 ; |
1249+ defaultValue = veMapSelection3Pri, 0 ; |
1250+ defaultValue = veMapSelection3Sec, 0 ; |
1251+ defaultValue = veMapSelection4Pri, 0 ; |
1252+ defaultValue = veMapSelection4Sec, 0 ; |
1253+ defaultValue = veMapSelection1_2Pri, 0 ; |
1254+ defaultValue = veMapSelection1_2Sec, 0 ; |
1255+ defaultValue = veMapSelection2_2Pri, 0 ; |
1256+ defaultValue = veMapSelection2_2Sec, 0 ; |
1257+ defaultValue = veMapSelection3_2Pri, 0 ; |
1258+ defaultValue = veMapSelection3_2Sec, 0 ; |
1259+ defaultValue = veMapSelection4_2Pri, 0 ; |
1260+ defaultValue = veMapSelection4_2Sec, 0 ; |
12281261 defaultValue = exTrigModeSelect, 0 ; |
12291262 defaultValue = exValveCaptureEnabled, 1 ; |
12301263 defaultValue = dutyPulseCaptureEnabled, 0 ; |
@@ -1290,13 +1323,18 @@
12901323
12911324 ;These are the limits for each of the load algorithms (Refer to the PC Variables section)
12921325 ;Order is: MAP TPS IMAP/EMAP ITB UNUSED UNUSED UNUSED UNUSED
1293- defaultValue = algorithmLimits, 511 100 511 511 100 100 100 100
1326+;[PJSC v1.10] defaultValue = algorithmLimits, 511 100 511 511 100 100 100 100
1327+ defaultValue = algorithmLimits, 255 100 255 255 100 100 100 100
12941328 #if SPEED_DENSITY
1295- defaultValue = fuelLoadMax, 511
1296- defaultValue = ignLoadMax, 511
1329+;[PJSC v1.10] defaultValue = fuelLoadMax, 511
1330+;[PJSC v1.10] defaultValue = ignLoadMax, 511
1331+ defaultValue = fuelLoadMax, 255
1332+ defaultValue = ignLoadMax, 255
12971333 #else
1298- defaultValue = fuelLoadMax, 511
1299- defaultValue = ignLoadMax, 511
1334+;[PJSC v1.10] defaultValue = fuelLoadMax, 511
1335+;[PJSC v1.10] defaultValue = ignLoadMax, 511
1336+ defaultValue = fuelLoadMax, 255
1337+ defaultValue = ignLoadMax, 255
13001338 #endif
13011339
13021340 controllerPriority = bootloaderCaps
@@ -1368,9 +1406,9 @@
13681406 ;[PJSC] subMenu = sparkTbl, "Spark Table", 2
13691407 subMenu = veMapSelectDialog, "VE Table select" ;[PJSC]
13701408 subMenu = veTable1Dialog, "&VE Table 1", 0 ; V
1371- subMenu = veTable2Dialog, "&VE Table 2", 0, { multiVEmapEnabled >= 1 } ;[PJSC]
1409+ subMenu = veTable2Dialog, "&VE Table 2", 0, { multiVEmapEnabled } ;[PJSC]
13721410 #if table3_fuel ;[PJSC v1.10] For switching table3
1373- subMenu = veTable3Dialog, "&VE Table 3", 0, { 3rdTableUsage == 1 } ;[PJSC v1.10]
1411+ subMenu = veTable3Dialog, "&VE Table 3", 0, { multiVEmapEnabled } ;[PJSC v1.10]
13741412 #endif ;[PJSC v1.10] For switching table3
13751413 subMenu = afrTable1Tbl, "AFR Table", 5
13761414 subMenu = std_separator
@@ -1910,28 +1948,63 @@
19101948 panel = accelEnrichments_center, Center
19111949 panel = accelEnrichments_south, South
19121950
1913- dialog = veMapSelectionSet1, "VE Table selection1 - SW OFF" ;[PJSC v1.10]
1914- field = "Injector 1", veMapSelection1, { multiVEmapEnabled == 1 || multiVEmapEnabled == 2 } ; |
1915- field = "Injector 2", veMapSelection2, { multiVEmapEnabled == 1 || multiVEmapEnabled == 2 } ; |
1916- field = "Injector 3", veMapSelection3, { multiVEmapEnabled == 1 || multiVEmapEnabled == 2 } ; |
1917- field = "Injector 4", veMapSelection4, { multiVEmapEnabled == 1 || multiVEmapEnabled == 2 } ; |
1918- ; |
1919- dialog = veMapSelectionSet2, "VE Table selection2 - SW ON" ; |
1920- field = "Injector 1", veMapSelection1_2, { multiVEmapEnabled == 2 } ; |
1921- field = "Injector 2", veMapSelection2_2, { multiVEmapEnabled == 2 } ; |
1922- field = "Injector 3", veMapSelection3_2, { multiVEmapEnabled == 2 } ; |
1923- field = "Injector 4", veMapSelection4_2, { multiVEmapEnabled == 2 } ; |
1924- ; |
1925- dialog = veMapSelectionDialog, "", xAxis ; |
1926- panel = veMapSelectionSet1 ; |
1927- panel = veMapSelectionSet2 ; |
1928- ; |
1929- dialog = veMapSelectDialog, "VE Table select" ; |
1930- field = "Multi VE Table", multiVEmapEnabled ; |
1931- field = "Primary Fuel Load", algorithm ; |
1932- field = "Secondary Fuel Load", algorithm2, { multiVEmapEnabled >= 1 } ; |
1933- field = "Dual Fuel Load Algorithm", secondaryFuelUsage, { multiVEmapEnabled == 3 } ; V
1934- panel = veMapSelectionDialog ;[PJSC v1.10]
1951+ dialog = veMapSelectionSet1Pri, "Primary Table" ;[PJSC v1.10]
1952+ field = "Injector 1", veMapSelection1Pri ; |
1953+ field = "Injector 2", veMapSelection2Pri, { multiVEmapEnabled && mapSeparationEnabled } ; |
1954+ field = "Injector 3", veMapSelection3Pri, { multiVEmapEnabled && mapSeparationEnabled } ; |
1955+ field = "Injector 4", veMapSelection4Pri, { multiVEmapEnabled && mapSeparationEnabled } ; |
1956+ ; |
1957+ dialog = veMapSelectionSet1Sec, "Secondary Table" ; |
1958+ field = "", veMapSelection1Sec, { multiVEmapEnabled && dualFuelEnabled } ; |
1959+ field = "", veMapSelection2Sec, { multiVEmapEnabled && mapSeparationEnabled && dualFuelEnabled } ; |
1960+ field = "", veMapSelection3Sec, { multiVEmapEnabled && mapSeparationEnabled && dualFuelEnabled } ; |
1961+ field = "", veMapSelection4Sec, { multiVEmapEnabled && mapSeparationEnabled && dualFuelEnabled } ; |
1962+ ; |
1963+ dialog = veMapSelectionSet1, "VE Table selection1 - SW OFF", xAxis ; |
1964+ panel = veMapSelectionSet1Pri ; |
1965+ panel = veMapSelectionSet1Sec, { multiVEmapEnabled && dualFuelEnabled } ; |
1966+ ; |
1967+ dialog = veMapSelectionSet2Pri, "Primary Table" ; |
1968+ field = "Injector 1", veMapSelection1_2Pri, { multiVEmapEnabled } ; |
1969+ field = "Injector 2", veMapSelection2_2Pri, { multiVEmapEnabled && mapSeparationEnabled } ; |
1970+ field = "Injector 3", veMapSelection3_2Pri, { multiVEmapEnabled && mapSeparationEnabled } ; |
1971+ field = "Injector 4", veMapSelection4_2Pri, { multiVEmapEnabled && mapSeparationEnabled } ; |
1972+ ; |
1973+ dialog = veMapSelectionSet2Sec, "Secondary Table" ; |
1974+ field = "", veMapSelection1_2Sec, { multiVEmapEnabled && dualFuelEnabled } ; |
1975+ field = "", veMapSelection2_2Sec, { multiVEmapEnabled && mapSeparationEnabled && dualFuelEnabled } ; |
1976+ field = "", veMapSelection3_2Sec, { multiVEmapEnabled && mapSeparationEnabled && dualFuelEnabled } ; |
1977+ field = "", veMapSelection4_2Sec, { multiVEmapEnabled && mapSeparationEnabled && dualFuelEnabled } ; |
1978+ ; |
1979+ dialog = veMapSelectionSet2, "VE Table selection2 - SW ON", xAxis ; |
1980+ panel = veMapSelectionSet2Pri ; |
1981+ panel = veMapSelectionSet2Sec, { multiVEmapEnabled && dualFuelEnabled } ; |
1982+ ; |
1983+ dialog = veMapSelectionDialog, "", xAxis ; |
1984+ panel = veMapSelectionSet1 ; |
1985+ panel = veMapSelectionSet2, { mapSwitchingEnabled } ; |
1986+ ; |
1987+ dialog = veMapSelectOption, "VE Table select settings" ; |
1988+ field = "Multi VE Table", multiVEmapEnabled ; |
1989+ field = "VE Table Separation", mapSeparationEnabled ; |
1990+ field = "VE Table Switching", mapSwitchingEnabled ; |
1991+ field = "Dual Fuel Load", dualFuelEnabled ; |
1992+ field = "Dual Fuel Load Algorithm", secondaryFuelUsage, { dualFuelEnabled } ; |
1993+ ; |
1994+ dialog = veFuelLoadSelection, "Fuel Load Selection" ; |
1995+ field = "VE Table 1 Fuel Load", algorithm ; |
1996+ field = "VE Table 2 Fuel Load", algorithm2, { multiVEmapEnabled } ; |
1997+#if table3_fuel ; |
1998+ field = "VE Table 3 Fuel Load", algorithm3, { multiVEmapEnabled } ; |
1999+#endif ; |
2000+ ; |
2001+ dialog = veMapSelectConfig, "", xAxis ; |
2002+ panel = veMapSelectOption ; |
2003+ panel = veFuelLoadSelection ; |
2004+ ; |
2005+ dialog = veMapSelectDialog, "VE Table select" ; |
2006+ panel = veMapSelectConfig ; V
2007+ panel = veMapSelectionDialog ;[PJSC v1.10]
19352008
19362009 ;[PJSC] dialog = veTableDialog_north, ""
19372010 ;[PJSC] panel = veTable1Tbl
@@ -3454,6 +3527,8 @@
34543527 tachometer = rpm, "Engine Speed", "RPM", 0, 13000, 600, 1000,11000,12000, 0, 0 ;[PJSC v1.10]
34553528 veGauge = veCurr, "VE Current", "%", 0, 120, -1, -1, 999, 999, 0, 0
34563529 veGauge2 = veCurr2, "VE2 Current", "%", 0, 120, -1, -1, 999, 999, 0, 0 ;[PJSC]
3530+ veGauge3 = veCurr3, "VE3 Current", "%", 0, 120, -1, -1, 999, 999, 0, 0 ;[PJSC v1.10]
3531+ veGauge4 = veCurr4, "VE4 Current", "%", 0, 120, -1, -1, 999, 999, 0, 0 ;[PJSC v1.10]
34573532 warmupEnrichGauge = warmupEnrich, "Warmup Enrichment", "%", 100, 200, 130, 140, 140, 150, 0, 0
34583533 aseEnrichGauge = ase_enrich, "Afterstart Enrichment","%", 0, 200, 130, 140, 140, 150, 0, 0
34593534 batCorrectGauge = batCorrection, "Voltage Correction", "%", 0, 200, 130, 140, 140, 150, 0, 0
@@ -3573,7 +3648,7 @@
35733648
35743649 ochGetCommand = "r\$tsCanId\x30%2o%2c"
35753650 ;[PJSC] ochBlockSize = 90
3576- ochBlockSize = 108 ;[PJSC v1.10] Extend block size for Test mode
3651+ ochBlockSize = 110 ;[PJSC v1.10] Extend block size for Test mode
35773652
35783653 secl = scalar, U08, 0, "sec", 1.000, 0.000
35793654 status1 = scalar, U08, 1, "bits", 1.000, 0.000
@@ -3674,16 +3749,18 @@
36743749 ignLoad = scalar, S16, 87, { bitStringValue( algorithmUnits , ignAlgorithm ) }, 1.000, 0.000
36753750 syncLossCounter = scalar, U08, 89, "", 1.000, 0.000
36763751 veCurr2 = scalar, U08, 90, "%", 1.000, 0.000 ;[PJSC]Multi VE Map support
3677- valvePosition = scalar, U08, 91, "%", 1.000, 0.000 ;[PJSC]Extend output channel for External Trigger
3678- valvePositionADC = scalar, U08, 92, "ADC", 1.000, 0.000 ;[PJSC]Extend output channel for External Trigger
3679- sparkedAngle = scalar, S16, 93, "deg", 1.000, 0.000 ;[PJSC]Extend output channel for External Trigger
3680- dutyFreq = scalar, U16, 95, "Hz", 1.000, 0.000 ;[PJSC]For capturing duty pulse
3681- dutyRatio = scalar, U16, 97, "%", 1.000, 0.000 ;[PJSC]For capturing duty pulse
3682- dutyFreq2 = scalar, U16, 99, "Hz", 1.000, 0.000 ;[PJSC]For capturing duty pulse
3683- dutyRatio2 = scalar, U16, 101, "%", 1.000, 0.000 ;[PJSC]For capturing duty pulse
3684- testCnt = scalar, U16, 103, "", 1.000, 0.000 ;[PJSC v1.10]For test mode
3685- afr2 = scalar, U08, 105, "O2", 0.100, 0.000 ;[PJSC v1.10]
3686- fuelLoad2 = scalar, S16, 106, { bitStringValue( algorithmUnits2 , algorithm2 ) }, 1.000, 0.000 ;[PJSC v1.10]For dual fuel load
3752+ veCurr3 = scalar, U08, 91, "%", 1.000, 0.000 ;[PJSC]Multi VE Map support
3753+ veCurr4 = scalar, U08, 92, "%", 1.000, 0.000 ;[PJSC]Multi VE Map support
3754+ valvePosition = scalar, U08, 93, "%", 1.000, 0.000 ;[PJSC]Extend output channel for External Trigger
3755+ valvePositionADC = scalar, U08, 94, "ADC", 1.000, 0.000 ;[PJSC]Extend output channel for External Trigger
3756+ sparkedAngle = scalar, S16, 95, "deg", 1.000, 0.000 ;[PJSC]Extend output channel for External Trigger
3757+ dutyFreq = scalar, U16, 97, "Hz", 1.000, 0.000 ;[PJSC]For capturing duty pulse
3758+ dutyRatio = scalar, U16, 99, "%", 1.000, 0.000 ;[PJSC]For capturing duty pulse
3759+ dutyFreq2 = scalar, U16, 101, "Hz", 1.000, 0.000 ;[PJSC]For capturing duty pulse
3760+ dutyRatio2 = scalar, U16, 103, "%", 1.000, 0.000 ;[PJSC]For capturing duty pulse
3761+ testCnt = scalar, U16, 105, "", 1.000, 0.000 ;[PJSC v1.10]For test mode
3762+ afr2 = scalar, U08, 107, "O2", 0.100, 0.000 ;[PJSC v1.10]
3763+ fuelLoad2 = scalar, S16, 108, { bitStringValue( algorithmUnits2 , algorithm2 ) }, 1.000, 0.000 ;[PJSC v1.10]For dual fuel load
36873764
36883765
36893766 #if CELSIUS
@@ -3721,8 +3798,10 @@
37213798 map_vacboost = { map < baro ? -map_inhg : map_psi }
37223799
37233800 ;fuelLoadMax = { arrayValue(algorithmLimits , algorithm) } ;Doesn't work, no idea why.
3724- fuelLoadMax = { (algorithm == 0 || algorithm == 2) ? 511 : 100 }
3725- ignLoadMax = { (ignAlgorithm == 0 || ignAlgorithm == 2) ? 511 : 100 }
3801+;[PJSC vv1.10] fuelLoadMax = { (algorithm == 0 || algorithm == 2) ? 511 : 100 }
3802+;[PJSC vv1.10] ignLoadMax = { (ignAlgorithm == 0 || ignAlgorithm == 2) ? 511 : 100 }
3803+ fuelLoadMax = { (algorithm == 0 || algorithm == 2) ? 255 : 100 }
3804+ ignLoadMax = { (ignAlgorithm == 0 || ignAlgorithm == 2) ? 255 : 100 }
37263805
37273806 boostTableLimit = { boostType == 0 ? 100 : 511 } ;The maximum value allowed in the boost table. 100 is used for duty cycle, 511 for kpa
37283807
@@ -3766,6 +3845,8 @@
37663845 entry = accelEnrich, "Accel Enrich", int, "%d"
37673846 entry = veCurr, "VE", int, "%d"
37683847 entry = veCurr2, "VE2", int, "%d", { multiVEmapEnabled } ;[PJSC]
3848+ entry = veCurr3, "VE3", int, "%d", { multiVEmapEnabled } ;[PJSC v1.10]
3849+ entry = veCurr4, "VE4", int, "%d", { multiVEmapEnabled } ;[PJSC v1.10]
37693850 entry = pulseWidth, "PW", float, "%.1f"
37703851 entry = afrTarget, "AFR Target", float, "%.3f"
37713852 entry = pulseWidth, "PW2", float, "%.1f"
--- branches/Ver1.00_base/speeduino/comms.h (revision 48)
+++ branches/Ver1.00_base/speeduino/comms.h (revision 49)
@@ -15,7 +15,7 @@
1515 #define ve2SetPage 12 //[PJSC] Config Page 12
1616
1717 //[PJSC]#define SERIAL_PACKET_SIZE 90 //Must match ochBlockSize in ini file
18-#define SERIAL_PACKET_SIZE 108 //[PJSC v1.10] Extend serial packet block size for Test mode
18+#define SERIAL_PACKET_SIZE 110 //[PJSC v1.10] Extend serial packet block size for Test mode
1919
2020 byte currentPage = 1;//Not the same as the speeduino config page numbers
2121 bool isMap = true;
--- branches/Ver1.00_base/speeduino/globals.h (revision 48)
+++ branches/Ver1.00_base/speeduino/globals.h (revision 49)
@@ -250,6 +250,9 @@
250250 #define NUM_SQUIRT_DEVICE 4 //[PJSC]
251251 #define SELECT_VE1 0 //[PJSC]
252252 #define SELECT_VE2 1 //[PJSC]
253+#define SELECT_VE3 2 //[PJSC v1.10]
254+#define SELECT_VE4 3 //[PJSC v1.10]
255+#define MULTI_VE_COUNT 4 //[PJSC v1.10]
253256
254257 #define EXTRIG_SPARK_DISABLE 0 //[PJSC v1.10] For MAP switching
255258 #define EXTRIG_SPARK_CAPTURE 1 // V
@@ -337,9 +340,8 @@
337340
338341 volatile byte captureDutyPulseInterrupt; //[PJSC] For capture duty pulse
339342 volatile byte captureDutyPulseInterrupt2; //[PJSC] For capture duty pulse
340-volatile unsigned int tempPWvalue1; //[PJSC] Multi VE Map support
341-volatile unsigned int tempPWvalue2; //[PJSC] Multi VE Map support
342-volatile unsigned int dualFuelLoadVE; //[PJSC] Dual Fuel Load support
343+volatile byte tempVEvalue[4]; //[PJSC v1.10] Multi VE Map support
344+volatile unsigned int dualFuelLoadVE; //[PJSC v1.10] Dual Fuel Load support
343345
344346 //These need to be here as they are used in both speeduino.ino and scheduler.ino
345347 bool channel1InjEnabled = true;
@@ -406,6 +408,8 @@
406408 volatile int rpmDOT;
407409 byte VE;
408410 byte VE2; //[PJSC]
411+ byte VE3; //[PJSC v1.10]
412+ byte VE4; //[PJSC v1.10]
409413 byte O2;
410414 byte O2_2;
411415 int coolant;
@@ -503,7 +507,10 @@
503507 byte testModeActive; //[PJSC v1.10] For test mode
504508 int16_t testCnt; //[PJSC v1.10] For test mode
505509 boolean mapSelectSw; //[PJSC v1.10] For MAP switching
506- byte veMapselect[4]; //[PJSC v1.10] For MAP switching
510+ byte veMapSelectionSw1Pri[4]; //[PJSC v1.10] For x4 Fuel table support
511+ byte veMapSelectionSw1Sec[4]; //[PJSC v1.10] |
512+ byte veMapSelectionSw2Pri[4]; //[PJSC v1.10] V
513+ byte veMapSelectionSw2Sec[4]; //[PJSC v1.10] For x4 Fuel table support
507514
508515 //Helpful bitwise operations:
509516 //Useful reference: http://playground.arduino.cc/Code/BitMath
@@ -623,19 +630,37 @@
623630 byte exTrigHysteresis; // |
624631 byte squirtDeviceType : 1; // |
625632 byte multiVEmapEnabled: 1; // |
633+ byte mapSeparationEnabled: 1; // |
634+ byte mapSwitchingEnabled: 1; // |
635+ byte dualFuelEnabled: 1; // |
636+ byte secondaryFuelUsage: 1; // |
637+ byte unused2_75: 2; // |
626638 byte exTrigModeSelect : 2; // | For External Trigger
627639 byte externalTrigEdge: 1; // | 0: Rising, 1: Falling
628640 byte exValveCaptureEnabled: 1; // | For capturing Exhaust valve position
641+ byte exValveCalibrationMode: 1; //[PJSC] Support Exhaust Valve calibrationmode
642+ byte unused2_76: 3; // |
629643 byte dutyPulseCaptureEnabled: 1; // | For capturing duty pulse ch1
630644 byte dutyPulseCaptureEnabled2: 1; // | For capturing duty pulse ch2
631645 byte dutyPulseOnLevel: 1; // | For capturing duty pulse ch1, 0: high, 1: low
632- byte dutyPulseOnLevel2: 1; // V For capturing duty pulse ch2, 0: high, 1: low
633- byte exValveCalibrationMode: 1; //[PJSC] Support Exhaust Valve calibrationmode
634- byte fuelAlgorithm2: 3; //[PJSC v1.10] For Secondary Fuel Algorithm
635- byte secondaryFuelUsage: 1; //[PJSC v1.10] For Secondary Fuel Algorithm
636- byte unused1_74_7: 1; //[PJSC] Place holder
637- byte veMapSelection[4]; //[PJSC]
638- byte veMapSelection2[4]; //[PJSC v1.10] For MAP switching
646+ byte dutyPulseOnLevel2: 1; // | For capturing duty pulse ch2, 0: high, 1: low
647+ byte unused2_77: 4; // V
648+ byte veMapSelectionInj1Pri: 4; //[PJSCv1.10] For x4 Fuel table support
649+ byte veMapSelectionInj1Sec: 4; //[PJSCv1.10] |
650+ byte veMapSelectionInj2Pri: 4; //[PJSCv1.10] |
651+ byte veMapSelectionInj2Sec: 4; //[PJSCv1.10] |
652+ byte veMapSelectionInj3Pri: 4; //[PJSCv1.10] |
653+ byte veMapSelectionInj3Sec: 4; //[PJSCv1.10] |
654+ byte veMapSelectionInj4Pri: 4; //[PJSCv1.10] |
655+ byte veMapSelectionInj4Sec: 4; //[PJSCv1.10] |
656+ byte veMapSelectionInj1_2Pri: 4; //[PJSCv1.10] |
657+ byte veMapSelectionInj1_2Sec: 4; //[PJSCv1.10] |
658+ byte veMapSelectionInj2_2Pri: 4; //[PJSCv1.10] |
659+ byte veMapSelectionInj2_2Sec: 4; //[PJSCv1.10] |
660+ byte veMapSelectionInj3_2Pri: 4; //[PJSCv1.10] |
661+ byte veMapSelectionInj3_2Sec: 4; //[PJSCv1.10] |
662+ byte veMapSelectionInj4_2Pri: 4; //[PJSCv1.10] V
663+ byte veMapSelectionInj4_2Sec: 4; //[PJSCv1.10] For x4 Fuel table support
639664 byte dutyFreqTst[4]; //[PJSC v1.10] For test mode
640665 byte dutyRatioTst[4]; // |
641666 byte testop_fp: 1; // |
@@ -651,9 +676,11 @@
651676 byte baroDenBins[9]; // | For Barometric extend correnction
652677 byte baroDenRates[9]; // | For Barometric extend correnction
653678 byte table3Usage: 1; // | For switching usage of 3rd table Ignition/Fuel
679+ byte unused2_120: 7; // |
680+ byte fuelAlgorithm2: 3; //[PJSC v1.10] For Secondary Fuel Algorithm
654681 byte fuelAlgorithm3: 3; // |
655- byte unused2_119: 4; // V
656- byte unused2_120[8]; //[PJSC v1.10] For test mode
682+ byte unused2_121: 2; // V
683+ byte unused2_122[6]; //[PJSC v1.10] For test mode
657684
658685 #if defined(CORE_AVR)
659686 };
--- branches/Ver1.00_base/speeduino/speeduino.h (revision 48)
+++ branches/Ver1.00_base/speeduino/speeduino.h (revision 49)
@@ -3,9 +3,13 @@
33
44 uint16_t PW(int REQ_FUEL, byte VE, long MAP, int corrections, int injOpen);
55 byte getVE();
6-static inline byte getVE2(); //[PJSC]Multi VE Map support
6+byte getVE2(); //[PJSC v1.10]Multi VE Map support
7+byte getVE3(); //[PJSC v1.10]Multi VE Map support
8+byte getVE4(); //[PJSC v1.10]Multi VE Map support
79 byte getAdvance();
810
11+byte selectVE(byte); //[PJSC v1.10]Multi VE Map support
12+
913 uint16_t calculateInjector2StartAngle(unsigned int);
1014 uint16_t calculateInjector3StartAngle(unsigned int);
1115 uint16_t calculateInjector4StartAngle(unsigned int);