PJSC(Pump Jet Solenoid Controller)はArduinoを使用したバイク用燃料噴射コントローラです。このプロジェクトは、オープンソースECUプロジェクト『Speeduino』をベースにしています。
[PJSC v1.03]Barometricセンサー入力ポートを、排気温度センサー入力との選択式に変更
| @@ -347,7 +347,7 @@ | ||
| 347 | 347 | ;[PJSC v1.02] unused2_76 = bits, U08, 76, [5:7] ;[PJSC v1.01] |
| 348 | 348 | exValveCalibrationMode = bits, U08, 76, [3:3], "Off", "On" ;[PJSC v1.02] |
| 349 | 349 | analogInputPortSelect = bits, U08, 76, [4:5], "Disable", "Exhaust Valve Position capture", "Secondary AFR/O2", "INVALID" ;[PJSC v1.02] |
| 350 | - unused2_76 = bits, U08, 76, [6:7] ;[PJSC v1.02] | |
| 350 | + analogInputPortSelect2 = bits, U08, 76, [6:7], "Disable", "Barometric sensor", "Exhaust Gas Temperature", "INVALID" ;[PJSC v1.03] | |
| 351 | 351 | dutyPulseCaptureEnabled = bits, U08, 77, [0:0], "Disable", "PWM input" ;[PJSC v1.01] |
| 352 | 352 | dutyPulseCaptureEnabled2 = bits, U08, 77, [1:1], "Disable", "PWM input" ; | |
| 353 | 353 | dutyPulseOnLevel = bits, U08, 77, [2:2], "High", "Low" ; | |
| @@ -453,7 +453,6 @@ | ||
| 453 | 453 | afr_sensor_selection2 = bits, U08, 121, [5:5], "Primary", "Secondary" ;[PJSC v1.02] |
| 454 | 454 | afr_sensor_selection3 = bits, U08, 121, [6:6], "Primary", "Secondary" ;[PJSC v1.02] |
| 455 | 455 | afr_sensor_selection4 = bits, U08, 121, [7:7], "Primary", "Secondary" ;[PJSC v1.02] |
| 456 | -;[PJSC v1.03] unused2_122 = array, U08, 122, [6], "%", 1.0, 0.0, 0.0, 255, 0 ;[PJSC v1.01] | |
| 457 | 456 | squirtDeviceTypeCh1 = bits, U08, 122, [0:0], "Injector", "Pump Jet" ;[PJSC v1.03] |
| 458 | 457 | squirtDeviceTypeCh2 = bits, U08, 122, [1:1], "Injector", "Pump Jet" ;[PJSC v1.03] |
| 459 | 458 | squirtDeviceTypeCh3 = bits, U08, 122, [2:2], "Injector", "Pump Jet" ;[PJSC v1.03] |
| @@ -462,7 +461,10 @@ | ||
| 462 | 461 | solenoidValveDirectionCh2= bits, U08, 122, [5:5], "Normal, 0%=off", "Inverted, 100%=off" ;[PJSC v1.03] |
| 463 | 462 | solenoidValveDirectionCh3= bits, U08, 122, [6:6], "Normal, 0%=off", "Inverted, 100%=off" ;[PJSC v1.03] |
| 464 | 463 | solenoidValveDirectionCh4= bits, U08, 122, [7:7], "Normal, 0%=off", "Inverted, 100%=off" ;[PJSC v1.03] |
| 465 | - unused2_123 = array, U08, 123, [5], "%", 1.0, 0.0, 0.0, 255, 0 ;[PJSC v1.03] | |
| 464 | + EGTvoltage1 = scalar, U08, 123, "V", 0.05, 0, 0, 25.5, 2 ;[PJSC v1.03] | |
| 465 | + EGTvoltage2 = scalar, U08, 124, "V", 0.05, 0, 0, 25.5, 2 ;[PJSC v1.03] | |
| 466 | + EGTtemperature1 = scalar, S08, 125, "C", 1, 0, -255, 255, 0 ;[PJSC v1.03] | |
| 467 | + EGTtemperature2 = scalar, U16, 126, "C", 1, 0, 0, 65535, 0 ;[PJSC v1.03] | |
| 466 | 468 | |
| 467 | 469 | |
| 468 | 470 | ;Page 2 is the fuel map and axis bins only |
| @@ -1246,6 +1248,7 @@ | ||
| 1246 | 1248 | requiresPowerCycle = exTrigModeSelect ;[PJSC] |
| 1247 | 1249 | ;[PJSC v1.02] requiresPowerCycle = exValveCaptureEnabled ; | |
| 1248 | 1250 | requiresPowerCycle = analogInputPortSelect ;[PJSC v1.02] |
| 1251 | + requiresPowerCycle = analogInputPortSelect2 ;[PJSC v1.03] | |
| 1249 | 1252 | requiresPowerCycle = dutyPulseCaptureEnabled ;[PJSC] |
| 1250 | 1253 | requiresPowerCycle = dutyPulseCaptureEnabled2 ;[PJSC] |
| 1251 | 1254 | requiresPowerCycle = muxout1selection ;[PJSC v1.01] |
| @@ -1365,6 +1368,7 @@ | ||
| 1365 | 1368 | defaultValue = exTrigModeSelect, 0 ;[PJSC] |
| 1366 | 1369 | ;[PJSC v1.02] defaultValue = exValveCaptureEnabled, 1 ; | |
| 1367 | 1370 | defaultValue = analogInputPortSelect, 1 ;[PJSC v1.02] |
| 1371 | + defaultValue = analogInputPortSelect2, 1 ;[PJSC v1.03] | |
| 1368 | 1372 | defaultValue = dutyPulseCaptureEnabled, 0 ;[PJSC] |
| 1369 | 1373 | defaultValue = dutyPulseCaptureEnabled2, 0 ;[PJSC] |
| 1370 | 1374 | defaultValue = exValveCalibrationMode, 0 ;[PJSC v1.01] |
| @@ -1959,10 +1963,44 @@ | ||
| 1959 | 1963 | field = "Duty pulse ON Level ch1", dutyPulseOnLevel ; V |
| 1960 | 1964 | field = "Duty pulse ON Level ch2", dutyPulseOnLevel2 ;[PJSC] |
| 1961 | 1965 | |
| 1966 | + dialog = calibrateEGTvoltage, "" ;[PJSC v1.03] | |
| 1967 | + field = "Point 1: Volts", EGTvoltage1 ; | |
| 1968 | + field = "Point 2: Volts", EGTvoltage2 ; | |
| 1969 | + ; | |
| 1970 | + dialog = calibrateEGTtemperature, "" ; | |
| 1971 | + field = "EGT", EGTtemperature1 ; | |
| 1972 | + field = "EGT", EGTtemperature2 ; | |
| 1973 | + ; | |
| 1974 | + dialog = calibrateEGTsetting, "Calibrate EGT Table", xAxis ; | |
| 1975 | + panel = calibrateEGTvoltage, West ; | |
| 1976 | + panel = calibrateEGTtemperature, East ; | |
| 1977 | + ; | |
| 1978 | + dialog = calibrateBaroSetting, "Calibrate Baro Sensor" ; | |
| 1979 | + field = "Use external Baro sensor", useExtBaro ; | |
| 1980 | + field = "Analog pin to use for ext. Baro sensor", baroPin, { useExtBaro } ; | |
| 1981 | + ; | |
| 1982 | + settingSelector = "Common Pressure Sensors", { useExtBaro } ; | |
| 1983 | + settingOption = "MPX4115", baroMin=10, baroMax=118 ; https://www.nxp.com/docs/en/data-sheet/MPX4115.pdf | |
| 1984 | + settingOption = "MPX4250", baroMin=10, baroMax=260 ; https://www.nxp.com/docs/en/data-sheet/MPX4250A.pdf Vout = VCC x (P x 0.004 – 0.04) | |
| 1985 | + settingOption = "GM 1-BAR", baroMin=10, baroMax=105 ; https://speeduino.com/wiki/index.php/File:GM_Table.gif | |
| 1986 | + settingOption = "GM 2-BAR", baroMin=9, baroMax=208 ; https://speeduino.com/wiki/index.php/File:GM_Table.gif | |
| 1987 | + settingOption = "GM 3-BAR", baroMin=1, baroMax=315 ; VOUT = VS*(.00318*P-.00353) | |
| 1988 | + settingOption = "MPXH6300", baroMin=1, baroMax=315 ; https://www.nxp.com/docs/en/data-sheet/MPXH6300A.pdf VOUT = VS*(.00318*P-.00353) | |
| 1989 | + settingOption = "MPX5700", baroMin=-31, baroMax=746 ; https://www.nxp.com/docs/en/data-sheet/MPX5700.pdf Vout = VS*(0.0012858*P+0.04) | |
| 1990 | + settingOption = "MPX6400", baroMin=3, baroMax=416 ; https://www.nxp.com/docs/en/data-sheet/MPXH6400A.pdf VOUT = VS x (0.002421xP–0.00842) | |
| 1991 | + settingOption = "Denso 079800", baroMin=0, baroMax=173 ; http://speeduino.com/forum/viewtopic.php?f=18&t=510&p=7023#p7021 | |
| 1992 | + settingOption = "VW/Audi/Porsche 250kPa", baroMin=26, baroMax=250 ; http://speeduino.com/forum/viewtopic.php?p=17502#p17502 | |
| 1993 | + settingOption = "Bosch 3 Bar TMAP", mapMin=-6, mapMax=323 | |
| 1994 | + ; | |
| 1995 | + field = "kPa At 0.0 Volts", baroMin, { useExtBaro } ; | |
| 1996 | + field = "kPa At 5.0 Volts", baroMax, { useExtBaro } ;[PJSC v1.03] | |
| 1997 | + | |
| 1962 | 1998 | dialog = analogInputPort1select, "" ;[PJSC v1.01] |
| 1963 | -;[PJSC v1.02] field = "", exValveCaptureEnabled ; | | |
| 1964 | 1999 | field = "", analogInputPortSelect ;[PJSC v1.02] |
| 1965 | 2000 | ; | |
| 2001 | + dialog = analogInputPort2select, "" ; |[PJSC v1.03] | |
| 2002 | + field = "", analogInputPortSelect2 ; |[PJSC v1.03] | |
| 2003 | + ; | | |
| 1966 | 2004 | dialog = digitalInputPort1select, "" ; | |
| 1967 | 2005 | field = "", exTrigModeSelect ; | |
| 1968 | 2006 | ; | |
| @@ -1978,13 +2016,12 @@ | ||
| 1978 | 2016 | dialog = captDutyPulseSettingCh2, "Capture Duty Pulse Control" ; | |
| 1979 | 2017 | field = "Duty pulse ON Level ch2", dutyPulseOnLevel2 ; | |
| 1980 | 2018 | ; | |
| 1981 | - dialog = analogInputPort1_controls, "Analog Input Port1", border ; | | |
| 2019 | + dialog = analogInputPort1_controls, "", border ; | | |
| 1982 | 2020 | panel = analogInputPort1select, West ; | |
| 1983 | 2021 | field = "" ; | |
| 1984 | -;[PJSC v1.02] panel = captExValveSetting, East, { exValveCaptureEnabled == 1 } ; | | |
| 1985 | - panel = captExValveSetting, East, { analogInputPortSelect == 1 } ;[PJSC v1.02] | |
| 2022 | + panel = captExValveSetting, East, { analogInputPortSelect == 1 } ; | | |
| 1986 | 2023 | ; | |
| 1987 | - dialog = analogInputPort1_r, "Reference ADC Gauges" ; | | |
| 2024 | + dialog = analogInputPort1_r, "Reference ADC Gauge" ; | | |
| 1988 | 2025 | gauge = exValveADCGauge ; | |
| 1989 | 2026 | ; | |
| 1990 | 2027 | dialog = analogInputPort1,"Analog Input Port1", xAxis ; | |
| @@ -1991,6 +2028,23 @@ | ||
| 1991 | 2028 | panel = analogInputPort1_controls ; | |
| 1992 | 2029 | panel = analogInputPort1_r ; | |
| 1993 | 2030 | ; | |
| 2031 | + dialog = analogInputPort2_settings, "" ; |[PJSC v1.03] | |
| 2032 | + panel = calibrateBaroSetting, { analogInputPortSelect2 == 1 } ; | | |
| 2033 | + panel = calibrateEGTsetting, { analogInputPortSelect2 == 2 } ; | | |
| 2034 | + ; | | |
| 2035 | + dialog = analogInputPort2_controls, "", border ; |[PJSC v1.03] | |
| 2036 | + panel = analogInputPort2select, West ; | | | |
| 2037 | + field = "" ; | | | |
| 2038 | + panel = analogInputPort2_settings, East ; | | | |
| 2039 | + ; | | | |
| 2040 | + dialog = analogInputPort2_r, "Reference Baro Gauge" ; | | | |
| 2041 | + gauge = baroGauge ; | | | |
| 2042 | + ; | | | |
| 2043 | + dialog = analogInputPort2,"Analog Input Port2", xAxis ; | | | |
| 2044 | + panel = analogInputPort2_controls ; | V | |
| 2045 | + panel = analogInputPort2_r ; |[PJSC v1.03] | |
| 2046 | + | |
| 2047 | + ; | | |
| 1994 | 2048 | dialog = digitalInputPort1, "Digital Input Port1", border ; | |
| 1995 | 2049 | panel = digitalInputPort1select, West ; | |
| 1996 | 2050 | field = "" ; | |
| @@ -2007,7 +2061,8 @@ | ||
| 2007 | 2061 | panel = captDutyPulseSettingCh2, East, { dutyPulseCaptureEnabled2 == 1 } ; | |
| 2008 | 2062 | ; | |
| 2009 | 2063 | dialog = inputPortSetting, "Input Port Setting", yAxis ; | |
| 2010 | - panel = analogInputPort1 ; V | |
| 2064 | + panel = analogInputPort1 ; | | |
| 2065 | + panel = analogInputPort2 ; V [PJC v1.03] | |
| 2011 | 2066 | panel = digitalInputPort1 ;[PJSC v1.01] |
| 2012 | 2067 | ;[PJSCv1.01] panel = digitalInputPort2 ;[PJSC v1.01] |
| 2013 | 2068 | ;[PJSCv1.01] panel = digitalInputPort3 ;[PJSC v1.01] |
| @@ -3867,6 +3922,8 @@ | ||
| 3867 | 3922 | afrAnalyzeGauge3 = afr_analyze3, "Air:Fuel Ratio for VE3", "", 7, 25, 12, 13, 15, 16, 2, 2 ;[PJSC v1.02] For AFR sensor selection |
| 3868 | 3923 | afrAnalyzeGauge4 = afr_analyze4, "Air:Fuel Ratio for VE4", "", 7, 25, 12, 13, 15, 16, 2, 2 ;[PJSC v1.02] For AFR sensor selection |
| 3869 | 3924 | syncLossGauge = syncLossCounter, "Sync Loss Count", "", 0, 120, -1, -1, 999, 999, 0, 0 ;[PJSC v1.02] |
| 3925 | + EGTADCGauge = EGTADC, "Exhaust Gas Temperature ADC", "", 0, 1024, -1, -1, 1024, 1024, 0, 0 ;[PJSC v1.03] | |
| 3926 | + EGTGauge = EGT, "Exhaust Gas Temperature", "TEMP", -100, 1000, -1, -1, 600, 800, 0, 0 ;[PJSC v1.03] | |
| 3870 | 3927 | |
| 3871 | 3928 | #if CELSIUS |
| 3872 | 3929 | cltGauge = coolant, "Coolant Temp", "TEMP", -10, 120, 0, 10, 95, 110, 0, 0 |
| @@ -3896,9 +3953,9 @@ | ||
| 3896 | 3953 | AuxInGauge15 = auxin_gauge15, { stringValue(AUXin15Alias) }, "", 0, 1024, -1, -1, 1025, 1025, 0, 0 |
| 3897 | 3954 | |
| 3898 | 3955 | gaugeCategory = "System Data" |
| 3899 | - clockGauge = secl, "Clock", "Seconds", 0, 255, 10, 10, 245, 245, 0, 0 | |
| 3900 | - loopGauge = loopsPerSecond,"Main loop speed", "Loops/S" , 0, 70000, -1, 500,1800, 4000, 0, 0 | |
| 3901 | - memoryGauge = freeRAM, "Free memory", "bytes" , 0, 8000, -1, 1000,8000, 1000, 0, 0 | |
| 3956 | + clockGauge = secl, "Clock", "Seconds", 0, 255, 10, 10, 245, 245, 0, 0 | |
| 3957 | + loopGauge = loopsPerSecond,"Main loop speed", "Loops/S" , 0, 70000, -1, 500, 1800, 4000, 0, 0 | |
| 3958 | + memoryGauge = freeRAM, "Free memory", "bytes" , 0, 8000, -1, 1000, 8000, 1000, 0, 0 | |
| 3902 | 3959 | reqFuelGauge = req_fuel, "Req. Fuel", "ms", 0, 35.0, 1.0, 1.2, 20, 25, 2, 2 |
| 3903 | 3960 | injOpenGauge = inj_open, "Injector Open Time", "ms", 0, 35.0, 1.0, 1.2, 20, 25, 1, 1 |
| 3904 | 3961 | mapMultiplyGauge = map_multiply_amt, "MAP Multiply", "%", 0, 200, 130, 140, 140, 150, 0, 0 |
| @@ -3965,7 +4022,8 @@ | ||
| 3965 | 4022 | |
| 3966 | 4023 | ochGetCommand = "r\$tsCanId\x30%2o%2c" |
| 3967 | 4024 | ;[PJSC] ochBlockSize = 90 |
| 3968 | - ochBlockSize = 116 ;[PJSC v1.02] Extend block size | |
| 4025 | +;[PJSC v1.03] ochBlockSize = 116 ;[PJSC v1.02] Extend block size | |
| 4026 | + ochBlockSize = 118 ;[PJSC v1.03] Extend block size | |
| 3969 | 4027 | |
| 3970 | 4028 | secl = scalar, U08, 0, "sec", 1.000, 0.000 |
| 3971 | 4029 | status1 = scalar, U08, 1, "bits", 1.000, 0.000 |
| @@ -4064,7 +4122,7 @@ | ||
| 4064 | 4122 | nFuelChannels = bits, U08, 84, [4:7] |
| 4065 | 4123 | fuelLoad = scalar, S16, 85, { bitStringValue( algorithmUnits , algorithm ) }, 1.000, 0.000 |
| 4066 | 4124 | ignLoad = scalar, S16, 87, { bitStringValue( algorithmUnits , ignAlgorithm ) }, 1.000, 0.000 |
| 4067 | - syncLossCounter = scalar, U08, 89, "", 1.000, 0.000 | |
| 4125 | + syncLossCounter = scalar, U08, 89, "", 1.000, 0.000 | |
| 4068 | 4126 | veCurr2 = scalar, U08, 90, "%", 1.000, 0.000 ;[PJSC]Multi VE Map support |
| 4069 | 4127 | veCurr3 = scalar, U08, 91, "%", 1.000, 0.000 ;[PJSC]Multi VE Map support |
| 4070 | 4128 | veCurr4 = scalar, U08, 92, "%", 1.000, 0.000 ;[PJSC]Multi VE Map support |
| @@ -4083,8 +4141,9 @@ | ||
| 4083 | 4141 | afr_analyze2 = scalar, U08, 113, "O2 for VE Table 2", 0.100, 0.000 ;[PJSC v1.02]For AFR sensor selection |
| 4084 | 4142 | afr_analyze3 = scalar, U08, 114, "O2 for VE Table 3", 0.100, 0.000 ;[PJSC v1.02]For AFR sensor selection |
| 4085 | 4143 | afr_analyze4 = scalar, U08, 115, "O2 for VE Table 4", 0.100, 0.000 ;[PJSC v1.02]For AFR sensor selection |
| 4144 | + EGTADC = scalar, U16, 116, "ADC", 1.000, 0.000 ;[PJSC v1.03]For Exhaust Gas Temperature | |
| 4145 | + | |
| 4086 | 4146 | |
| 4087 | - | |
| 4088 | 4147 | #if CELSIUS |
| 4089 | 4148 | coolant = { coolantRaw - 40 } ; Temperature readings are offset by 40 to allow for negatives |
| 4090 | 4149 | iat = { iatRaw - 40 } ; Temperature readings are offset by 40 to allow for negatives |
| @@ -4125,11 +4184,13 @@ | ||
| 4125 | 4184 | ;fuelLoadMax = { arrayValue(algorithmLimits , algorithm) } ;Doesn't work, no idea why. |
| 4126 | 4185 | ;[PJSC vv1.01] fuelLoadMax = { (algorithm == 0 || algorithm == 2) ? 511 : 100 } |
| 4127 | 4186 | ;[PJSC vv1.01] ignLoadMax = { (ignAlgorithm == 0 || ignAlgorithm == 2) ? 511 : 100 } |
| 4128 | - fuelLoadMax = { (algorithm == 0 || algorithm == 2) ? 255 : 100 } | |
| 4129 | - ignLoadMax = { (ignAlgorithm == 0 || ignAlgorithm == 2) ? 255 : 100 } | |
| 4187 | + fuelLoadMax = { (algorithm == 0 || algorithm == 2) ? 255 : 100 } | |
| 4188 | + ignLoadMax = { (ignAlgorithm == 0 || ignAlgorithm == 2) ? 255 : 100 } | |
| 4130 | 4189 | |
| 4131 | 4190 | boostTableLimit = { boostType == 0 ? 100 : 511 } ;The maximum value allowed in the boost table. 100 is used for duty cycle, 511 for kpa |
| 4132 | 4191 | |
| 4192 | + EGT = { EGTtemperature1 + ((EGTtemperature2 - EGTtemperature1) * ((5 * EGTADC / 511) - EGTvoltage1) / (EGTvoltage2 - EGTvoltage1)) } ; | |
| 4193 | + | |
| 4133 | 4194 | ;------------------------------------------------------------------------------- |
| 4134 | 4195 | |
| 4135 | 4196 | [Datalog] |
| @@ -4170,18 +4231,18 @@ | ||
| 4170 | 4231 | entry = gammaEnrich, "Gammae", int, "%d" |
| 4171 | 4232 | entry = accelEnrich, "Accel Enrich", int, "%d" |
| 4172 | 4233 | entry = veCurr, "VE", int, "%d" |
| 4173 | - entry = veCurr2, "VE2", int, "%d", { multiVEmapEnabled } ;[PJSC] | |
| 4174 | - entry = veCurr3, "VE3", int, "%d", { multiVEmapEnabled } ;[PJSC v1.01] | |
| 4175 | - entry = veCurr4, "VE4", int, "%d", { multiVEmapEnabled } ;[PJSC v1.01] | |
| 4234 | + entry = veCurr2, "VE2", int, "%d", { multiVEmapEnabled } ;[PJSC] | |
| 4235 | + entry = veCurr3, "VE3", int, "%d", { multiVEmapEnabled } ;[PJSC v1.01] | |
| 4236 | + entry = veCurr4, "VE4", int, "%d", { multiVEmapEnabled } ;[PJSC v1.01] | |
| 4176 | 4237 | entry = pulseWidth, "PW", float, "%.1f" |
| 4177 | - entry = pulseWidth2, "PW2", float, "%.1f" ;[PJSC v1.03] | |
| 4178 | - entry = pulseWidth3, "PW3", float, "%.1f" ;[PJSC v1.03] | |
| 4179 | - entry = pulseWidth4, "PW4", float, "%.1f" ;[PJSC v1.03] | |
| 4238 | + entry = pulseWidth2, "PW2", float, "%.1f" ;[PJSC v1.03] | |
| 4239 | + entry = pulseWidth3, "PW3", float, "%.1f" ;[PJSC v1.03] | |
| 4240 | + entry = pulseWidth4, "PW4", float, "%.1f" ;[PJSC v1.03] | |
| 4180 | 4241 | entry = afrTarget, "AFR Target", float, "%.3f" |
| 4181 | 4242 | entry = dutyCycle, "DutyCycle1", float, "%.1f" |
| 4182 | - entry = dutyCycle2 "DutyCycle2", float, "%.1f" ;[PJSC v1.03] | |
| 4183 | - entry = dutyCycle3 "DutyCycle3", float, "%.1f" ;[PJSC v1.03] | |
| 4184 | - entry = dutyCycle4 "DutyCycle4", float, "%.1f" ;[PJSC v1.03] | |
| 4243 | + entry = dutyCycle2 "DutyCycle2", float, "%.1f" ;[PJSC v1.03] | |
| 4244 | + entry = dutyCycle3 "DutyCycle3", float, "%.1f" ;[PJSC v1.03] | |
| 4245 | + entry = dutyCycle4 "DutyCycle4", float, "%.1f" ;[PJSC v1.03] | |
| 4185 | 4246 | entry = TPSdot, "TPS DOT", int, "%d" |
| 4186 | 4247 | entry = advance, "Advance", int, "%d" |
| 4187 | 4248 | entry = dwell, "Dwell", float, "%.1f" |
| @@ -4197,15 +4258,16 @@ | ||
| 4197 | 4258 | entry = launchHard , "Launch Hard", int, "%d" |
| 4198 | 4259 | entry = hardLimitOn , "Hard Limiter", int, "%d" |
| 4199 | 4260 | entry = idleLoad, "IAC value", int, "%d" |
| 4200 | - entry = baro, "Baro Pressure",int, "%d" | |
| 4201 | - entry = nitrousOn, "Nitrous On", int, "%d", { n2o_enable > 0 } | |
| 4261 | + entry = baro, "Baro Pressure",int, "%d", { analogInputPortSelect2 == 1} ;[PJSC v1.03] | |
| 4262 | + entry = nitrousOn, "Nitrous On", int, "%d", { n2o_enable > 0 } | |
| 4202 | 4263 | entry = syncLossCounter, "Sync Loss #", int, "%d" |
| 4203 | - entry = valvePosition, "ExValve Pos", int, "%d", { analogInputPortSelect == 1};[PJSC v1.02] | |
| 4204 | - entry = sparkedAngle, "Spark Angle", int, "%d", { exTrigModeSelect == 1 } ;[PJSC] | |
| 4205 | - entry = dutyFreq, "Duty Frequency", int, "%d", { dutyPulseCaptureEnabled } ;[PJSC] | |
| 4206 | - entry = dutyRatio, "Duty Ratio", int, "%d", { dutyPulseCaptureEnabled } ;[PJSC] | |
| 4207 | - entry = dutyFreq2, "Duty Frequency2", int, "%d", { dutyPulseCaptureEnabled2 } ;[PJSC] | |
| 4208 | - entry = dutyRatio2, "Duty Ratio2", int, "%d", { dutyPulseCaptureEnabled2 } ;[PJSC] | |
| 4264 | + entry = valvePosition, "ExValve Pos", int, "%d", { analogInputPortSelect == 1} ;[PJSC v1.02] | |
| 4265 | + entry = sparkedAngle, "Spark Angle", int, "%d", { exTrigModeSelect == 1 } ;[PJSC] | |
| 4266 | + entry = dutyFreq, "Duty Frequency", int, "%d", { dutyPulseCaptureEnabled } ;[PJSC] | |
| 4267 | + entry = dutyRatio, "Duty Ratio", int, "%d", { dutyPulseCaptureEnabled } ;[PJSC] | |
| 4268 | + entry = dutyFreq2, "Duty Frequency2", int, "%d", { dutyPulseCaptureEnabled2 } ;[PJSC] | |
| 4269 | + entry = dutyRatio2, "Duty Ratio2", int, "%d", { dutyPulseCaptureEnabled2 } ;[PJSC] | |
| 4270 | + entry = EGT, "EGT", int, "%d", ;[PJSC v1.03] | |
| 4209 | 4271 | |
| 4210 | 4272 | entry = auxin_gauge0, "AuxIn CH0", int, "%d" |
| 4211 | 4273 | entry = auxin_gauge1, "AuxIn CH1", int, "%d" |
| @@ -19,7 +19,8 @@ | ||
| 19 | 19 | #define ve3MapPage 11 //[PJSC v1.01] Config Page 12 |
| 20 | 20 | |
| 21 | 21 | //[PJSC]#define SERIAL_PACKET_SIZE 90 //Must match ochBlockSize in ini file |
| 22 | -#define SERIAL_PACKET_SIZE 116 //[PJSC v1.02] Extend serial packet block size | |
| 22 | +//[PJSC v1.03]#define SERIAL_PACKET_SIZE 116 //[PJSC v1.02] Extend serial packet block size | |
| 23 | +#define SERIAL_PACKET_SIZE 118 //[PJSC v1.03] Extend serial packet block size | |
| 23 | 24 | |
| 24 | 25 | byte currentPage = 1;//Not the same as the speeduino config page numbers |
| 25 | 26 | bool isMap = true; |
| @@ -280,6 +280,8 @@ | ||
| 280 | 280 | #define ANALOG_INPUT_OFF 0 //[PJSC v1.02] Analog input selection |
| 281 | 281 | #define ANALOG_EXVALVE 1 //[PJSC v1.02] Analog input selection |
| 282 | 282 | #define ANALOG_O2_SEC 2 //[PJSC v1.02] Analog input selection |
| 283 | +#define ANALOG_BARO 1 //[PJSC v1.03] Analog input selection2 | |
| 284 | +#define ANALOG_EGT 2 //[PJSC v1.03] Analog input selection2 | |
| 283 | 285 | |
| 284 | 286 | struct table3D fuelTable; //16x16 fuel map |
| 285 | 287 | struct table3D fuelTable2; //16x16 fuel map2 [PJSC] |
| @@ -531,6 +533,7 @@ | ||
| 531 | 533 | byte afr_analyze2; // | |
| 532 | 534 | byte afr_analyze3; // V |
| 533 | 535 | byte afr_analyze4; //[PJSC v1.02] For AFR sensor selection |
| 536 | + int EGTADC; //[PJSC v1.03] For Exhaust Gas Temperature input | |
| 534 | 537 | |
| 535 | 538 | //Helpful bitwise operations: |
| 536 | 539 | //Useful reference: http://playground.arduino.cc/Code/BitMath |
| @@ -663,7 +666,7 @@ | ||
| 663 | 666 | byte exValveCalibrationMode: 1; // | For support Exhaust Valve calibrationmode |
| 664 | 667 | //[PJSC v1.02] byte unused2_76: 3; // | |
| 665 | 668 | byte analogInputPortSelection: 2; // |[PJSC v1.02] For Analog input port selection |
| 666 | - byte unused2_76: 2; // |[PJSC v1.02] | |
| 669 | + byte analogInputPortSelection2: 2; // |[PJSC v1.03] | |
| 667 | 670 | byte dutyPulseCaptureEnabled: 1; // | For capturing duty pulse ch1 |
| 668 | 671 | byte dutyPulseCaptureEnabled2: 1; // | For capturing duty pulse ch2 |
| 669 | 672 | byte dutyPulseOnLevel: 1; // | For capturing duty pulse ch1, 0: high, 1: low |
| @@ -726,8 +729,11 @@ | ||
| 726 | 729 | byte solenoidValveDirectionCh1 : 1; // | |
| 727 | 730 | byte solenoidValveDirectionCh2 : 1; // | |
| 728 | 731 | byte solenoidValveDirectionCh3 : 1; // | |
| 729 | - byte solenoidValveDirectionCh4 : 1; // V | |
| 730 | - byte unused2_123[5]; //[PJSC v1.03] | |
| 732 | + byte solenoidValveDirectionCh4 : 1; // | | |
| 733 | + byte EGTvoltage1; // | | |
| 734 | + byte EGTvoltage2; // | | |
| 735 | + int8_t EGTtemperature1; // V | |
| 736 | + uint16_t EGTtemperature2; //[PJSC v1.03] | |
| 731 | 737 | |
| 732 | 738 | #if defined(CORE_AVR) |
| 733 | 739 | }; |
| @@ -1134,6 +1140,7 @@ | ||
| 1134 | 1140 | byte pinIgnBypass; //The pin used for an ignition bypass (Optional) |
| 1135 | 1141 | byte pinFlex; //Pin with the flex sensor attached |
| 1136 | 1142 | byte pinBaro; //Pin that an external barometric pressure sensor is attached to (If used) |
| 1143 | +byte pinEGT; //[PJSC v1.03] For Exhaust Gas Temperature Sensor input | |
| 1137 | 1144 | byte pinResetControl; // Output pin used control resetting the Arduino |
| 1138 | 1145 | byte pinExtTrigger; //[PJSC] External Trigger input pin |
| 1139 | 1146 | byte pinExValve; //[PJSC] Exhaust valve position input pin |
| @@ -1144,6 +1151,7 @@ | ||
| 1144 | 1151 | byte pinMuxout3; //[PJSC v1.01] For MUX output setting |
| 1145 | 1152 | byte pinMuxout4; //[PJSC v1.01] For MUX output setting |
| 1146 | 1153 | byte pinAnalogInput1; //[PJSC v1.02] For Analog input selection |
| 1154 | +byte pinAnalogInput2; //[PJSC v1.03] For Analog input2 selection | |
| 1147 | 1155 | |
| 1148 | 1156 | // global variables // from speeduino.ino |
| 1149 | 1157 | extern struct statuses currentStatus; // from speeduino.ino |
| @@ -68,6 +68,7 @@ | ||
| 68 | 68 | void readBat(); |
| 69 | 69 | void readBaro(); |
| 70 | 70 | void readExValvePosition(); //[PJSC] For External Trigger |
| 71 | +void readEGT(); //[PJSC v1.03] For Exhaust Gas Temperature sennsor | |
| 71 | 72 | |
| 72 | 73 | #if defined(ANALOG_ISR) |
| 73 | 74 | volatile int AnChannel[15]; |