PJSC(Pump Jet Solenoid Controller)はArduinoを使用したバイク用燃料噴射コントローラです。このプロジェクトは、オープンソースECUプロジェクト『Speeduino』をベースにしています。
Support Pulse output for test mode.
| @@ -270,35 +270,45 @@ | ||
| 270 | 270 | pjscFreq = scalar, U08, 70, "Hz", 2.0, 0.0, 10, 511, 0 ;[PJSC] |
| 271 | 271 | exValvePosMin = scalar, U08, 71, "ADC", 1.0, 0.0, 0.0, 255.0, 0 ; | |
| 272 | 272 | exValvePosMax = scalar, U08, 72, "ADC", 1.0, 0.0, 0.0, 255.0, 0 ; | |
| 273 | - squirtDeviceType = bits, U08, 73, [0:0], "Injector", "Solenoid valve" ; | | |
| 274 | - multiVEmapEnabled = bits, U08, 73, [1:1], "No", "Yes" ; | | |
| 275 | - externalTriggerEnabled = bits, U08, 73, [2:2], "Off", "On" ; | | |
| 276 | - externalTrigEdge = bits, U08, 73, [3:3], "Rising", "Falling" ; | | |
| 277 | - exValveCaptureEnabled = bits, U08, 73, [4:4], "Off", "On" ; | | |
| 278 | - dutyPulseCaptureEnabled = bits, U08, 73, [5:5], "Off", "On" ; | | |
| 279 | - dutyPulseCaptureEnabled2 = bits, U08, 73, [6:6], "Off", "On" ; | | |
| 280 | - dutyPulseOnLevel = bits, U08, 73, [7:7], "High", "Low" ; | | |
| 281 | - dutyPulseOnLevel2 = bits, U08, 74, [0:0], "High", "Low" ; | | |
| 282 | - exValveCalibrationMode = bits, U08, 74, [1:1], "Off", "On" ; | | |
| 283 | - unused2-73-2 = bits, U08, 74, [2:2], "None", "None" ; | | |
| 284 | - unused2-73-3 = bits, U08, 74, [3:3], "None", "None" ; | | |
| 285 | - unused2-73-4 = bits, U08, 74, [4:4], "None", "None" ; | | |
| 286 | - unused2-73-5 = bits, U08, 74, [5:5], "None", "None" ; | | |
| 287 | - unused2-73-6 = bits, U08, 74, [6:6], "None", "None" ; V | |
| 288 | - unused2-73-7 = bits, U08, 74, [7:7], "None", "None" ;[PJSC] | |
| 289 | - veMapSelection1 = bits, U08, 75, [0:7], "VE Table 1","VE Table 2","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID" | |
| 290 | - veMapSelection2 = bits, U08, 76, [0:7], "VE Table 1","VE Table 2","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID" | |
| 291 | - veMapSelection3 = bits, U08, 77, [0:7], "VE Table 1","VE Table 2","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID" | |
| 292 | - veMapSelection4 = bits, U08, 78, [0:7], "VE Table 1","VE Table 2","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID" | |
| 293 | - dutyFreqTst1 = scalar, U08, 79, "Hz", 2.0, 0.0, 10, 511, 0 ;[PJSC v1.10] | |
| 294 | - dutyFreqTst2 = scalar, U08, 80, "Hz", 2.0, 0.0, 10, 511, 0 ;[PJSC v1.10] | |
| 295 | - dutyFreqTst3 = scalar, U08, 81, "Hz", 2.0, 0.0, 10, 511, 0 ;[PJSC v1.10] | |
| 296 | - dutyFreqTst4 = scalar, U08, 82, "Hz", 2.0, 0.0, 10, 511, 0 ;[PJSC v1.10] | |
| 297 | - dutyRatioTst1 = scalar, U08, 83, "%", 1.0, 0.0, 0.0, 100.0, 0 ;[PJSC v1.10] | |
| 298 | - dutyRatioTst2 = scalar, U08, 84, "%", 1.0, 0.0, 0.0, 100.0, 0 ;[PJSC v1.10] | |
| 299 | - dutyRatioTst3 = scalar, U08, 85, "%", 1.0, 0.0, 0.0, 100.0, 0 ;[PJSC v1.10] | |
| 300 | - dutyRatioTst4 = scalar, U08, 86, "%", 1.0, 0.0, 0.0, 100.0, 0 ;[PJSC v1.10] | |
| 301 | - unused2-79 = array, U08, 87, [41], "%", 1.0, 0.0, 0.0, 255, 0 ;[PJSC v1.10] | |
| 273 | + exTrigHysteresis = scalar, U08, 73, "deg", 1.0, 0.0, 0.0, 255.0, 0 ; | | |
| 274 | + squirtDeviceType = bits, U08, 74, [0:0], "Injector", "Solenoid valve" ; | | |
| 275 | + multiVEmapEnabled = bits, U08, 74, [1:1], "No", "Yes" ; | | |
| 276 | + externalTriggerEnabled = bits, U08, 74, [2:2], "Off", "On" ; | | |
| 277 | + externalTrigEdge = bits, U08, 74, [3:3], "Rising", "Falling" ; | | |
| 278 | + exValveCaptureEnabled = bits, U08, 74, [4:4], "Off", "On" ; | | |
| 279 | + dutyPulseCaptureEnabled = bits, U08, 74, [5:5], "Off", "On" ; | | |
| 280 | + dutyPulseCaptureEnabled2 = bits, U08, 74, [6:6], "Off", "On" ; | | |
| 281 | + dutyPulseOnLevel = bits, U08, 74, [7:7], "High", "Low" ; | | |
| 282 | + dutyPulseOnLevel2 = bits, U08, 75, [0:0], "High", "Low" ; | | |
| 283 | + exValveCalibrationMode = bits, U08, 75, [1:1], "Off", "On" ; | | |
| 284 | + unused2-73-2 = bits, U08, 75, [2:2], "None", "None" ; | | |
| 285 | + unused2-73-3 = bits, U08, 75, [3:3], "None", "None" ; | | |
| 286 | + unused2-73-4 = bits, U08, 75, [4:4], "None", "None" ; | | |
| 287 | + unused2-73-5 = bits, U08, 75, [5:5], "None", "None" ; | | |
| 288 | + unused2-73-6 = bits, U08, 75, [6:6], "None", "None" ; V | |
| 289 | + unused2-73-7 = bits, U08, 75, [7:7], "None", "None" ;[PJSC] | |
| 290 | + veMapSelection1 = bits, U08, 76, [0:7], "VE Table 1","VE Table 2","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID" | |
| 291 | + veMapSelection2 = bits, U08, 77, [0:7], "VE Table 1","VE Table 2","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID" | |
| 292 | + veMapSelection3 = bits, U08, 78, [0:7], "VE Table 1","VE Table 2","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID" | |
| 293 | + veMapSelection4 = bits, U08, 79, [0:7], "VE Table 1","VE Table 2","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID" | |
| 294 | + dutyFreqTst1 = scalar, U08, 80, "Hz", 2.0, 0.0, 10, 511, 0 ;[PJSC v1.10] | |
| 295 | + dutyFreqTst2 = scalar, U08, 81, "Hz", 2.0, 0.0, 10, 511, 0 ;[PJSC v1.10] | |
| 296 | + dutyFreqTst3 = scalar, U08, 82, "Hz", 2.0, 0.0, 10, 511, 0 ;[PJSC v1.10] | |
| 297 | + dutyFreqTst4 = scalar, U08, 83, "Hz", 2.0, 0.0, 10, 511, 0 ;[PJSC v1.10] | |
| 298 | + dutyRatioTst1 = scalar, U08, 84, "%", 1.0, 0.0, 0.0, 100.0, 0 ;[PJSC v1.10] | |
| 299 | + dutyRatioTst2 = scalar, U08, 85, "%", 1.0, 0.0, 0.0, 100.0, 0 ;[PJSC v1.10] | |
| 300 | + dutyRatioTst3 = scalar, U08, 86, "%", 1.0, 0.0, 0.0, 100.0, 0 ;[PJSC v1.10] | |
| 301 | + dutyRatioTst4 = scalar, U08, 87, "%", 1.0, 0.0, 0.0, 100.0, 0 ;[PJSC v1.10] | |
| 302 | + testop_fp = bits, U08, 88, [0:0], "Off", "On" | |
| 303 | + testop_inj = bits, U08, 88, [1:2], "Off", "One", "INVALID", "All" | |
| 304 | + testop_coil = bits, U08, 88, [3:4], "Off", "One", "INVALID", "INVALID" | |
| 305 | + testsel_inj = bits, U08, 88, [5:6], "Inj1", "Inj2", "Inj3", "Inj4" | |
| 306 | + testsel_coil = bits, U08, 88, [7:7], "CoilA", "CoilB" | |
| 307 | + testint = scalar, U16, 89, "ms", 0.01, 0.00, 0, 655.35, 1 | |
| 308 | + testrpm = scalar, U16, 89, "RPM", 1.0, { 60000/testint }, 0, 60000, 0 | |
| 309 | + testpw = scalar, U16, 91, "ms", 0.01, 0.00, 0, 655.35, 1 ; * ( 1 byte) | |
| 310 | + testinjcnt = scalar, U16, 93, "", 1, 0, 0, 65535, 0, noLocalUpdate | |
| 311 | + unused2-97 = array, U08, 95, [33], "%", 1.0, 0.0, 0.0, 255, 0 ;[PJSC v1.10] | |
| 302 | 312 | |
| 303 | 313 | |
| 304 | 314 | ;-------------------------------------------------- |
| @@ -901,17 +911,41 @@ | ||
| 901 | 911 | defaultValue = bootloaderCaps, 0 |
| 902 | 912 | ; defaultValue = obd_address, 0 |
| 903 | 913 | |
| 904 | - defaultValue = multiVEmapEnabled, 0 ;[PJSC] | |
| 905 | - defaultValue = pjscFreq, 14 ; | | |
| 906 | - defaultValue = veMapSelection1, 0 ; | | |
| 907 | - defaultValue = veMapSelection2, 0 ; | | |
| 908 | - defaultValue = veMapSelection3, 0 ; | | |
| 909 | - defaultValue = veMapSelection4, 0 ; | | |
| 914 | + defaultValue = multiVEmapEnabled, 0 ;[PJSC] | |
| 915 | + defaultValue = pjscFreq, 14 ; | | |
| 916 | + defaultValue = veMapSelection1, 0 ; | | |
| 917 | + defaultValue = veMapSelection2, 0 ; | | |
| 918 | + defaultValue = veMapSelection3, 0 ; | | |
| 919 | + defaultValue = veMapSelection4, 0 ; | | |
| 910 | 920 | defaultValue = externalTriggerEnabled, 0 ; | |
| 911 | 921 | defaultValue = exValveCaptureEnabled, 1 ; | |
| 912 | 922 | defaultValue = dutyPulseCaptureEnabled, 0 ; | |
| 913 | 923 | defaultValue = dutyPulseCaptureEnabled2, 0 ; V |
| 914 | 924 | defaultValue = exValveCalibrationMode, 0 ;[PJSC] |
| 925 | + defaultValue = exValveCalibrationMode, 0 ;[PJSC v1.10] | |
| 926 | + defaultValue = exValvePosMin, 0 ; | | |
| 927 | + defaultValue = exValvePosMax, 100 ; | | |
| 928 | + defaultValue = exTrigHysteresis, 10 ; | | |
| 929 | + defaultValue = squirtDeviceType, 0 ; | | |
| 930 | + defaultValue = externalTrigEdge, 0 ; | | |
| 931 | + defaultValue = dutyPulseOnLevel, 0 ; | | |
| 932 | + defaultValue = dutyPulseOnLevel2, 0 ; | | |
| 933 | + defaultValue = dutyFreqTst1, 10 ; | | |
| 934 | + defaultValue = dutyFreqTst2, 10 ; | | |
| 935 | + defaultValue = dutyFreqTst3, 10 ; | | |
| 936 | + defaultValue = dutyFreqTst4, 10 ; | | |
| 937 | + defaultValue = dutyRatioTst1, 50 ; | | |
| 938 | + defaultValue = dutyRatioTst2, 50 ; | | |
| 939 | + defaultValue = dutyRatioTst3, 50 ; | | |
| 940 | + defaultValue = dutyRatioTst4, 50 ; | | |
| 941 | + defaultValue = testop_fp, 0 ; | | |
| 942 | + defaultValue = testop_inj, 0 ; | | |
| 943 | + defaultValue = testop_coil, 0 ; | | |
| 944 | + defaultValue = testsel_inj, 0 ; | | |
| 945 | + defaultValue = testsel_coil, 0 ; | | |
| 946 | + defaultValue = testint, 10.0 ; | | |
| 947 | + defaultValue = testpw, 0 ; V | |
| 948 | + defaultValue = testinjcnt, 0 ;[PJSC v1.10] | |
| 915 | 949 | |
| 916 | 950 | ;Default pins |
| 917 | 951 | defaultValue = fanPin, 0 |
| @@ -1011,9 +1045,9 @@ | ||
| 1011 | 1045 | |
| 1012 | 1046 | subMenu = std_separator ;[PJSC] |
| 1013 | 1047 | subMenu = captureMode, "Capture Mode" ; | |
| 1014 | -;[PJSC v1.0] subMenu = captSparkSetting, "Capture External Spark Control", { externalTriggerEnabled == 1 } ; | | |
| 1048 | + subMenu = captSparkSetting, "Capture External Spark Control", { externalTriggerEnabled == 1 } ; | | |
| 1015 | 1049 | subMenu = captExValveSetting, "Capture Exhaust Valve Position Control", { exValveCaptureEnabled == 1 } ; V |
| 1016 | -;[PJSC v1.0] subMenu = captDutyPulseSetting, "Capture Duty Pulse Control", { dutyPulseCaptureEnabled == 1 || dutyPulseCaptureEnabled2 == 1 } ;[PJSC] | |
| 1050 | + subMenu = captDutyPulseSetting, "Capture Duty Pulse Control", { dutyPulseCaptureEnabled == 1 || dutyPulseCaptureEnabled2 == 1 } ;[PJSC] | |
| 1017 | 1051 | |
| 1018 | 1052 | subMenu = std_separator |
| 1019 | 1053 |
| @@ -1044,8 +1078,10 @@ | ||
| 1044 | 1078 | #if enablehardware_test |
| 1045 | 1079 | menuDialog = main |
| 1046 | 1080 | menu = "Hardware Testing" |
| 1047 | - subMenu = outputtest1, "Test Output Hardware" | |
| 1048 | -#endif | |
| 1081 | +;[PJSC v1.10] subMenu = outputtest1, "Test Output Hardware" | |
| 1082 | + subMenu = outputtest1, "Output Test Mode - PWM" ;[PJSC v1.10] | |
| 1083 | + subMenu = outputtest2, "Output Test Mode - Pulse" ;[PJSC v1.10] | |
| 1084 | +##endif | |
| 1049 | 1085 | |
| 1050 | 1086 | menu = "Help" |
| 1051 | 1087 | subMenu = helpGeneral, "Speeduino Help" |
| @@ -1266,13 +1302,14 @@ | ||
| 1266 | 1302 | panel = engine_constants_east, East |
| 1267 | 1303 | |
| 1268 | 1304 | dialog = captureMode, "Capture Mode" ;[PJSC] |
| 1269 | -;[PJSC v1.0] field = "Capture External Spark Timing", externalTriggerEnabled ; | | |
| 1305 | + field = "Capture External Spark Timing", externalTriggerEnabled ; | | |
| 1270 | 1306 | field = "Capture Exhaust Valve Position", exValveCaptureEnabled ; | |
| 1271 | -;[PJSC v1.0] field = "Capture Duty Pulse ch1", dutyPulseCaptureEnabled ; V | |
| 1272 | -;[PJSC v1.0] field = "Capture Duty Pulse ch2", dutyPulseCaptureEnabled2 ;[PJSC] | |
| 1307 | + field = "Capture Duty Pulse ch1", dutyPulseCaptureEnabled ; V | |
| 1308 | + field = "Capture Duty Pulse ch2", dutyPulseCaptureEnabled2 ;[PJSC] | |
| 1273 | 1309 | |
| 1274 | 1310 | dialog = captSparkSetting, "Capture External Spark Control" ;[PJSC] |
| 1275 | - field = "Spark caputure trigger edge", externalTrigEdge ;[PJSC] | |
| 1311 | + field = "Spark capture trigger edge", externalTrigEdge ;[PJSC] | |
| 1312 | + field = "Spark capture hysteresis", exTrigHysteresis ;[PJSC] | |
| 1276 | 1313 | |
| 1277 | 1314 | dialog = captExValveSetting, "Capture Exhaust Valve Position Control" ;[PJSC] |
| 1278 | 1315 | field = "Exhaust valve calibration mode", exValveCalibrationMode ; | |
| @@ -1729,33 +1766,33 @@ | ||
| 1729 | 1766 | commandButton = "Stop Test Mode", cmdStopTestMode,{testactive}, clickOnCloseIfEnabled |
| 1730 | 1767 | |
| 1731 | 1768 | dialog = outputtestinj1, "Injector CH1", yAxis |
| 1732 | - commandButton = "Off", cmdtestinj1off,{testactive} | |
| 1769 | + commandButton = "Off", cmdtestinj1off, {testactive} | |
| 1733 | 1770 | ;[PJSC v1.10] commandButton = "50% DC", cmdtestinj150dc,{!testenabled & testactive} |
| 1734 | - commandButton = "On", cmdtestinj1on,{!testenabled & testactive} | |
| 1735 | - commandButton = "PWM", cmdtestinj150dc,{!testenabled & testactive} ;[PJSC v1.10] | |
| 1736 | - field = "PWM freq.", dutyFreqTst1, {!testenabled & testactive} ;[PJSC v1.10] | |
| 1737 | - field = "Duty ratio", dutyRatioTst1, {!testenabled & testactive} ;[PJSC v1.10] | |
| 1771 | + commandButton = "On", cmdtestinj1on, {!testenabled & testactive} | |
| 1772 | + commandButton = "PWM", cmdtestinj150dc, {!testenabled & testactive} ;[PJSC v1.10] | |
| 1773 | + field = "PWM freq.", dutyFreqTst1, {!testenabled & testactive} ;[PJSC v1.10] | |
| 1774 | + field = "Duty ratio", dutyRatioTst1, {!testenabled & testactive} ;[PJSC v1.10] | |
| 1738 | 1775 | dialog = outputtestinj2, "Injector CH2", yAxis |
| 1739 | - commandButton = "Off", cmdtestinj2off,{testactive} | |
| 1776 | + commandButton = "Off", cmdtestinj2off, {testactive} | |
| 1740 | 1777 | ;[PJSC v1.10] commandButton = "50% DC", cmdtestinj250dc,{!testenabled &testactive} |
| 1741 | - commandButton = "On", cmdtestinj2on,{!testenabled & testactive} | |
| 1742 | - commandButton = "PWM", cmdtestinj250dc,{!testenabled & testactive} ;[PJSC v1.10] | |
| 1743 | - field = "PWM freq.", dutyFreqTst2, {!testenabled & testactive} ;[PJSC v1.10] | |
| 1744 | - field = "Duty ratio", dutyRatioTst2, {!testenabled & testactive} ;[PJSC v1.10] | |
| 1778 | + commandButton = "On", cmdtestinj2on, {!testenabled & testactive} | |
| 1779 | + commandButton = "PWM", cmdtestinj250dc, {!testenabled & testactive} ;[PJSC v1.10] | |
| 1780 | + field = "PWM freq.", dutyFreqTst2, {!testenabled & testactive} ;[PJSC v1.10] | |
| 1781 | + field = "Duty ratio", dutyRatioTst2, {!testenabled & testactive} ;[PJSC v1.10] | |
| 1745 | 1782 | dialog = outputtestinj3, "Injector CH3", yAxis |
| 1746 | - commandButton = "Off", cmdtestinj3off,{testactive} | |
| 1783 | + commandButton = "Off", cmdtestinj3off, {testactive} | |
| 1747 | 1784 | ;[PJSC v1.10] commandButton = "50% DC", cmdtestinj350dc,{!testenabled & testactive} |
| 1748 | - commandButton = "On", cmdtestinj3on,{!testenabled & testactive} | |
| 1749 | - commandButton = "PWM", cmdtestinj350dc,{!testenabled & testactive} ;[PJSC v1.10] | |
| 1750 | - field = "PWM freq.", dutyFreqTst3, {!testenabled & testactive} ;[PJSC v1.10] | |
| 1751 | - field = "Duty ratio", dutyRatioTst3, {!testenabled & testactive} ;[PJSC v1.10] | |
| 1785 | + commandButton = "On", cmdtestinj3on, {!testenabled & testactive} | |
| 1786 | + commandButton = "PWM", cmdtestinj350dc, {!testenabled & testactive} ;[PJSC v1.10] | |
| 1787 | + field = "PWM freq.", dutyFreqTst3, {!testenabled & testactive} ;[PJSC v1.10] | |
| 1788 | + field = "Duty ratio", dutyRatioTst3, {!testenabled & testactive} ;[PJSC v1.10] | |
| 1752 | 1789 | dialog = outputtestinj4, "Injector CH4", yAxis |
| 1753 | - commandButton = "Off", cmdtestinj4off,{testactive} | |
| 1790 | + commandButton = "Off", cmdtestinj4off, {testactive} | |
| 1754 | 1791 | ;[PJSC v1.10] commandButton = "50% DC", cmdtestinj450dc,{!testenabled & testactive} |
| 1755 | - commandButton = "On", cmdtestinj4on ,{!testenabled & testactive} | |
| 1756 | - commandButton = "PWM", cmdtestinj450dc,{!testenabled & testactive} ;[PJSC v1.10] | |
| 1757 | - field = "PWM freq.", dutyFreqTst4, {!testenabled & testactive} ;[PJSC v1.10] | |
| 1758 | - field = "Duty ratio", dutyRatioTst4, {!testenabled & testactive} ;[PJSC v1.10] | |
| 1792 | + commandButton = "On", cmdtestinj4on , {!testenabled & testactive} | |
| 1793 | + commandButton = "PWM", cmdtestinj450dc, {!testenabled & testactive} ;[PJSC v1.10] | |
| 1794 | + field = "PWM freq.", dutyFreqTst4, {!testenabled & testactive} ;[PJSC v1.10] | |
| 1795 | + field = "Duty ratio", dutyRatioTst4, {!testenabled & testactive} ;[PJSC v1.10] | |
| 1759 | 1796 | |
| 1760 | 1797 | dialog = outputtest_injectors, "Injector Driver Output Test", xAxis |
| 1761 | 1798 | panel = outputtestinj1 |
| @@ -1786,7 +1823,8 @@ | ||
| 1786 | 1823 | ;[PJSC] panel = outputtestspk3 |
| 1787 | 1824 | ;[PJSC] panel = outputtestspk4 |
| 1788 | 1825 | |
| 1789 | - dialog = outputtest1,"Test Output Hardware" | |
| 1826 | +;[PJSC v1.10] dialog = outputtest1,"Test Output Hardware" | |
| 1827 | + dialog = outputtest1,"Output Test Mode - PWM" ;[PJSC v1.10] | |
| 1790 | 1828 | topicHelp = "http://speeduino.com/wiki/index.php/Hardware_testing_page" |
| 1791 | 1829 | panel = enableoutputtestbuttons |
| 1792 | 1830 | panel = outputtest_injectors |
| @@ -1794,6 +1832,66 @@ | ||
| 1794 | 1832 | ;panel = outputtest_io2 |
| 1795 | 1833 | panel = outputtest_warningmessage |
| 1796 | 1834 | |
| 1835 | +;[PJSC v1.10] For test mode - outputs pulse ========================================================================= | |
| 1836 | + dialog = outputTestbuttons1a, "", xAxis | |
| 1837 | + ;commandButton = "Label Text", command, { Enabled Condition }, optionalFlags | |
| 1838 | + ; The rem > 0 expression is just for testing.. It works when the MS is on the Stim with rpm. | |
| 1839 | + ; a status bit there would be the expected real expression | |
| 1840 | + commandButton = "Enable Test Mode", cmdEnableTestMode,{!testenabled & !testactive } | |
| 1841 | + | |
| 1842 | + ; if clickOnCloseIfEnabled is set, then the command assigned to this button will be run on the | |
| 1843 | + ; dialog close, but only if the enable condition is true | |
| 1844 | + ; valid click flags are: | |
| 1845 | + ; clickOnCloseIfEnabled - the command will be sent on dialog close if active condition is true | |
| 1846 | + ; clickOnCloseIfDisabled - the command will be sent on dialog close if active condition is false | |
| 1847 | + ; clickOnClose - the command will be sent on dialog close always | |
| 1848 | + commandButton = "Disable Test Mode", cmdStopTestMode,{testactive}, clickOnCloseIfEnabled | |
| 1849 | + | |
| 1850 | + dialog = outputTestbuttons1b, "" | |
| 1851 | + field = "Ensure engine is stationary or stim RPM is 0 before testing injectors or coils" | |
| 1852 | + | |
| 1853 | + dialog = outputTestbuttons1, "Test Mode Controls", yAxis | |
| 1854 | + panel = outputTestbuttons1a | |
| 1855 | + panel = outputTestbuttons1b | |
| 1856 | + | |
| 1857 | + dialog = outputTestbuttons2, "Fuel pump", xAxis | |
| 1858 | + commandButton = "Fuel Pump On", cmdfpon | |
| 1859 | + commandButton = "Fuel Pump Off", cmdfpoff | |
| 1860 | + | |
| 1861 | + dialog = outputtest_l, "Output Test Modes", yAxis | |
| 1862 | + | |
| 1863 | + dialog = outputtest_inj_l, "", yAxis | |
| 1864 | + field = "Output Interval", testint | |
| 1865 | + displayOnlyField = "RPM (Full Sequential)", testrpm | |
| 1866 | + field = "Injector Testing Mode", testop_inj | |
| 1867 | + field = "Injector Channel To Test", testsel_inj | |
| 1868 | + field = "Pulsewidth", testpw | |
| 1869 | + field = "Total Number Of Injections", testinjcnt | |
| 1870 | + | |
| 1871 | + dialog = outputtest_inj_r, "", yAxis | |
| 1872 | + commandButton = "Start", cmdtestinjstart | |
| 1873 | + commandButton = "Stop", cmdtestinjstop | |
| 1874 | + | |
| 1875 | + dialog = outputtest_inj, "Injector Testing", xAxis | |
| 1876 | + panel = outputtest_inj_l | |
| 1877 | + panel = outputtest_inj_r | |
| 1878 | + | |
| 1879 | + dialog = outputtest_controls, "Output Test Modes", yAxis | |
| 1880 | + topicHelp = "file://$getProjectsDirPath()/docs/Megasquirt2_TunerStudio_MS_Lite_Reference-3.4.pdf#testinjspk" | |
| 1881 | + panel = outputTestbuttons1 | |
| 1882 | + panel = outputTestbuttons2 | |
| 1883 | + panel = outputtest_inj | |
| 1884 | + | |
| 1885 | + dialog = outputtest_r, "Reference Gauges", yAxis | |
| 1886 | + gauge = batteryVoltage, North | |
| 1887 | + gauge = injcountGauge, South | |
| 1888 | + | |
| 1889 | + dialog = outputtest2,"Output Test Mode - Pulse", xAxis | |
| 1890 | + panel = outputtest_controls | |
| 1891 | + panel = outputtest_r | |
| 1892 | + | |
| 1893 | +;[PJSC v1.10] For test mode - outputs pulse ========================================================================= | |
| 1894 | + | |
| 1797 | 1895 | dialog = caninput_sel, "" |
| 1798 | 1896 | ;CAN inputs |
| 1799 | 1897 | field = " CAN Input Channel on/off" |
| @@ -2041,7 +2139,12 @@ | ||
| 2041 | 2139 | cmdtestinj4on = "E\x02\x0A" |
| 2042 | 2140 | cmdtestinj4off = "E\x02\x0B" |
| 2043 | 2141 | cmdtestinj450dc = "E\x02\x0C" |
| 2142 | +cmdfpon = "E\x02\x11" ;[PJSC v1.10] | |
| 2143 | +cmdfpoff = "E\x02\x12" ;[PJSC v1.10] | |
| 2144 | +cmdtestinjstart = "E\x02\x13" ;[PJSC v1.10] | |
| 2145 | +cmdtestinjstop = "E\x02\x14" ;[PJSC v1.10] | |
| 2044 | 2146 | |
| 2147 | + | |
| 2045 | 2148 | cmdtestspk1on = "E\x03\x01" |
| 2046 | 2149 | cmdtestspk1off = "E\x03\x02" |
| 2047 | 2150 | cmdtestspk150dc = "E\x03\x03" |
| @@ -2418,6 +2521,8 @@ | ||
| 2418 | 2521 | dutyRatioGauge = dutyRatio, "Duty Ratio", "%", 0, 100, 5, 10, 90, 95, 0, 0 ;[PJSC]For capturing duty pulse |
| 2419 | 2522 | dutyFreqGauge2 = dutyFreq2, "Duty Pulse Frequency 2", "Hz", 0, 100, 5, 10, 90, 95, 0, 0 ;[PJSC]For capturing duty pulse |
| 2420 | 2523 | dutyRatioGauge2 = dutyRatio2, "Duty Ratio 2", "%", 0, 100, 5, 10, 90, 95, 0, 0 ;[PJSC]For capturing duty pulse |
| 2524 | + baroGauge = baro, "Barometric Pressure", "kPa", 0, 255, 0, 20, 200, 245, 0, 0 ;[PJSC]Add the gage for barometric sensor | |
| 2525 | + injcountGauge = testCnt, "Injection Count", "pulses", 0, 1000, 65535, 65535,65535, 65535,0, 0 ;[PJSC v1.10] For test mode | |
| 2421 | 2526 | |
| 2422 | 2527 | #if CELSIUS |
| 2423 | 2528 | cltGauge = coolant, "Coolant Temp", "TEMP", -40, 215, -15, 0, 95, 105, 0, 0 |
| @@ -2508,7 +2613,8 @@ | ||
| 2508 | 2613 | |
| 2509 | 2614 | ochGetCommand = "r\$tsCanId\x30%2o%2c" |
| 2510 | 2615 | ;[PJSC] ochBlockSize = 85 |
| 2511 | - ochBlockSize = 98 ;[PJSC]Extend block size for External Trigger | |
| 2616 | +;[PJSC v1.10] ochBlockSize = 98 ;[PJSC]Extend block size for External Trigger | |
| 2617 | + ochBlockSize = 100 ;[PJSC v1.10] Extend block size for Test mode | |
| 2512 | 2618 | |
| 2513 | 2619 | secl = scalar, U08, 0, "sec", 1.000, 0.000 |
| 2514 | 2620 | status1 = scalar, U08, 1, "bits", 1.000, 0.000 |
| @@ -2571,7 +2677,7 @@ | ||
| 2571 | 2677 | testenabled = bits, U08, 38, [0:0] |
| 2572 | 2678 | testactive = bits, U08, 38, [1:1] |
| 2573 | 2679 | afr2 = scalar, U08, 39, "O2", 0.100, 0.000 |
| 2574 | - baro = scalar, U08, 40, "kpa", 1.000, 0.000 | |
| 2680 | + baro = scalar, U08, 40, "kpa", 1.000, 0.000 | |
| 2575 | 2681 | canin_gauge0 = scalar, U16, 41, "", 1.000, 0.000 |
| 2576 | 2682 | canin_gauge1 = scalar, U16, 43, "", 1.000, 0.000 |
| 2577 | 2683 | canin_gauge2 = scalar, U16, 45, "", 1.000, 0.000 |
| @@ -2611,6 +2717,7 @@ | ||
| 2611 | 2717 | dutyRatio = scalar, U16, 92, "%", 1.000, 0.000 ;[PJSC]For capturing duty pulse |
| 2612 | 2718 | dutyFreq2 = scalar, U16, 94, "Hz", 1.000, 0.000 ;[PJSC]For capturing duty pulse |
| 2613 | 2719 | dutyRatio2 = scalar, U16, 96, "%", 1.000, 0.000 ;[PJSC]For capturing duty pulse |
| 2720 | + testCnt = scalar, U16, 98, "", 1.000, 0.000 ;[PJSC v1.10]For test mode | |
| 2614 | 2721 | |
| 2615 | 2722 | #if CELSIUS |
| 2616 | 2723 | coolant = { coolantRaw - 40 } ; Temperature readings are offset by 40 to allow for negatives |
| @@ -82,4 +82,5 @@ | ||
| 82 | 82 | static inline void vvtInterrupt(); |
| 83 | 83 | #endif |
| 84 | 84 | |
| 85 | + | |
| 85 | 86 | #endif |
| @@ -15,7 +15,8 @@ | ||
| 15 | 15 | #define ve2SetPage 12 //[PJSC] Config Page 12 |
| 16 | 16 | |
| 17 | 17 | //[PJSC]#define SERIAL_PACKET_SIZE 85 //Must match ochBlockSize in ini file |
| 18 | -#define SERIAL_PACKET_SIZE 98 //[PJSC]Extend serial packet block size for External Trigger | |
| 18 | +//[PJSC v1.10]#define SERIAL_PACKET_SIZE 98 //[PJSC]Extend serial packet block size for External Trigger | |
| 19 | +#define SERIAL_PACKET_SIZE 100 //[PJSC v1.10] Extend serial packet block size for Test mode | |
| 19 | 20 | |
| 20 | 21 | byte currentPage = 1;//Not the same as the speeduino config page numbers |
| 21 | 22 | bool isMap = true; |
| @@ -124,6 +124,11 @@ | ||
| 124 | 124 | #define BIT_STATUS3_NSQUIRTS3 7 |
| 125 | 125 | |
| 126 | 126 | //[PJSC v1.10] Define masks for Test mode |
| 127 | +#define BIT_TEST_ON 0 //ON/OFF | |
| 128 | +#define BIT_TEST_PWM 1 //Outputs PWM signal | |
| 129 | +#define BIT_TEST_PULSE 2 //Outputs Pulse | |
| 130 | + | |
| 131 | +//[PJSC v1.10] Define masks for Test mode active | |
| 127 | 132 | #define BIT_TEST_INJ1 0 //inj1 |
| 128 | 133 | #define BIT_TEST_INJ2 1 //inj2 |
| 129 | 134 | #define BIT_TEST_INJ3 2 //inj3 |
| @@ -133,6 +138,12 @@ | ||
| 133 | 138 | #define BIT_TEST_IGN3 6 //coil3 |
| 134 | 139 | #define BIT_TEST_IGN4 7 //coil4 |
| 135 | 140 | |
| 141 | +//[PJSC v1.10] Define argument for Injector channel | |
| 142 | +#define CH_INJ1 0 //inj1 | |
| 143 | +#define CH_INJ2 1 //inj2 | |
| 144 | +#define CH_INJ3 2 //inj3 | |
| 145 | +#define CH_INJ4 3 //inj4 | |
| 146 | + | |
| 136 | 147 | #define VALID_MAP_MAX 1022 //The largest ADC value that is valid for the MAP sensor |
| 137 | 148 | #define VALID_MAP_MIN 2 //The smallest ADC value that is valid for the MAP sensor |
| 138 | 149 |
| @@ -411,7 +422,9 @@ | ||
| 411 | 422 | unsigned long dutyOFFlast_time2; //[PJSC] For capturing duty pulse |
| 412 | 423 | unsigned long cycle_t2; //[PJSC] For capturing duty pulse |
| 413 | 424 | unsigned long on_t2; //[PJSC] For capturing duty pulse |
| 425 | + byte testMode; //[PJSC v1.10] For test mode | |
| 414 | 426 | byte testModeActive; //[PJSC v1.10] For test mode |
| 427 | + int16_t testCnt; //[PJSC v1.10] For test mode | |
| 415 | 428 | |
| 416 | 429 | //Helpful bitwise operations: |
| 417 | 430 | //Useful reference: http://playground.arduino.cc/Code/BitMath |
| @@ -520,6 +533,7 @@ | ||
| 520 | 533 | byte pjscFreq; //[PJSC] Offset 70 |
| 521 | 534 | byte exValvePosMin; // | |
| 522 | 535 | byte exValvePosMax; // | |
| 536 | + byte exTrigHysteresis; // | | |
| 523 | 537 | byte squirtDeviceType : 1; // | |
| 524 | 538 | byte multiVEmapEnabled: 1; // | |
| 525 | 539 | byte externalTriggerEnabled : 1; // | For External Trigger |
| @@ -538,8 +552,16 @@ | ||
| 538 | 552 | byte unused1_74_7: 1; // V Place holder |
| 539 | 553 | byte veMapSelection[4]; //[PJSC] |
| 540 | 554 | byte dutyFreqTst[4]; //[PJSC v1.10] For test mode |
| 541 | - byte dutyRatioTst[4]; //[PJSC v1.10] For test mode | |
| 542 | - byte unused1_87[41]; //[PJSC v1.10] For test mode | |
| 555 | + byte dutyRatioTst[4]; // | | |
| 556 | + byte testop_fp: 1; // | | |
| 557 | + byte testop_inj: 2; // | | |
| 558 | + byte testop_coil: 2; // | | |
| 559 | + byte testsel_inj: 2; // | | |
| 560 | + byte testsel_coil: 1; // | | |
| 561 | + uint16_t testint; // | | |
| 562 | + uint16_t testpw; // | | |
| 563 | + uint16_t testinjcnt; // V | |
| 564 | + byte unused1_95[33]; //[PJSC v1.10] For test mode | |
| 543 | 565 | |
| 544 | 566 | #if defined(CORE_AVR) |
| 545 | 567 | }; |
| @@ -575,7 +575,12 @@ | ||
| 575 | 575 | void setPjsc2Duty(); |
| 576 | 576 | void setPjsc3Duty(); |
| 577 | 577 | void setPjsc4Duty(); |
| 578 | -void injTstControl(byte injCh); | |
| 578 | +void injTstPulseToggle1(); | |
| 579 | +void injTstPulseToggle2(); | |
| 580 | +void injTstPulseToggle3(); | |
| 581 | +void injTstPulseToggle4(); | |
| 582 | +void injTstControlPWM(byte injCh); | |
| 583 | +void injTstControlPulse(byte injCh); | |
| 579 | 584 | |
| 580 | 585 | #define DISABLE_TIMER_FUEL1TO4() FUEL1_TIMER_DISABLE(); FUEL2_TIMER_DISABLE(); FUEL3_TIMER_DISABLE(); FUEL4_TIMER_DISABLE() |
| 581 | 586 | //[PJSC v1.10] |