• R/O
  • SSH
  • HTTPS

提交

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

修訂131 (tree)
時間2021-07-31 22:44:43
作者maharu

Log Message

[PJSC v1.10]カタナ用デコーダーバグフィックス01

Change Summary

差異

--- branches/Ver1.10/reference/PJSC.ini (revision 130)
+++ branches/Ver1.10/reference/PJSC.ini (revision 131)
@@ -6,7 +6,8 @@
66 MTversion = 2.25
77
88 queryCommand = "Q"
9- signature = "speeduino 201902"
9+;[PJSC v1.10] signature = "speeduino 201902"
10+ signature = "speeduino 201905" ;[PJSC v1.10]
1011 ;[PJSC v1.01] signature = "PJSC v102" ;[PJSC v1.02]
1112 versionInfo = "S" ;This info is what is displayed to user
1213
@@ -444,7 +445,7 @@
444445 algorithm3 = bits, U08, 119, [3:5], $loadSourceNames ;[PJSC v1.01]
445446 ;[PJSC v1.03] unused2_119 = bits, U08, 119, [6:7] ;[PJSC v1.01]
446447 swASE = bits, U08, 119, [6:6], "Off", "On" ;[PJSC v1.03]
447- unused2_119 = bits, U08, 119, [7:7] ;[PJSC v1.03]
448+ fixCrankAngleCalcMethod = bits, U08, 119, [7:7] "Default", "FIX_INTERVAL_REV" ;[PJSC v1.10]
448449 table4Usage = bits, U08, 120, [0:0], "Fuel", "Spark" ;[PJSC v1.01]
449450 unused2_120 = bits, U08, 120, [1:7] ;[PJSC v1.01]
450451 inj1SquirtStartEnd = bits, U08, 121, [0:0], "End angle", "Start angle" ;[PJSC v1.01]
@@ -501,7 +502,7 @@
501502 TrigEdge = bits, U08, 5,[0:0], "RISING", "FALLING"
502503 TrigSpeed = bits, U08, 5,[1:1], "Crank Speed", "Cam Speed"
503504 IgInv = bits, U08, 5,[2:2], "Going Low", "Going High"
504- TrigPattern= bits, U08, 5,[3:7], "Missing Tooth", "Basic Distributor", "Dual Wheel", "GM 7X", "4G63 / Miata / 3000GT", "GM 24X", "Jeep 2000", "Audi 135", "Honda D17", "Miata 99-05", "Mazda AU", "Non-360 Dual", "Nissan 360", "Subaru 6/7", "Daihatsu +1", "Harley EVO", "36-2-2-2", "NSR", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
505+ TrigPattern= bits, U08, 5,[3:7], "Missing Tooth", "Basic Distributor", "Dual Wheel", "GM 7X", "4G63 / Miata / 3000GT", "GM 24X", "Jeep 2000", "Audi 135", "Honda D17", "Miata 99-05", "Mazda AU", "Non-360 Dual", "Nissan 360", "Subaru 6/7", "Daihatsu +1", "Harley EVO", "36-2-2-2", "NSR", "KATANA", "KATANA2", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
505506 TrigEdgeSec= bits, U08, 6,[0:0], "RISING", "FALLING"
506507 fuelPumpPin= bits , U08, 6,[1:6], "Board Default", "INVALID", "INVALID", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31", "32", "33", "34", "35", "36", "37", "38", "39", "40", "41", "42", "43", "44", "45", "46", "47", "48", "49", "50", "51", "52", "53", "54", "A8", "A9", "A10", "A11", "A12", "A13", "A14", "A15", "INVALID"
507508 useResync = bits, U08, 6,[7:7], "No", "Yes"
@@ -585,7 +586,8 @@
585586 ;[PJSC v1.02] unused4-89 = array, U08, 89, [38], "%", 1.0, 0.0, 0.0, 255, 0 ;[PJSC v1.01]
586587 crankingFilter = bits, U08, 89, [0:0], "Enable", "Disable" ;[PJSC v1.02]
587588 unused4-89 = bits, U08, 89, [1:7] ;[PJSC v1.02]
588- unused4-90 = array, U08, 90, [37], "%", 1.0, 0.0, 0.0, 255, 0 ;[PJSC v1.02]
589+ capturingInterval = scalar, U08, 90, "pulse", 1.0, 0.0, 0.0, 255, 0 ;[PJSC v1.10]
590+ unused4-91 = array, U08, 91, [36], "%", 1.0, 0.0, 0.0, 255, 0 ;[PJSC v1.10]
589591
590592 ;--------------------------------------------------
591593 ;Start AFR page
@@ -1624,7 +1626,12 @@
16241626 subMenu = tacho, "Tacho Output", { muxout1selection == 7 || muxout2selection == 7 } ;[PJSC v1.01] For MUX selection
16251627
16261628 subMenu = std_separator ;[PJSC]
1627- subMenu = inputPortSetting, "Input Port Setting" ;[PJSC]
1629+ subMenu = inputPortSetting, "Input Port Selection" ;[PJSC v1.10]
1630+ subMenu = analogInputPort1, "Exhaust valve position capture setting" ;[PJSC v1.10]
1631+ subMenu = analogInputPort2, "Exhaust Gas Temperature sensor setting" ;[PJSC v1.10]
1632+ subMenu = captSparkSetting, "External Spark Timing capture setting" ;[PJSC v1.10]
1633+ subMenu = captDutyPulseSettingCh1, "Duty Pulse caputure ch1 setting" ;[PJSC v1.10]
1634+ subMenu = captDutyPulseSettingCh2, "Duty Pulse caputure ch2 setting" ;[PJSC v1.10]
16281635
16291636 subMenu = std_separator
16301637
@@ -1970,6 +1977,7 @@
19701977 ; |
19711978 dialog = captSparkSetting, "Capture External Spark Control" ; |
19721979 field = "Spark capture trigger edge", externalTrigEdge ; |
1980+ field = "Spark capture interval", capturingInterval ; |
19731981 field = "Spark capture hysteresis", exTrigHysteresis ; |
19741982 ; |
19751983 dialog = captDutyPulseSetting, "Capture Duty Pulse Control" ; |
@@ -2023,62 +2031,39 @@
20232031 dialog = digitalInputPort3select, "" ; |
20242032 field = "", dutyPulseCaptureEnabled2 ; |
20252033 ; |
2026- dialog = captDutyPulseSettingCh1, "Capture Duty Pulse Control" ; |
2034+ dialog = captDutyPulseSettingCh1, "Capture Duty Pulse Control CH1" ; |
20272035 field = "Duty pulse ON Level ch1", dutyPulseOnLevel ; |
20282036 ; |
2029- dialog = captDutyPulseSettingCh2, "Capture Duty Pulse Control" ; |
2037+ dialog = captDutyPulseSettingCh2, "Capture Duty Pulse Control CH2" ; |
20302038 field = "Duty pulse ON Level ch2", dutyPulseOnLevel2 ; |
20312039 ; |
2032- dialog = analogInputPort1_controls, "", border ; |
2033- panel = analogInputPort1select, West ; |
2034- field = "" ; |
2035- panel = captExValveSetting, East, { analogInputPortSelect == 1 } ; |
2036- ; |
20372040 dialog = analogInputPort1_r, "Reference ADC Gauge" ; |
20382041 gauge = exValveADCGauge ; |
20392042 ; |
20402043 dialog = analogInputPort1,"Analog Input Port1", xAxis ; |
2041- panel = analogInputPort1_controls ; |
2044+ panel = captExValveSetting ; |
20422045 panel = analogInputPort1_r ; |
20432046 ; |
2044- dialog = analogInputPort2_settings, "" ; |[PJSC v1.03]
2045- panel = calibrateBaroSetting, { analogInputPortSelect2 == 1 } ; |
2046- panel = calibrateEGTsetting, { analogInputPortSelect2 == 2 } ; |
2047+ dialog = analogInputPort2_r, "Reference EGT ADC Gauge" ; |
2048+ gauge = EGTADCGauge ; |
20472049 ; |
2048- dialog = analogInputPort2_controls, "", border ; |[PJSC v1.03]
2049- panel = analogInputPort2select, West ; | |
2050- field = "" ; | |
2051- panel = analogInputPort2_settings, East ; | |
2052- ; | |
2053- dialog = analogInputPort2_r, "Reference Baro Gauge" ; | |
2054- gauge = baroGauge ; | |
2055- ; | |
2056- dialog = analogInputPort2,"Analog Input Port2", xAxis ; | |
2057- panel = analogInputPort2_controls ; | V
2058- panel = analogInputPort2_r ; |[PJSC v1.03]
2050+ dialog = analogInputPort2,"Analog Input Port2", xAxis ; |
2051+ panel = calibrateEGTsetting ; |
2052+ panel = analogInputPort2_r ; |
20592053 ; |
2060- dialog = digitalInputPort1, "Digital Input Port1", border ; |
2061- panel = digitalInputPort1select, West ; |
2062- field = "" ; |
2063- panel = captSparkSetting, East, { exTrigModeSelect == 1 } ; |
2064- ; |
2065- dialog = digitalInputPort2, "Digital Input Port2", border ; |
2066- panel = digitalInputPort2select, West ; |
2067- field = "" ; |
2068- panel = captDutyPulseSettingCh1, East, { dutyPulseCaptureEnabled == 1 } ; |
2069- ; |
2070- dialog = digitalInputPort3, "Digital Input Port3", border ; |
2071- panel = digitalInputPort3select, West ; |
2072- field = "" ; |
2073- panel = captDutyPulseSettingCh2, East, { dutyPulseCaptureEnabled2 == 1 } ; |
2074- ; |
2075- dialog = inputPortSetting, "Input Port Setting", yAxis ; |
2076- panel = analogInputPort1 ; |
2077- panel = analogInputPort2 ; V [PJC v1.03]
2078- panel = digitalInputPort1 ;[PJSC v1.01]
2079-;[PJSCv1.01] panel = digitalInputPort2 ;[PJSC v1.01]
2080-;[PJSCv1.01] panel = digitalInputPort3 ;[PJSC v1.01]
2054+;[PJSC v1.10] dialog = inputPortSetting, "Input Port Setting", yAxis ; |
2055+;[PJSC v1.10] panel = analogInputPort1 ; |
2056+;[PJSC v1.10] panel = analogInputPort2 ; V [PJC v1.03]
2057+;[PJSC v1.10] panel = digitalInputPort2 ;[PJSC v1.01]
2058+;[PJSC v1.10] panel = digitalInputPort3 ;[PJSC v1.01]
20812059
2060+ dialog = inputPortSetting, "Input Port Setting" ;[PJSC v1.10]
2061+ field = "Analog Input Port1", analogInputPortSelect ; |
2062+ field = "Analog Input Port2", analogInputPortSelect2 ; |
2063+ field = "Digital Input Port1", exTrigModeSelect ; |
2064+ field = "Digital Input Port2", dutyPulseCaptureEnabled ; V
2065+ field = "Digital Input Port3", dutyPulseCaptureEnabled2 ;[PJSC v1.10]
2066+
20822067 ; Flex fuel stuff
20832068 dialog = flexFuelSettings, "", yAxis
20842069 field = "Flex Fuel Sensor ", flexEnabled
@@ -2468,8 +2453,9 @@
24682453 field = "Secondary trigger edge", TrigEdgeSec, { (TrigPattern == 0 && TrigSpeed == 0) || TrigPattern == 2 || TrigPattern == 9 || TrigPattern == 12 } ;Missing tooth, dual wheel and Miata 9905
24692454 field = "Missing Tooth Secondary type" trigPatternSec, { (TrigPattern == 0&& TrigSpeed == 0) }
24702455 field = "Trigger Filter", TrigFilter, { TrigPattern != 13 }
2471- field = "Trigger Filter during cranking", crankingFilter, { TrigPattern != 13 } ;[PJSC v1.02]
2456+ field = "Trigger Filter during cranking", crankingFilter, { TrigPattern != 13 } ;[PJSC v1.02]
24722457 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
2458+ field = "Crank angle calculation method", fixCrankAngleCalcMethod, { TrigPattern == 18 } ;[PJSC v1.10] For KATANA
24732459 #endif ;[PJSC v1.02] For simple menu
24742460
24752461 #if table4_spark ;[PJSC v1.01] For switching table4
--- branches/Ver1.10/speeduino/decoders.h (revision 130)
+++ branches/Ver1.10/speeduino/decoders.h (revision 131)
@@ -156,7 +156,9 @@
156156 uint16_t getRPM_KATANA(); //[PJSC ver1.02] For supporting KATANA trigger
157157 int getCrankAngle_KATANA(); //[PJSC ver1.02] For supporting KATANA trigger
158158 void triggerSetEndTeeth_KATANA(); //[PJSC ver1.02] For supporting KATANA trigger
159+int STATIC_ANGLE_KATANA = 96; //[PJSC ver1.10]
159160
161+
160162 void triggerSetup_KATANA2(); //[PJSC ver1.02] For supporting KATANA trigger
161163 void triggerPri_KATANA2(); //[PJSC ver1.02] For supporting KATANA trigger
162164 void triggerSec_KATANA2(); //[PJSC ver1.02] For supporting KATANA trigger
@@ -169,6 +171,7 @@
169171 void captureDutyPulseOFFtime(); //[PJSC] For capturing duty pulse
170172 void captureDutyPulseONtime2(); //[PJSC] For capturing duty pulse
171173 void captureDutyPulseOFFtime2(); //[PJSC] For capturing duty pulse
174+int captureExTriggerCount; //[PJSC v1.10]
172175
173176 unsigned long MAX_STALL_TIME = 500000UL; //The maximum time (in uS) that the system will continue to function before the engine is considered stalled/stopped. This is unique to each decoder, depending on the number of teeth etc. 500000 (half a second) is used as the default value, most decoders will be much less.
174177
@@ -180,6 +183,7 @@
180183 volatile unsigned long targetGap;
181184 volatile unsigned long compositeLastToothTime;
182185 volatile unsigned long flipGap; //[PJSC v1.02]
186+volatile unsigned long nextGap; //[PJSC v1.10]
183187
184188 volatile int toothCurrentCount = 0; //The current number of teeth (Onec sync has been achieved, this can never actually be 0
185189 volatile byte toothSystemCount = 0; //Used for decoders such as Audi 135 where not every tooth is used for calculating crank angle. This variable stores the actual number of teeth, not the number being used to calculate crank angle
--- branches/Ver1.10/speeduino/globals.h (revision 130)
+++ branches/Ver1.10/speeduino/globals.h (revision 131)
@@ -395,8 +395,8 @@
395395 int CRANK_ANGLE_MAX = 720;
396396 int CRANK_ANGLE_MAX_IGN = 360;
397397 int CRANK_ANGLE_MAX_INJ = 360; //The number of crank degrees that the system track over. 360 for wasted / timed batch and 720 for sequential
398-
399398
399+
400400 //This needs to be here because using the config page directly can prevent burning the setting
401401 byte resetControl = RESET_CONTROL_DISABLED;
402402
@@ -653,84 +653,75 @@
653653 byte fanUnused : 7;
654654
655655 //[PJSC] byte unused1_70[57];
656- byte pjscFreq; //[PJSC] Offset 71
657- byte exValvePosMin; // |
658- byte exValvePosMax; // |
659- byte exTrigHysteresis; // |
660- byte squirtDeviceType : 1; // |
661- byte multiVEmapEnabled: 1; // |
662- byte mapSeparationEnabled: 1; // |
663- byte mapSwitchingEnabled: 1; // |
664- byte dualFuelEnabled: 1; // |
665- byte secondaryFuelUsage: 1; // |
666-//[PJSC v1.03] byte fuelCorrectionEnabled: 1; // |[PJSC v1.01]
667-//[PJSC v1.03] byte unused2_75: 1; // |
668- byte swBatVCorrection: 1; // |[PJSC v1.03]
669- byte vvtSamplingRate: 1; // |[PJSC v1.03]
670- byte exTrigModeSelect : 2; // | For External Trigger
671- byte externalTrigEdge: 1; // | 0: Rising, 1: Falling
672-//[PJSC v1.02] byte exValveCaptureEnabled: 1; // | For capturing Exhaust valve position
673- byte exValveCalibrationMode: 1; // | For support Exhaust Valve calibrationmode
674-//[PJSC v1.02] byte unused2_76: 3; // |
675- byte analogInputPortSelection: 2; // |[PJSC v1.02] For Analog input port selection
676- byte analogInputPortSelection2: 2; // |[PJSC v1.03]
677- byte dutyPulseCaptureEnabled: 1; // | For capturing duty pulse ch1
678- byte dutyPulseCaptureEnabled2: 1; // | For capturing duty pulse ch2
679- byte dutyPulseOnLevel: 1; // | For capturing duty pulse ch1, 0: high, 1: low
680- byte dutyPulseOnLevel2: 1; // | For capturing duty pulse ch2, 0: high, 1: low
681-//[PJSC v1.03] byte unused2_77: 4; // V
682- byte swIATcorrection: 1; //[PJSCv1.03]
683- byte swTAE: 1; // |
684- byte swWUE: 1; // V
685- byte swCrankingEnrichment: 1; //[PJSCv1.03]
686- byte veMapSelectionInj1Pri: 4; //[PJSCv1.01] For x4 Fuel table support
687- byte veMapSelectionInj1Sec: 4; //[PJSCv1.01] |
688- byte veMapSelectionInj2Pri: 4; //[PJSCv1.01] |
689- byte veMapSelectionInj2Sec: 4; //[PJSCv1.01] |
690- byte veMapSelectionInj3Pri: 4; //[PJSCv1.01] |
691- byte veMapSelectionInj3Sec: 4; //[PJSCv1.01] |
692- byte veMapSelectionInj4Pri: 4; //[PJSCv1.01] |
693- byte veMapSelectionInj4Sec: 4; //[PJSCv1.01] |
694- byte veMapSelectionInj1_2Pri: 4; //[PJSCv1.01] |
695- byte veMapSelectionInj1_2Sec: 4; //[PJSCv1.01] |
696- byte veMapSelectionInj2_2Pri: 4; //[PJSCv1.01] |
697- byte veMapSelectionInj2_2Sec: 4; //[PJSCv1.01] |
698- byte veMapSelectionInj3_2Pri: 4; //[PJSCv1.01] |
699- byte veMapSelectionInj3_2Sec: 4; //[PJSCv1.01] |
700- byte veMapSelectionInj4_2Pri: 4; //[PJSCv1.01] V
701- byte veMapSelectionInj4_2Sec: 4; //[PJSCv1.01] For x4 Fuel table support
702-//[PJSC v1.01] byte dutyFreqTst[4]; //[PJSC v1.01] For test mode
703-//[PJSC v1.01] byte dutyRatioTst[4]; // |
704- byte dutyFreqTst[12]; //[PJSC v1.01] For test mode
705- byte dutyRatioTst[12]; // |
706- byte testop_fp: 1; // |
707- byte testop_inj: 2; // |
708- byte testop_coil: 2; // |
709- byte testsel_inj: 2; // |
710- byte testsel_coil: 1; // |
711- uint16_t testint; // |
712- uint16_t testpw; // |
713- uint16_t testinjcnt; // |
714- byte muxout1Selection: 4; // | MUX output1 selection
715- byte muxout2Selection: 4; // | MUX output2 selection
716- byte muxout3Selection: 4; // |[PJSC v1.01] MUX output3 selection
717- byte muxout4Selection: 4; // |[PJSC v1.01] MUX output4 selection
718- byte fuelAlgorithm2: 3; // |[PJSC v1.01] For Secondary Fuel Algorithm
719- byte fuelAlgorithm3: 3; // |
720-//[PJSC v1.03] byte unused2_118: 2; // |
721- byte swASE: 1; // |[PJSC v1.03]
722- byte unused2_118: 1; // |[PJSC v1.03]
723- byte table4Usage: 1; // | For switching usage of 3rd table Ignition/Fuel
724- byte unused2_119: 7; // |
725- byte inj1SquirtStartEnd: 1; // |
726- byte inj2SquirtStartEnd: 1; // |
727- byte inj3SquirtStartEnd: 1; // V
728- byte inj4SquirtStartEnd: 1; //[PJSC v1.01]
729- byte afr_sensor_selection1: 1; //[PJSC v1.02]
730- byte afr_sensor_selection2: 1; //[PJSC v1.02]
731- byte afr_sensor_selection3: 1; //[PJSC v1.02]
732- byte afr_sensor_selection4: 1; //[PJSC v1.02]
733-//[PJSC v1.03] byte unused2_122[6]; //[PJSC v1.01]
656+ byte pjscFreq; //[PJSC] Offset 71
657+ byte exValvePosMin; // |
658+ byte exValvePosMax; // |
659+ byte exTrigHysteresis; // |
660+ byte squirtDeviceType : 1; // |
661+ byte multiVEmapEnabled: 1; // |
662+ byte mapSeparationEnabled: 1; // |
663+ byte mapSwitchingEnabled: 1; // |
664+ byte dualFuelEnabled: 1; // |
665+ byte secondaryFuelUsage: 1; // |
666+ byte swBatVCorrection: 1; // |[PJSC v1.03]
667+ byte vvtSamplingRate: 1; // |[PJSC v1.03]
668+ byte exTrigModeSelect : 2; // | For External Trigger
669+ byte externalTrigEdge: 1; // | 0: Rising, 1: Falling
670+ byte exValveCalibrationMode: 1; // | For support Exhaust Valve calibrationmode
671+ byte analogInputPortSelection: 2; // |[PJSC v1.02] For Analog input port selection
672+ byte analogInputPortSelection2: 2; // |[PJSC v1.03]
673+ byte dutyPulseCaptureEnabled: 1; // | For capturing duty pulse ch1
674+ byte dutyPulseCaptureEnabled2: 1; // | For capturing duty pulse ch2
675+ byte dutyPulseOnLevel: 1; // | For capturing duty pulse ch1, 0: high, 1: low
676+ byte dutyPulseOnLevel2: 1; // | For capturing duty pulse ch2, 0: high, 1: low
677+ byte swIATcorrection: 1; //[PJSCv1.03]
678+ byte swTAE: 1; // |
679+ byte swWUE: 1; // V
680+ byte swCrankingEnrichment: 1; //[PJSCv1.03]
681+ byte veMapSelectionInj1Pri: 4; //[PJSCv1.01] For x4 Fuel table support
682+ byte veMapSelectionInj1Sec: 4; //[PJSCv1.01] |
683+ byte veMapSelectionInj2Pri: 4; //[PJSCv1.01] |
684+ byte veMapSelectionInj2Sec: 4; //[PJSCv1.01] |
685+ byte veMapSelectionInj3Pri: 4; //[PJSCv1.01] |
686+ byte veMapSelectionInj3Sec: 4; //[PJSCv1.01] |
687+ byte veMapSelectionInj4Pri: 4; //[PJSCv1.01] |
688+ byte veMapSelectionInj4Sec: 4; //[PJSCv1.01] |
689+ byte veMapSelectionInj1_2Pri: 4; //[PJSCv1.01] |
690+ byte veMapSelectionInj1_2Sec: 4; //[PJSCv1.01] |
691+ byte veMapSelectionInj2_2Pri: 4; //[PJSCv1.01] |
692+ byte veMapSelectionInj2_2Sec: 4; //[PJSCv1.01] |
693+ byte veMapSelectionInj3_2Pri: 4; //[PJSCv1.01] |
694+ byte veMapSelectionInj3_2Sec: 4; //[PJSCv1.01] |
695+ byte veMapSelectionInj4_2Pri: 4; //[PJSCv1.01] V
696+ byte veMapSelectionInj4_2Sec: 4; //[PJSCv1.01] For x4 Fuel table support
697+ byte dutyFreqTst[12]; //[PJSC v1.01] For test mode
698+ byte dutyRatioTst[12]; // |
699+ byte testop_fp: 1; // |
700+ byte testop_inj: 2; // |
701+ byte testop_coil: 2; // |
702+ byte testsel_inj: 2; // |
703+ byte testsel_coil: 1; // |
704+ uint16_t testint; // |
705+ uint16_t testpw; // |
706+ uint16_t testinjcnt; // |
707+ byte muxout1Selection: 4; // | MUX output1 selection
708+ byte muxout2Selection: 4; // | MUX output2 selection
709+ byte muxout3Selection: 4; // |[PJSC v1.01] MUX output3 selection
710+ byte muxout4Selection: 4; // |[PJSC v1.01] MUX output4 selection
711+ byte fuelAlgorithm2: 3; // |[PJSC v1.01] For Secondary Fuel Algorithm
712+ byte fuelAlgorithm3: 3; // |
713+ byte swASE: 1; // |[PJSC v1.03]
714+ byte fixCrankAngleCalcMethod: 1; // |[PJSC v1.10]
715+ byte table4Usage: 1; // | For switching usage of 3rd table Ignition/Fuel
716+ byte unused2_119: 7; // |
717+ byte inj1SquirtStartEnd: 1; // |
718+ byte inj2SquirtStartEnd: 1; // |
719+ byte inj3SquirtStartEnd: 1; // V
720+ byte inj4SquirtStartEnd: 1; //[PJSC v1.01]
721+ byte afr_sensor_selection1: 1; //[PJSC v1.02]
722+ byte afr_sensor_selection2: 1; //[PJSC v1.02]
723+ byte afr_sensor_selection3: 1; //[PJSC v1.02]
724+ byte afr_sensor_selection4: 1; //[PJSC v1.02]
734725 byte squirtDeviceTypeCh1 : 1; //[PJSC v1.03]
735726 byte squirtDeviceTypeCh2 : 1; // |
736727 byte squirtDeviceTypeCh3 : 1; // |
@@ -822,7 +813,8 @@
822813 //[PJSC v1.02] byte unused2_82[39];
823814 byte crankingFilter : 1; //[PJSC v1.02]
824815 byte unused2_82 : 7; //[PJSC v1.02]
825- byte unused2_83[38]; //[PJSC v1.02]
816+ byte caputuringInterval; //[PJSC v1.10]
817+ byte unused2_84[37]; //[PJSC v1.10]
826818
827819 #if defined(CORE_AVR)
828820 };