• 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

Revision52 (tree)
Time2019-03-09 00:28:16
Authormaharu

Log Message

Prepare x4 VE table support.

Change Summary

Incremental Difference

--- branches/Ver1.00_base/reference/PJSC.ini (revision 51)
+++ branches/Ver1.00_base/reference/PJSC.ini (revision 52)
@@ -30,9 +30,9 @@
3030 settingOption = resetcontrol_standard, "Basic Options Only"
3131 settingOption = resetcontrol_adv, "Advanced Features (16u2 Firmware Update Required)"
3232
33- settingGroup = table3_usage_group, "Selection of table3 usage" ;[PJSC v1.10] For switching 3rd table
34- settingOption = table3_spark, "Spark advance table" ;[PJSC v1.10] For switching 3rd table
35- settingOption = table3_fuel, "VE table3" ;[PJSC v1.10] For switching 3rd table
33+ settingGroup = table4_usage_group, "Selection of table4 usage" ;[PJSC v1.10] For switching 3rd table
34+ settingOption = table4_spark, "Spark advance table" ;[PJSC v1.10] For switching 3rd table
35+ settingOption = table4_fuel, "VE table4" ;[PJSC v1.10] For switching 3rd table
3636
3737 [PcVariables]
3838 ; valid types: boolean, double, int, list
@@ -376,14 +376,12 @@
376376 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"
377377 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
378378 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]
379+ algorithm2 = bits, U08, 120, [0:2], $loadSourceNames ;[PJSC v1.10] For Dual Fuel Load
380+ algorithm3 = bits, U08, 120, [3:5], $loadSourceNames ;[PJSC v1.10]
381+ unused2_120 = bits, U08, 120, [6:7] ;[PJSC v1.10]
382+ table4Usage = bits, U08, 121, [0:0], "Fuel", "Spark" ;[PJSC v1.10]
383+ unused2_121 = bits, U08, 121, [1:7] ;[PJSC v1.10]
384+ unused2_122 = array, U08, 122, [6], "%", 1.0, 0.0, 0.0, 255, 0 ;[PJSC v1.10]
387385
388386
389387 ;Page 2 is the fuel map and axis bins only
@@ -401,16 +399,16 @@
401399 ;Start Ignition table (Page 3)
402400 ;--------------------------------------------------
403401 page = 3
404-#if table3_spark ;[PJSC v1.10] For switching table3
402+#if table4_spark ;[PJSC v1.10] For switching table4
405403 advTable1 = array, U08, 0,[16x16], "deg", 1.0, -40, -40, 215.0, 0
406404 rpmBins2 = array, U08, 256,[ 16], "RPM", 100.0, 0.0, 100, 25500, 0
407405 ;[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
406+ mapBins1= array, U08, 272, [ 16], { bitStringValue(algorithmUnits , ignAlgorithm) }, 1.0, 0.0, 0.0, {ignLoadMax}, 0 ;[PJSC v1.10] For switching table4
409407 #else ; |
410- veTable3 = array, U08, 0,[16x16], "%", 1.0, 0.0, 0.0, 255.0, 0 ; |
411- rpmBinsVE3 = array, U08, 256,[ 16], "RPM", 100.0, 0.0, 100.0, 25500.0, 0 ; |
412- fuelLoadBins3 = array, U08, 272, [ 16], { bitStringValue(algorithmUnits3 , algorithm3) }, 1.0, 0.0, 0.0, {fuelLoadMax}, 0 ; V
413-#endif ;[PJSC v1.10] For switching table3
408+ veTable4 = array, U08, 0,[16x16], "%", 1.0, 0.0, 0.0, 255.0, 0 ; |
409+ rpmBinsVE4 = array, U08, 256,[ 16], "RPM", 100.0, 0.0, 100.0, 25500.0, 0 ; |
410+ fuelLoadBins4 = array, U08, 272, [ 16], { bitStringValue(algorithmUnits , ignAlgorithm) }, 1.0, 0.0, 0.0, {ignLoadMax}, 0 ; V
411+#endif ;[PJSC v1.10] For switching table4
414412
415413 ;--------------------------------------------------
416414 ;Start Page 4
@@ -1163,14 +1161,15 @@
11631161 requiresPowerCycle = muxout1selection ;[PJSC v1.10]
11641162 requiresPowerCycle = muxout2selection ;[PJSC v1.10]
11651163 requiresPowerCycle = algorithm2 ;[PJSC v1.10]
1164+ requiresPowerCycle = algorithm3 ;[PJSC v1.10]
11661165 requiresPowerCycle = secondaryFuelUsage ;[PJSC v1.10]
1167- requiresPowerCycle = table3Usage ;[PJSC v1.10]
1166+ requiresPowerCycle = table4Usage ;[PJSC v1.10]
11681167
11691168 requiresPowerCycle = caninput_sel0a
11701169 requiresPowerCycle = caninput_sel0b
11711170 requiresPowerCycle = caninput_sel1a
11721171 requiresPowerCycle = caninput_sel1b
1173- requiresPowerCycle = caninput_sel2a
1172+ requiresPowerCycle = caninput_sel2a
11741173 requiresPowerCycle = caninput_sel2b
11751174 requiresPowerCycle = caninput_sel3a
11761175 requiresPowerCycle = caninput_sel3b
@@ -1302,8 +1301,14 @@
13021301 defaultValue = testinjcnt, 0 ; |
13031302 defaultValue = muxout1selection, 0 ; V
13041303 defaultValue = muxout2selection, 0 ;[PJSC v1.10]
1305- defaultValue = table3Usage, 0 ;[PJSC v1.10]
1304+#if table4_fuel ;[PJSC v1.10] For switching table4
1305+ defaultValue = table4Usage, 0 ;[PJSC v1.10]
1306+#endif ;[PJSC v1.10] For switching table4
1307+#if table4_spark ;[PJSC v1.10] For switching table4
1308+ defaultValue = table4Usage, 1 ;[PJSC v1.10]
1309+#endif ;[PJSC v1.10] For switching table4
13061310
1311+
13071312 ;Default pins
13081313 defaultValue = fanPin, 0
13091314 defaultValue = vvtPin, 0
@@ -1411,9 +1416,9 @@
14111416 subMenu = std_realtime, "Realtime Display"
14121417 subMenu = accelEnrichments, "Acceleration Enrichment"
14131418 subMenu = egoControl, "AFR/O2", 3
1414-#if table3_spark ;[PJSC v1.10] For switching table3
1419+#if table4_spark ;[PJSC v1.10] For switching table4
14151420 subMenu = RevLimiterS, "Limiters", 2
1416-#endif ;[PJSC v1.10] For switching table3
1421+#endif ;[PJSC v1.10] For switching table4
14171422 ;[PJSC] subMenu = flexFueling, "Flex Fuel", 2
14181423 ;[PJSC] subMenu = veTableDialog, "VE Table", 0
14191424 ;[PJSC] subMenu = sparkTbl, "Spark Table", 2
@@ -1420,15 +1425,16 @@
14201425 subMenu = veMapSelectDialog, "VE Table select" ;[PJSC]
14211426 subMenu = veTable1Dialog, "&VE Table 1", 0 ; V
14221427 subMenu = veTable2Dialog, "&VE Table 2", 0, { multiVEmapEnabled } ;[PJSC]
1423-#if table3_fuel ;[PJSC v1.10] For switching table3
14241428 subMenu = veTable3Dialog, "&VE Table 3", 0, { multiVEmapEnabled } ;[PJSC v1.10]
1425-#endif ;[PJSC v1.10] For switching table3
1429+#if table4_fuel ;[PJSC v1.10] For switching table4
1430+ subMenu = veTable4Dialog, "&VE Table 4", 0, { multiVEmapEnabled } ;[PJSC v1.10]
1431+#endif ;[PJSC v1.10] For switching table4
14261432 subMenu = afrTable1Tbl, "AFR Table", 5
14271433 subMenu = std_separator
14281434 subMenu = inj_trimad, "Sequential fuel trim", 9
14291435 subMenu = stagingTableDialog, "Staged Injection", 10, { nCylinders <= 4 } ; Can't do staging on more than 4 cylinder engines
14301436
1431-#if table3_spark ;[PJSC v1.10] For switching table3
1437+#if table4_spark ;[PJSC v1.10] For switching table4
14321438 menu = "&Spark"
14331439 subMenu = sparkSettings, "Spark Settings"
14341440 subMenu = sparkTbl, "Spark Table", 2
@@ -1437,7 +1443,7 @@
14371443 subMenu = iat_retard_curve, "IAT Retard"
14381444 ;subMenu = knockSettings, "Knock Settings"
14391445 subMenu = rotary_ignition, "Rotary Ignition", { sparkMode == 4 }
1440-#endif ;[PJSC v1.10] For switching table3
1446+#endif ;[PJSC v1.10] For switching table4
14411447
14421448 menu = "&Starting/Idle"
14431449 subMenu = crankPW, "Cranking Settings"
@@ -1460,11 +1466,11 @@
14601466 subMenu = muxoutSetting, "MUX Output Port Setting" ;[PJSC v1.10]
14611467 subMenu = std_separator ;[PJSC v1.10]
14621468 ;[PJSC v1.10] subMenu = fanSettings, "Thermo Fan"
1463-#if table3_spark ;[PJSC v1.10] For switching table3
1469+#if table4_spark ;[PJSC v1.10] For switching table4
14641470 subMenu = LaunchControl, "Launch Control / Flat Shift"
14651471 ;[PJSC v1.10] subMenu = fuelpump, "Fuel Pump"
14661472 subMenu = NitrousControl, "Nitrous"
1467-#endif ;[PJSC v1.10] For switching table3
1473+#endif ;[PJSC v1.10] For switching table4
14681474 ;[PJSC v1.10] subMenu = std_separator
14691475 ;[PJSC v1.10] subMenu = boostSettings, "Boost Control"
14701476 ;[PJSC v1.10] subMenu = boostLoad, "Boost Targets/Load", 8, { boostEnabled }
@@ -1516,13 +1522,14 @@
15161522 ;[PJSC] subMenu = sparkMap, "Spark Table", 3
15171523 subMenu = veTable1Map, "Fuel Table 1" ;[PJSC]
15181524 subMenu = veTable2Map, "Fuel Table 2" ;[PJSC]
1519-#if table3_fuel ;[PJSC v1.10] For switching table3
1520- subMenu = veTable3Map, "Fuel Table 3" ;[PJSC v1.10] For switching table3
1521-#endif ;[PJSC v1.10] For switching table3
1525+ subMenu = veTable3Map, "Fuel Table 3" ;[PJSC v1.10] For switching table4
1526+#if table4_fuel ;[PJSC v1.10] For switching table4
1527+ subMenu = veTable4Map, "Fuel Table 4" ;[PJSC v1.10] For switching table4
1528+#endif ;[PJSC v1.10] For switching table4
15221529 subMenu = afrTable1Map, "AFR Target Table"
1523-#if table3_spark ;[PJSC v1.10] For switching table3
1524- subMenu = sparkMap, "Spark Table", 3 ;[PJSC v1.10] For switching table3
1525-#endif ;[PJSC v1.10] For switching table3
1530+#if table4_spark ;[PJSC v1.10] For switching table4
1531+ subMenu = sparkMap, "Spark Table", 3 ;[PJSC v1.10] For switching table4
1532+#endif ;[PJSC v1.10] For switching table4
15261533
15271534
15281535 #if enablehardware_test
@@ -2009,8 +2016,9 @@
20092016 dialog = veFuelLoadSelection, "Fuel Load Selection" ; |
20102017 field = "VE Table 1 Fuel Load", algorithm ; |
20112018 field = "VE Table 2 Fuel Load", algorithm2, { multiVEmapEnabled } ; |
2012-#if table3_fuel ; |
20132019 field = "VE Table 3 Fuel Load", algorithm3, { multiVEmapEnabled } ; |
2020+#if table4_fuel ; |
2021+ field = "VE Table 4 Fuel Load", ignAlgorithm, { multiVEmapEnabled } ; |
20142022 #endif ; |
20152023 ; |
20162024 dialog = veMapSelectConfig, "", xAxis ; |
@@ -2201,7 +2209,7 @@
22012209 field = "Trigger Filter", TrigFilter, { TrigPattern != 13 }
22022210 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
22032211
2204-#if table3_spark ;[PJSC v1.10] For switching table3
2212+#if table4_spark ;[PJSC v1.10] For switching table4
22052213 dialog = sparkSettings,"Spark Settings",4
22062214 field = "Ignition load source", ignAlgorithm
22072215 field = "Spark output mode", sparkMode
@@ -2235,7 +2243,7 @@
22352243 dialog = rotary_ignition, "Rotary Ignition", 4
22362244 field = "Ignition Configuration", rotaryType
22372245 panel = rotaryTrailing_curve
2238-#endif ;[PJSC v1.10] For switching table3
2246+#endif ;[PJSC v1.10] For switching table4
22392247
22402248 dialog = boostCut, "Boost Cut"
22412249 field = "Boost Cut", boostCutType
@@ -2554,9 +2562,9 @@
25542562 panel = enableoutputtestbuttons
25552563 panel = enablefuelpumpbuttons ;[PJSC v1.10]
25562564 panel = outputtest_injectors
2557-#if table3_spark ;[PJSC v1.10] For switching table3
2565+#if table4_spark ;[PJSC v1.10] For switching table4
25582566 panel = outputtest_spark
2559-#endif ;[PJSC v1.10] For switching table3
2567+#endif ;[PJSC v1.10] For switching table4
25602568 ;panel = outputtest_io2
25612569 panel = outputtest_warningmessage
25622570
@@ -3484,7 +3492,7 @@
34843492 topicHelp = "http://speeduino.com/wiki/index.php/Tuning"
34853493 ; constant, variable
34863494 xBins = rpmBinsVE2, rpm
3487- yBins = fuelLoadBins2, fuelLoad
3495+ yBins = fuelLoadBins2, fuelLoad2
34883496 zBins = veTable2
34893497
34903498 gridHeight = 2.0
@@ -3494,17 +3502,28 @@
34943502 ;[PJSC]-------------------------------------------------------------------------
34953503
34963504 ;[PJSC v1.10]-------------------------------------------------------------------
3497-#if table3_fuel
34983505 table = veTable3Tbl, veTable3Map, "VE Table 3", 12
34993506 topicHelp = "http://speeduino.com/wiki/index.php/Tuning"
35003507 ; constant, variable
35013508 xBins = rpmBinsVE3, rpm
3502- yBins = fuelLoadBins3, fuelLoad
3509+ yBins = fuelLoadBins3, fuelLoad3
35033510 zBins = veTable3
35043511
35053512 gridHeight = 2.0
35063513 gridOrient = 250, 0, 340 ; Space 123 rotation of grid in degrees.
35073514 upDownLabel = "(RICHER)", "(LEANER)"
3515+
3516+#if table4_fuel
3517+ table = veTable4Tbl, veTable4Map, "VE Table 4", 12
3518+ topicHelp = "http://speeduino.com/wiki/index.php/Tuning"
3519+ ; constant, variable
3520+ xBins = rpmBinsVE4, rpm
3521+ yBins = fuelLoadBins4, ignLoad
3522+ zBins = veTable4
3523+
3524+ gridHeight = 2.0
3525+ gridOrient = 250, 0, 340 ; Space 123 rotation of grid in degrees.
3526+ upDownLabel = "(RICHER)", "(LEANER)"
35083527 #endif
35093528 ;[PJSC v1.10]-------------------------------------------------------------------
35103529
@@ -3778,7 +3797,7 @@
37783797 testCnt = scalar, U16, 105, "", 1.000, 0.000 ;[PJSC v1.10]For test mode
37793798 afr2 = scalar, U08, 107, "O2", 0.100, 0.000 ;[PJSC v1.10]
37803799 fuelLoad2 = scalar, S16, 108, { bitStringValue( algorithmUnits2 , algorithm2 ) }, 1.000, 0.000 ;[PJSC v1.10]For dual fuel load
3781- fuelLoad3 = scalar, S16, 108, { bitStringValue( algorithmUnits3 , algorithm3 ) }, 1.000, 0.000 ;[PJSC v1.10]For dual fuel load
3800+ fuelLoad3 = scalar, S16, 110, { bitStringValue( algorithmUnits3 , algorithm3 ) }, 1.000, 0.000 ;[PJSC v1.10]For dual fuel load
37823801
37833802
37843803 #if CELSIUS
@@ -3955,6 +3974,8 @@
39553974 [Tools]
39563975 ;addTool = toolName, PanelName
39573976 addTool = veTableGenerator, "VE Table Generator", veTable1Tbl
3977+ addTool = veTableGenerator, "VE Table Generator", veTable2Tbl ;[PJSC v1.10]
3978+ addTool = veTableGenerator, "VE Table Generator", veTable3Tbl ;[PJSC v1.10]
39583979 addTool = afrTableGenerator, "AFR Table Generator", afrTable1Tbl
39593980
39603981
@@ -3995,7 +4016,7 @@
39954016 ; filter = maxTPSFilter, "High Throttle", tps, < , 15, , true
39964017 ;------------- WUE VEAL not currently working ----------------
39974018
3998-;[PJSC]------------------------------------------------------------------------
4019+;[PJSC v1.10]------------------------------------------------------------------------
39994020 ; tableName, lambdaTargetTableName, lambdaChannel, egoCorrectionChannel, activeCondition
40004021 veAnalyzeMap = veTable2Tbl, afrTable1Tbl, afr, egoCorrection
40014022 lambdaTargetTables = afrTable1Tbl, afrTSCustom,
@@ -4007,12 +4028,32 @@
40074028 filter = std_DeadLambda ; Auto build
40084029
40094030 #if CELSIUS
4010- filter = minCltFilter, "Minimum CLT", coolant, < , 71, , true
4031+ filter = minCltFilter, "Minimum CLT", coolant, < , 71, , true
40114032 #else
4012- filter = minCltFilter, "Minimum CLT", coolant, < , 160, , true
4033+ filter = minCltFilter, "Minimum CLT", coolant, < , 160, , true
40134034 #endif
4014- filter = accelFilter, "Accel Flag" , engine, & , 16, , false
4015- filter = aseFilter, "ASE Flag" , engine, & , 4, , false
4035+ filter = accelFilter, "Accel Flag" , engine, & , 16, , false
4036+ filter = aseFilter, "ASE Flag" , engine, & , 4, , false
40164037 filter = overrunFilter, "Overrun" , pulseWidth, = , 0, , false
40174038 filter = std_Custom ; Standard Custom Expression Filter.
4018-;[PJSC]-------------------------------------------------------------------------
4039+
4040+; tableName, lambdaTargetTableName, lambdaChannel, egoCorrectionChannel, activeCondition
4041+ veAnalyzeMap = veTable3Tbl, afrTable1Tbl, afr, egoCorrection
4042+ lambdaTargetTables = afrTable1Tbl, afrTSCustom,
4043+ filter = std_xAxisMin ; Auto build with appropriate axis channels
4044+ ;filter = minRPMFilter, "Minimum RPM", rpm, < , 500, , true
4045+ filter = std_xAxisMax ; Auto build with appropriate axis channels
4046+ filter = std_yAxisMin ; Auto build with appropriate axis channels
4047+ filter = std_yAxisMax ; Auto build with appropriate axis channels
4048+ filter = std_DeadLambda ; Auto build
4049+
4050+#if CELSIUS
4051+ filter = minCltFilter, "Minimum CLT", coolant, < , 71, , true
4052+#else
4053+ filter = minCltFilter, "Minimum CLT", coolant, < , 160, , true
4054+#endif
4055+ filter = accelFilter, "Accel Flag" , engine, & , 16, , false
4056+ filter = aseFilter, "ASE Flag" , engine, & , 4, , false
4057+ filter = overrunFilter, "Overrun" , pulseWidth, = , 0, , false
4058+ filter = std_Custom ; Standard Custom Expression Filter.
4059+;[PJSC v1.10]-------------------------------------------------------------------------
--- branches/Ver1.00_base/speeduino/globals.h (revision 51)
+++ branches/Ver1.00_base/speeduino/globals.h (revision 52)
@@ -679,11 +679,11 @@
679679 byte muxout2Selection: 4; // | MUX output2 selection
680680 byte baroDenBins[9]; // | For Barometric extend correnction
681681 byte baroDenRates[9]; // | For Barometric extend correnction
682- byte table3Usage: 1; // | For switching usage of 3rd table Ignition/Fuel
683- byte unused2_120: 7; // |
684682 byte fuelAlgorithm2: 3; //[PJSC v1.10] For Secondary Fuel Algorithm
685683 byte fuelAlgorithm3: 3; // |
686- byte unused2_121: 2; // V
684+ byte unused2_120: 2; // |
685+ byte table4Usage: 1; // | For switching usage of 3rd table Ignition/Fuel
686+ byte unused2_121: 7; // V
687687 byte unused2_122[6]; //[PJSC v1.10] For test mode
688688
689689 #if defined(CORE_AVR)