• 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

Revision95 (tree)
Time2020-06-01 22:42:28
Authormaharu

Log Message

[Ver 1.02] 2020.06.01
- Basic Distributorで2気筒シーケンシャルまたはセミシーケンシャルを指定すると、インジェクターch3、4の噴射タイミングが異常となるバグを修正
- KATANAデコーダーでクランク角が正しく算出出来ない問題を修正
- シリアルデータストリームにAuto Tune用AFR値を追加

Change Summary

Incremental Difference

--- branches/Ver1.02/reference/PJSC.ini (revision 94)
+++ branches/Ver1.02/reference/PJSC.ini (revision 95)
@@ -49,6 +49,9 @@
4949 rpmhigh = scalar, U16, "rpm", 1, 0, 0, 30000, 0
5050 rpmwarn = scalar, U16, "rpm", 1, 0, 0, 30000, 0
5151 rpmdang = scalar, U16, "rpm", 1, 0, 0, 30000, 0
52+ maphigh = scalar, U16, "kPa", 1, 0, 0, 30000, 0 ;[PJSC v1.02]
53+ mapwarn = scalar, U16, "kPa", 1, 0, 0, 30000, 0 ;[PJSC v1.02]
54+ mapdang = scalar, U16, "kPa", 1, 0, 0, 30000, 0 ;[PJSC v1.02]
5255
5356 idleUnits = bits, U08, [0:2], "None", "On/Off", "Duty Cycle", "Duty Cycle", "Steps", "Steps"
5457
@@ -437,7 +440,10 @@
437440 inj2SquirtStartEnd = bits, U08, 121, [1:1], "End angle", "Start angle" ;[PJSC v1.01]
438441 inj3SquirtStartEnd = bits, U08, 121, [2:2], "End angle", "Start angle" ;[PJSC v1.01]
439442 inj4SquirtStartEnd = bits, U08, 121, [3:3], "End angle", "Start angle" ;[PJSC v1.01]
440- unused2_121 = bits, U08, 121, [4:7] ;[PJSC v1.01]
443+ afr_sensor_selection1 = bits, U08, 121, [4:4], "Primary", "Secondary" ;[PJSC v1.02] For AFR sensor selection
444+ afr_sensor_selection2 = bits, U08, 121, [5:5], "Primary", "Secondary" ;[PJSC v1.02]
445+ afr_sensor_selection3 = bits, U08, 121, [6:6], "Primary", "Secondary" ;[PJSC v1.02]
446+ afr_sensor_selection4 = bits, U08, 121, [7:7], "Primary", "Secondary" ;[PJSC v1.02]
441447 unused2_122 = array, U08, 122, [6], "%", 1.0, 0.0, 0.0, 255, 0 ;[PJSC v1.01]
442448
443449
@@ -1447,6 +1453,13 @@
14471453 defaultValue = AUXin14Alias Aux14
14481454 defaultValue = AUXin15Alias Aux15
14491455
1456+ defaultValue = rpmwarn, 3000 ;[PJSC v1.02]
1457+ defaultValue = rpmdang, 5000 ;
1458+ defaultValue = rpmhigh, 8000 ;
1459+ defaultValue = mapwarn, 200 ;
1460+ defaultValue = mapdang, 245 ;
1461+ defaultValue = maphigh, 255 ;[PJSC v1.02]
1462+
14501463 [Menu]
14511464
14521465 ;----------------------------------------------------------------------------
@@ -1484,6 +1497,10 @@
14841497 subMenu = barodensity_curve, "Baro Density", { baroCorr } ;[PJSC v1.01]
14851498 subMenu = reset_control, "Reset Control"
14861499
1500+ subMenu = std_separator ;[PJSC v1.02]
1501+ subMenu = gaugeLimits, "Gauge Limits" ; |
1502+ subMenu = std_separator ; V
1503+ subMenu = io_summary, "I/O Summary" ;[PJSC v1.02]
14871504
14881505 menu = "&Tuning"
14891506 subMenu = std_realtime, "Realtime Display"
@@ -2216,6 +2233,12 @@
22162233 field = "PID Proportional Gain", egoKP, { egoType && (egoAlgorithm == 2) }
22172234 field = "PID Integral", egoKI, { egoType && (egoAlgorithm == 2) }
22182235 field = "PID Derivative", egoKD, { egoType && (egoAlgorithm == 2) }
2236+ field = "" ;[PJSC v1.02]For AFR sensor selection
2237+ field = "AFR sensor selection for tune analyze VE" ;[PJSC v1.02] |
2238+ field = "AFR sensor for VE Table 1", afr_sensor_selection1 ;[PJSC v1.02] |
2239+ field = "AFR sensor for VE Table 2", afr_sensor_selection2 ;[PJSC v1.02] |
2240+ field = "AFR sensor for VE Table 3", afr_sensor_selection3 ;[PJSC v1.02] V
2241+ field = "AFR sensor for VE Table 4", afr_sensor_selection4 ;[PJSC v1.02]For AFR sensor selection
22192242
22202243 dialog = fanSettings,"Fan Settings",7
22212244 field = "Fan Mode", fanEnable
@@ -3263,7 +3286,25 @@
32633286 dialog = Auxin_config, "",yAxis
32643287 panel = Auxin_north
32653288 panel = Auxin_south
3266-
3289+
3290+ dialog = gaugeLimits, "Gauge Limits" ;[PJSC v1.02] Gause limit
3291+ field = "#RPM" ; |
3292+ field = "Warning", rpmwarn ; |
3293+ field = "Danger", rpmdang ; |
3294+ field = "High", rpmhigh ; |
3295+ field = "#MAP" ; |
3296+ field = "Warning", mapwarn ; |
3297+ field = "Danger", mapdang ; |
3298+ field = "High", maphigh ; V
3299+ field = !"Reload project to update gauges" ;[PJSC v1.02]
3300+
3301+ dialog = io_summary, "I/O Summary"
3302+ displayOnlyField = "fuelPumpPin", fuelPumpPin, {fpPrime} ;[PJSC v1.02]
3303+ displayOnlyField = "fanPin", fanPin, {fanEnable} ; |
3304+ displayOnlyField = "tachoPin", tachoPin ; |
3305+ displayOnlyField = "idleUpPin", idleUpPin, {idleUpEnabled} ; V
3306+ displayOnlyField = "baroPin", baroPin,{useExtBaro} ;[PJSC v1.02]
3307+
32673308 ;-------------------------------------------------------------------------------
32683309 ; General help text
32693310
@@ -3715,7 +3756,7 @@
37153756 gammaEnrichGauge = gammaEnrich, "Gamma Enrichment", "%", 50, 150, -1, -1, 151, 151, 0, 0
37163757 pulseWidthGauge = pulseWidth, "Pulse Width", "mSec", 0, 35.0, 1.0, 1.2, 20, 25, 3, 3
37173758 ;[PJSC v1.01] tachometer = rpm, "Engine Speed", "RPM", 0, 8000, 300, 600, 3000, 5000, 0, 0
3718- tachometer = rpm, "Engine Speed", "RPM", 0, 13000, 600, 1000,11000,12000, 0, 0 ;[PJSC v1.01]
3759+ tachometer = rpm, "Engine Speed", "RPM", 0, {rpmhigh},600, 1000,{rpmwarn},{rpmdang}, 0, 0 ;[PJSC v1.02]
37193760 veGauge = veCurr, "VE Current", "%", 0, 120, -1, -1, 999, 999, 0, 0
37203761 veGauge2 = veCurr2, "VE2 Current", "%", 0, 120, -1, -1, 999, 999, 0, 0 ;[PJSC]
37213762 veGauge3 = veCurr3, "VE3 Current", "%", 0, 120, -1, -1, 999, 999, 0, 0 ;[PJSC v1.01]
@@ -3727,12 +3768,16 @@
37273768 flexEnrich, = flexFuelCor, "Flex Correction", "%", 0, 200, 130, 140, 140, 150, 0, 0
37283769 advanceGauge = advance, "Spark Advance", "deg BTDC", 50, -10, 0, 0, 35, 45, 0, 0
37293770 dwellGauge = dwell, "Ign Dwell", "mSec", 0, 35.0, 1.0, 1.2, 20, 25, 3, 3
3771+ boostTargetGauge = boostTarget, "Target Boost", "kPa", 0, {maphigh}, 0, 20, {mapwarn}, {mapdang}, 0, 0 ;[PJSC v1.02]
3772+ boostDutyGauge = boostDuty, "Boost Duty Cycle", "%", 0, 100, -1, -1, 101, 110, 1, 1 ;[PJSC v1.02]
3773+ afrTargetGauge = afrTarget, "Target AFR", "", 7, 25, 12, 13, 15, 16, 2, 2 ;[PJSC v1.02]
37303774
37313775 gaugeCategory = "Sensor inputs"
3732- mapGauge = map, "Engine MAP", "kPa", 0, 255, 0, 20, 200, 245, 0, 0
3776+ mapGauge = map, "Engine MAP", "kPa", 0,{maphigh}, 0, 20,{mapwarn},{mapdang}, 0, 0 ;[PJSC v1.02]
37333777 mapGauge_psi = map_psi, "Engine MAP (PSI)", "PSI", -15, 100, 0, 20, 200, 245, 0, 0
37343778 mapGauge_bar = map_bar, "Engine MAP (BAR)", "Bar", -1, 3, -1, -1, 5, 5, 2, 2
37353779 mapGauge_vacBoost = map_vacboost, "Engine MAP (in-Hg/PSI)", "in-Hg/PSI", -30, 30, -30, -30, 30, 30, 1, 1
3780+ baroGauge = baro, "Baro Pressure", "kPa", 0,{maphigh}, 0, 20,{mapwarn},{mapdang}, 0, 0 ;[PJSC v1.02]
37363781 batteryVoltage = batteryVoltage,"Battery Voltage", "volts", 0, 25, 8, 9, 15, 16, 2, 2
37373782
37383783 tpsADCGauge = tpsADC, "TPS ADC", "", 0, 255, -1, -1, 256, 256, 0, 0
@@ -3750,6 +3795,10 @@
37503795 dutyRatioGauge2 = dutyRatio2, "Duty Ratio 2", "%", 0, 100, 5, 10, 90, 95, 0, 0 ;[PJSC]For capturing duty pulse
37513796 baroGauge = baro, "Barometric Pressure", "kPa", 0, 200, 20, 60, 140, 180, 1, 0 ;[PJSC]Add the gage for barometric sensor
37523797 injcountGauge = testCnt, "Injection Count", "pulses", 0, 1000, 65535, 65535,65535, 65535,0, 0 ;[PJSC v1.01] For test mode
3798+ afrAnalyzeGauge1 = afr_analyze1, "Air:Fuel Ratio for VE1", "", 7, 25, 12, 13, 15, 16, 2, 2 ;[PJSC v1.02] For AFR sensor selection
3799+ afrAnalyzeGauge2 = afr_analyze2, "Air:Fuel Ratio for VE2", "", 7, 25, 12, 13, 15, 16, 2, 2 ;[PJSC v1.02] For AFR sensor selection
3800+ afrAnalyzeGauge3 = afr_analyze3, "Air:Fuel Ratio for VE3", "", 7, 25, 12, 13, 15, 16, 2, 2 ;[PJSC v1.02] For AFR sensor selection
3801+ afrAnalyzeGauge4 = afr_analyze4, "Air:Fuel Ratio for VE4", "", 7, 25, 12, 13, 15, 16, 2, 2 ;[PJSC v1.02] For AFR sensor selection
37533802
37543803 #if CELSIUS
37553804 cltGauge = coolant, "Coolant Temp", "TEMP", -40, 215, -15, 0, 95, 105, 0, 0
@@ -3848,7 +3897,7 @@
38483897
38493898 ochGetCommand = "r\$tsCanId\x30%2o%2c"
38503899 ;[PJSC] ochBlockSize = 90
3851- ochBlockSize = 112 ;[PJSC v1.01] Extend block size for Test mode
3900+ ochBlockSize = 116 ;[PJSC v1.02] Extend block size
38523901
38533902 secl = scalar, U08, 0, "sec", 1.000, 0.000
38543903 status1 = scalar, U08, 1, "bits", 1.000, 0.000
@@ -3962,6 +4011,10 @@
39624011 afr2 = scalar, U08, 107, "O2", 0.100, 0.000 ;[PJSC v1.01]
39634012 fuelLoad2 = scalar, S16, 108, { bitStringValue( algorithmUnits2 , algorithm2 ) }, 1.000, 0.000 ;[PJSC v1.01]For dual fuel load
39644013 fuelLoad3 = scalar, S16, 110, { bitStringValue( algorithmUnits2 , algorithm3 ) }, 1.000, 0.000 ;[PJSC v1.01]For dual fuel load
4014+ afr_analyze1 = scalar, U08, 112, "O2 for VE Table 1", 0.100, 0.000 ;[PJSC v1.02]For AFR sensor selection
4015+ afr_analyze2 = scalar, U08, 113, "O2 for VE Table 2", 0.100, 0.000 ;[PJSC v1.02]For AFR sensor selection
4016+ afr_analyze3 = scalar, U08, 114, "O2 for VE Table 3", 0.100, 0.000 ;[PJSC v1.02]For AFR sensor selection
4017+ afr_analyze4 = scalar, U08, 115, "O2 for VE Table 4", 0.100, 0.000 ;[PJSC v1.02]For AFR sensor selection
39654018
39664019
39674020 #if CELSIUS
@@ -4006,12 +4059,6 @@
40064059
40074060 boostTableLimit = { boostType == 0 ? 100 : 511 } ;The maximum value allowed in the boost table. 100 is used for duty cycle, 511 for kpa
40084061
4009- ;[PJSC v1.02] AFR parameter to separation AFR by VE analyze table
4010- afr_analyze1 = { afr }
4011- afr_analyze2 = { afr2 }
4012- afr_analyze3 = { afr }
4013- afr_analyze4 = { afr2 }
4014-
40154062 ;-------------------------------------------------------------------------------
40164063
40174064 [Datalog]
--- branches/Ver1.02/speeduino/comms.h (revision 94)
+++ branches/Ver1.02/speeduino/comms.h (revision 95)
@@ -19,7 +19,7 @@
1919 #define ve3MapPage 11 //[PJSC v1.01] Config Page 12
2020
2121 //[PJSC]#define SERIAL_PACKET_SIZE 90 //Must match ochBlockSize in ini file
22-#define SERIAL_PACKET_SIZE 112 //[PJSC v1.01] Extend serial packet block size for Test mode
22+#define SERIAL_PACKET_SIZE 116 //[PJSC v1.02] Extend serial packet block size
2323
2424 byte currentPage = 1;//Not the same as the speeduino config page numbers
2525 bool isMap = true;
--- branches/Ver1.02/speeduino/globals.h (revision 94)
+++ branches/Ver1.02/speeduino/globals.h (revision 95)
@@ -527,6 +527,10 @@
527527 byte veMapSelectionSw1Sec[4]; //[PJSC v1.01] |
528528 byte veMapSelectionSw2Pri[4]; //[PJSC v1.01] V
529529 byte veMapSelectionSw2Sec[4]; //[PJSC v1.01] For x4 Fuel table support
530+ byte afr_analyze1; //[PJSC v1.02] For AFR sensor selection
531+ byte afr_analyze2; // |
532+ byte afr_analyze3; // V
533+ byte afr_analyze4; //[PJSC v1.02] For AFR sensor selection
530534
531535 //Helpful bitwise operations:
532536 //Useful reference: http://playground.arduino.cc/Code/BitMath
@@ -696,19 +700,19 @@
696700 byte muxout2Selection: 4; // | MUX output2 selection
697701 byte muxout3Selection: 4; // |[PJSC v1.01] MUX output3 selection
698702 byte muxout4Selection: 4; // |[PJSC v1.01] MUX output4 selection
699-//[PJSC v1.01] byte baroDenBins[9]; // | For Barometric extend correnction
700-//[PJSC v1.01] byte baroDenRates[9]; // | For Barometric extend correnction
701703 byte fuelAlgorithm2: 3; //[PJSC v1.01] For Secondary Fuel Algorithm
702704 byte fuelAlgorithm3: 3; // |
703705 byte unused2_118: 2; // |
704706 byte table4Usage: 1; // | For switching usage of 3rd table Ignition/Fuel
705- byte unused2_119: 7; // V
706-//[PJSC v1.01] byte unused2_122[6]; //[PJSC v1.01] For test mode
707- byte inj1SquirtStartEnd: 1; //[PJSC v1.01]
707+ byte unused2_119: 7; // |
708+ byte inj1SquirtStartEnd: 1; // |
708709 byte inj2SquirtStartEnd: 1; // |
709- byte inj3SquirtStartEnd: 1; // |
710- byte inj4SquirtStartEnd: 1; // |
711- byte unused2_121: 4; // V
710+ byte inj3SquirtStartEnd: 1; // V
711+ byte inj4SquirtStartEnd: 1; //[PJSC v1.01]
712+ byte afr_sensor_selection1: 1; //[PJSC v1.02]
713+ byte afr_sensor_selection2: 1; //[PJSC v1.02]
714+ byte afr_sensor_selection3: 1; //[PJSC v1.02]
715+ byte afr_sensor_selection4: 1; //[PJSC v1.02]
712716 byte unused2_122[6]; //[PJSC v1.01]
713717
714718 #if defined(CORE_AVR)