PJSC(Pump Jet Solenoid Controller)はArduinoを使用したバイク用燃料噴射コントローラです。このプロジェクトは、オープンソースECUプロジェクト『Speeduino』をベースにしています。
[PJSC v1.01c] Preparing for MUX output test mode.
| @@ -382,41 +382,57 @@ | ||
| 382 | 382 | dutyFreqTst2 = scalar, U08, 87, "Hz", 2.0, 0.0, 10, 511, 0 ; | |
| 383 | 383 | dutyFreqTst3 = scalar, U08, 88, "Hz", 2.0, 0.0, 10, 511, 0 ; | |
| 384 | 384 | dutyFreqTst4 = scalar, U08, 89, "Hz", 2.0, 0.0, 10, 511, 0 ; | |
| 385 | - dutyRatioTst1 = scalar, U08, 90, "%", 1.0, 0.0, 0.0, 100.0, 0 ; | | |
| 386 | - dutyRatioTst2 = scalar, U08, 91, "%", 1.0, 0.0, 0.0, 100.0, 0 ; | | |
| 387 | - dutyRatioTst3 = scalar, U08, 92, "%", 1.0, 0.0, 0.0, 100.0, 0 ; | | |
| 388 | - dutyRatioTst4 = scalar, U08, 93, "%", 1.0, 0.0, 0.0, 100.0, 0 ; | | |
| 389 | - testop_fp = bits, U08, 94, [0:0], "Off", "On" ; | | |
| 390 | - testop_inj = bits, U08, 94, [1:2], "Off", "One", "INVALID", "All" ; | | |
| 391 | - testop_coil = bits, U08, 94, [3:4], "Off", "One", "INVALID", "INVALID" ; | | |
| 392 | - testsel_inj = bits, U08, 94, [5:6], "Inj1", "Inj2", "Inj3", "Inj4" ; | | |
| 393 | - testsel_coil = bits, U08, 94, [7:7], "CoilA", "CoilB" ; | | |
| 394 | - testint = scalar, U16, 95, "ms", 0.01, 0.00, 0, 655.35, 1 ; V | |
| 395 | - testrpm = scalar, U16, 95, "RPM", 1.0, { 60000/testint }, 0, 60000, 0 ;[PJSC v1.10] | |
| 396 | - testpw = scalar, U16, 97, "ms", 0.01, 0.00, 0, 655.35, 1 ; * ( 1 byte) | |
| 397 | - testinjcnt = scalar, U16, 99, "", 1, 0, 0, 65535, 0, noLocalUpdate ; | |
| 385 | + dutyFreqTst5 = scalar, U08, 90, "Hz", 2.0, 0.0, 10, 511, 0 ; |[PJSC v1.01c] | |
| 386 | + dutyFreqTst6 = scalar, U08, 91, "Hz", 2.0, 0.0, 10, 511, 0 ; | | | |
| 387 | + dutyFreqTst7 = scalar, U08, 92, "Hz", 2.0, 0.0, 10, 511, 0 ; | | | |
| 388 | + dutyFreqTst8 = scalar, U08, 93, "Hz", 2.0, 0.0, 10, 511, 0 ; | | | |
| 389 | + dutyFreqTst9 = scalar, U08, 94, "Hz", 2.0, 0.0, 10, 511, 0 ; | | | |
| 390 | + dutyFreqTst10 = scalar, U08, 95, "Hz", 2.0, 0.0, 10, 511, 0 ; | | | |
| 391 | + dutyFreqTst11 = scalar, U08, 96, "Hz", 2.0, 0.0, 10, 511, 0 ; | V | |
| 392 | + dutyFreqTst12 = scalar, U08, 97, "Hz", 2.0, 0.0, 10, 511, 0 ; |[PJSC v1.01c] | |
| 393 | + dutyRatioTst1 = scalar, U08, 98, "%", 1.0, 0.0, 0.0, 100.0, 0 ; | | |
| 394 | + dutyRatioTst2 = scalar, U08, 99, "%", 1.0, 0.0, 0.0, 100.0, 0 ; | | |
| 395 | + dutyRatioTst3 = scalar, U08, 100, "%", 1.0, 0.0, 0.0, 100.0, 0 ; | | |
| 396 | + dutyRatioTst4 = scalar, U08, 101, "%", 1.0, 0.0, 0.0, 100.0, 0 ; | | |
| 397 | + dutyRatioTst5 = scalar, U08, 102, "%", 1.0, 0.0, 0.0, 100.0, 0 ; | | |
| 398 | + dutyRatioTst6 = scalar, U08, 103, "%", 1.0, 0.0, 0.0, 100.0, 0 ; | | |
| 399 | + dutyRatioTst7 = scalar, U08, 104, "%", 1.0, 0.0, 0.0, 100.0, 0 ; | | |
| 400 | + dutyRatioTst8 = scalar, U08, 105, "%", 1.0, 0.0, 0.0, 100.0, 0 ; | | |
| 401 | + dutyRatioTst9 = scalar, U08, 106, "%", 1.0, 0.0, 0.0, 100.0, 0 ; | | |
| 402 | + dutyRatioTst10 = scalar, U08, 107, "%", 1.0, 0.0, 0.0, 100.0, 0 ; | | |
| 403 | + dutyRatioTst11 = scalar, U08, 108, "%", 1.0, 0.0, 0.0, 100.0, 0 ; | | |
| 404 | + dutyRatioTst12 = scalar, U08, 109, "%", 1.0, 0.0, 0.0, 100.0, 0 ; | | |
| 405 | + testop_fp = bits, U08, 110, [0:0], "Off", "On" ; | | |
| 406 | + testop_inj = bits, U08, 110, [1:2], "Off", "One", "INVALID", "All" ; | | |
| 407 | + testop_coil = bits, U08, 110, [3:4], "Off", "One", "INVALID", "INVALID" ; | | |
| 408 | + testsel_inj = bits, U08, 110, [5:6], "Inj1", "Inj2", "Inj3", "Inj4" ; | | |
| 409 | + testsel_coil = bits, U08, 110, [7:7], "CoilA", "CoilB" ; | | |
| 410 | + testint = scalar, U16, 111, "ms", 0.01, 0.00, 0, 655.35, 1 ; V | |
| 411 | + testrpm = scalar, U16, 111, "RPM", 1.0, { 60000/testint }, 0, 60000, 0 ;[PJSC v1.10] | |
| 412 | + testpw = scalar, U16, 113, "ms", 0.01, 0.00, 0, 655.35, 1 ; * ( 1 byte) | |
| 413 | + testinjcnt = scalar, U16, 115, "", 1, 0, 0, 65535, 0, noLocalUpdate ; | |
| 398 | 414 | #if table4_spark ;[PJSC v1.01c] |
| 399 | - muxout1selection = bits, U08, 101, [0:3], "Disable", "IDLE control", "Thermo Fan control", "Launch control", "Fuel pump control", "Boost control", "VVT control", "Tach output", "INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID" | |
| 400 | - muxout2selection = bits, U08, 101, [4:7], "Disable", "IDLE control", "Thermo Fan control", "Launch control", "Fuel pump control", "Boost control", "VVT control", "Tach output", "INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID" | |
| 415 | + muxout1selection = bits, U08, 117, [0:3], "Disable", "IDLE control", "Thermo Fan control", "Launch control", "Fuel pump control", "Boost control", "VVT control", "Tach output", "INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID" | |
| 416 | + muxout2selection = bits, U08, 117, [4:7], "Disable", "IDLE control", "Thermo Fan control", "Launch control", "Fuel pump control", "Boost control", "VVT control", "Tach output", "INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID" | |
| 401 | 417 | #endif ;[PJSC v1.01c] |
| 402 | 418 | #if table4_fuel ;[PJSC v1.01c] |
| 403 | - muxout1selection = bits, U08, 101, [0:3], "Disable", "IDLE control", "Thermo Fan control", "INVALID", "Fuel pump control", "Boost control", "VVT control", "Tach output", "INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID" ;[PJSC v1.01c] | |
| 404 | - muxout2selection = bits, U08, 101, [4:7], "Disable", "IDLE control", "Thermo Fan control", "INVALID", "Fuel pump control", "Boost control", "VVT control", "Tach output", "INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID" ;[PJSC v1.01c] | |
| 419 | + muxout1selection = bits, U08, 117, [0:3], "Disable", "IDLE control", "Thermo Fan control", "INVALID", "Fuel pump control", "Boost control", "VVT control", "Tach output", "INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID" ;[PJSC v1.01c] | |
| 420 | + muxout2selection = bits, U08, 117, [4:7], "Disable", "IDLE control", "Thermo Fan control", "INVALID", "Fuel pump control", "Boost control", "VVT control", "Tach output", "INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID" ;[PJSC v1.01c] | |
| 405 | 421 | #endif ;[PJSC v1.01c] |
| 406 | - baroDenBins = array, U08, 102, [9], "kPa", 1.0, 0.0, 0.0, 255.0, 0 ;[PJSC v1.10] Bins for the Barometric density correction curve | |
| 407 | - baroDenRates = array, U08, 111, [9], "%", 1.0, 0.0, 0.0, 255.0, 0 ;[PJSC v1.10] Values for the \Barometric density correction curve | |
| 408 | - algorithm2 = bits, U08, 120, [0:2], $loadSourceNames ;[PJSC v1.10] For Dual Fuel Load | |
| 409 | - algorithm3 = bits, U08, 120, [3:5], $loadSourceNames ;[PJSC v1.10] | |
| 410 | - unused2_120 = bits, U08, 120, [6:7] ;[PJSC v1.10] | |
| 411 | - table4Usage = bits, U08, 121, [0:0], "Fuel", "Spark" ;[PJSC v1.10] | |
| 412 | - unused2_121 = bits, U08, 121, [1:7] ;[PJSC v1.10] | |
| 413 | - inj1SquirtStartEnd = bits, U08, 122, [0:0], "End angle", "Start angle" ;[PJSC v1.01c] | |
| 414 | - inj2SquirtStartEnd = bits, U08, 122, [1:1], "End angle", "Start angle" ;[PJSC v1.01c] | |
| 415 | - inj3SquirtStartEnd = bits, U08, 122, [2:2], "End angle", "Start angle" ;[PJSC v1.01c] | |
| 416 | - inj4SquirtStartEnd = bits, U08, 122, [3:3], "End angle", "Start angle" ;[PJSC v1.01c] | |
| 417 | - unused2_122 = bits, U08, 122, [4:7] ;[PJSC v1.01c] | |
| 422 | +//[PJSC v1.01c] baroDenBins = array, U08, 102, [9], "kPa", 1.0, 0.0, 0.0, 255.0, 0 ;[PJSC v1.10] Bins for the Barometric density correction curve | |
| 423 | +//[PJSC v1.01c] baroDenRates = array, U08, 111, [9], "%", 1.0, 0.0, 0.0, 255.0, 0 ;[PJSC v1.10] Values for the \Barometric density correction curve | |
| 424 | + algorithm2 = bits, U08, 118, [0:2], $loadSourceNames ;[PJSC v1.10] For Dual Fuel Load | |
| 425 | + algorithm3 = bits, U08, 118, [3:5], $loadSourceNames ;[PJSC v1.10] | |
| 426 | + unused2_120 = bits, U08, 118, [6:7] ;[PJSC v1.10] | |
| 427 | + table4Usage = bits, U08, 119, [0:0], "Fuel", "Spark" ;[PJSC v1.10] | |
| 428 | + unused2_121 = bits, U08, 119, [1:7] ;[PJSC v1.10] | |
| 429 | + inj1SquirtStartEnd = bits, U08, 120, [0:0], "End angle", "Start angle" ;[PJSC v1.01c] | |
| 430 | + inj2SquirtStartEnd = bits, U08, 120, [1:1], "End angle", "Start angle" ;[PJSC v1.01c] | |
| 431 | + inj3SquirtStartEnd = bits, U08, 120, [2:2], "End angle", "Start angle" ;[PJSC v1.01c] | |
| 432 | + inj4SquirtStartEnd = bits, U08, 120, [3:3], "End angle", "Start angle" ;[PJSC v1.01c] | |
| 433 | + unused2_122 = bits, U08, 120, [4:7] ;[PJSC v1.01c] | |
| 418 | 434 | ;[PJSC v1.01c] unused2_122 = array, U08, 122, [6], "%", 1.0, 0.0, 0.0, 255, 0 ;[PJSC v1.10] |
| 419 | - unused2_123 = array, U08, 123, [5], "%", 1.0, 0.0, 0.0, 255, 0 ;[PJSC v1.01c] | |
| 435 | + unused2_123 = array, U08, 121, [7], "%", 1.0, 0.0, 0.0, 255, 0 ;[PJSC v1.01c] | |
| 420 | 436 | |
| 421 | 437 | |
| 422 | 438 | ;Page 2 is the fuel map and axis bins only |
| @@ -528,7 +544,12 @@ | ||
| 528 | 544 | ADCFILTER_MAP = scalar, U08, 69, "%", 1.0, 0.0, 0, 240, 0 |
| 529 | 545 | ADCFILTER_BARO = scalar, U08, 70, "%", 1.0, 0.0, 0, 240, 0 |
| 530 | 546 | |
| 531 | - unused4-64 = array, U08, 71, [56], "%", 1.0, 0.0, 0.0, 255, 0 | |
| 547 | +;[PJSC v1.01c] unused4-64 = array, U08, 71, [56], "%", 1.0, 0.0, 0.0, 255, 0 | |
| 548 | + | |
| 549 | + baroDenBins = array, U08, 71, [9], "kPa", 1.0, 0.0, 0.0, 255.0, 0 ;[PJSC v1.01c] Bins for the Barometric density correction curve | |
| 550 | + baroDenRates = array, U08, 80, [9], "%", 1.0, 0.0, 0.0, 255.0, 0 ;[PJSC v1.01c] Values for the \Barometric density correction curve | |
| 551 | + unused4-89 = array, U08, 89, [38], "%", 1.0, 0.0, 0.0, 255, 0 ;[PJSC v1.01c] | |
| 552 | + | |
| 532 | 553 | ;-------------------------------------------------- |
| 533 | 554 | ;Start AFR page |
| 534 | 555 | ;-------------------------------------------------- |
| @@ -2609,26 +2630,26 @@ | ||
| 2609 | 2630 | commandButton = "Off", cmdtestmux1off,{testactive} ; | |
| 2610 | 2631 | commandButton = "On", cmdtestmux1on,{!testenabled & testactive} ; | |
| 2611 | 2632 | commandButton = "PWM", cmdtestmux150dc, {!testenabled & testactive} ; | |
| 2612 | - field = "PWM freq.", dutyFreqTst1, {!testenabled & testactive} ; | | |
| 2613 | - field = "Duty ratio", dutyRatioTst1, {!testenabled & testactive} ; | | |
| 2633 | + field = "PWM freq.", dutyFreqTst9, {!testenabled & testactive} ; | | |
| 2634 | + field = "Duty ratio", dutyRatioTst9, {!testenabled & testactive} ; | | |
| 2614 | 2635 | dialog = outputtestmux2, "MUX2", yAxis ; | |
| 2615 | 2636 | commandButton = "Off", cmdtestmux2off,{testactive} ; | |
| 2616 | 2637 | commandButton = "On", cmdtestmux2on,{!testenabled & testactive} ; | |
| 2617 | 2638 | commandButton = "PWM", cmdtestmux250dc, {!testenabled & testactive} ; | |
| 2618 | - field = "PWM freq.", dutyFreqTst2, {!testenabled & testactive} ; | | |
| 2619 | - field = "Duty ratio", dutyRatioTst2, {!testenabled & testactive} ; | | |
| 2639 | + field = "PWM freq.", dutyFreqTst10, {!testenabled & testactive} ; | | |
| 2640 | + field = "Duty ratio", dutyRatioTst10, {!testenabled & testactive} ; | | |
| 2620 | 2641 | dialog = outputtestmux3, "MUX3", yAxis ; | |
| 2621 | 2642 | commandButton = "Off", cmdtestmux3off,{testactive} ; | |
| 2622 | 2643 | commandButton = "On", cmdtestmux3on,{!testenabled & testactive} ; | |
| 2623 | 2644 | commandButton = "PWM", cmdtestmux350dc, {!testenabled & testactive} ; | |
| 2624 | - field = "PWM freq.", dutyFreqTst3, {!testenabled & testactive} ; | | |
| 2625 | - field = "Duty ratio", dutyRatioTst3, {!testenabled & testactive} ; | | |
| 2645 | + field = "PWM freq.", dutyFreqTst11, {!testenabled & testactive} ; | | |
| 2646 | + field = "Duty ratio", dutyRatioTst11, {!testenabled & testactive} ; | | |
| 2626 | 2647 | dialog = outputtestmux4, "MUX4", yAxis ; | |
| 2627 | 2648 | commandButton = "Off", cmdtestmux4off,{testactive} ; | |
| 2628 | 2649 | commandButton = "On", cmdtestmux4on ,{!testenabled & testactive} ; | |
| 2629 | 2650 | commandButton = "PWM", cmdtestmux450dc, {!testenabled & testactive} ; | |
| 2630 | - field = "PWM freq.", dutyFreqTst4, {!testenabled & testactive} ; | | |
| 2631 | - field = "Duty ratio", dutyRatioTst4, {!testenabled & testactive} ; | | |
| 2651 | + field = "PWM freq.", dutyFreqTst12, {!testenabled & testactive} ; | | |
| 2652 | + field = "Duty ratio", dutyRatioTst12, {!testenabled & testactive} ; | | |
| 2632 | 2653 | ; | |
| 2633 | 2654 | dialog = outputtest_mux, "MUX Output Test", xAxis ; | |
| 2634 | 2655 | panel = outputtestmux1 ; | |
| @@ -674,8 +674,10 @@ | ||
| 674 | 674 | byte veMapSelectionInj3_2Sec: 4; //[PJSCv1.10] | |
| 675 | 675 | byte veMapSelectionInj4_2Pri: 4; //[PJSCv1.10] V |
| 676 | 676 | byte veMapSelectionInj4_2Sec: 4; //[PJSCv1.10] For x4 Fuel table support |
| 677 | - byte dutyFreqTst[4]; //[PJSC v1.10] For test mode | |
| 678 | - byte dutyRatioTst[4]; // | | |
| 677 | +//[PJSC v1.01c] byte dutyFreqTst[4]; //[PJSC v1.10] For test mode | |
| 678 | +//[PJSC v1.01c] byte dutyRatioTst[4]; // | | |
| 679 | + byte dutyFreqTst[12]; //[PJSC v1.10] For test mode | |
| 680 | + byte dutyRatioTst[12]; // | | |
| 679 | 681 | byte testop_fp: 1; // | |
| 680 | 682 | byte testop_inj: 2; // | |
| 681 | 683 | byte testop_coil: 2; // | |
| @@ -686,20 +688,20 @@ | ||
| 686 | 688 | uint16_t testinjcnt; // | |
| 687 | 689 | byte muxout1Selection: 4; // | MUX output1 selection |
| 688 | 690 | byte muxout2Selection: 4; // | MUX output2 selection |
| 689 | - byte baroDenBins[9]; // | For Barometric extend correnction | |
| 690 | - byte baroDenRates[9]; // | For Barometric extend correnction | |
| 691 | +//[PJSC v1.01c] byte baroDenBins[9]; // | For Barometric extend correnction | |
| 692 | +//[PJSC v1.01c] byte baroDenRates[9]; // | For Barometric extend correnction | |
| 691 | 693 | byte fuelAlgorithm2: 3; //[PJSC v1.10] For Secondary Fuel Algorithm |
| 692 | 694 | byte fuelAlgorithm3: 3; // | |
| 693 | - byte unused2_120: 2; // | | |
| 695 | + byte unused2_118: 2; // | | |
| 694 | 696 | byte table4Usage: 1; // | For switching usage of 3rd table Ignition/Fuel |
| 695 | - byte unused2_121: 7; // V | |
| 697 | + byte unused2_119: 7; // V | |
| 696 | 698 | //[PJSC v1.01c] byte unused2_122[6]; //[PJSC v1.10] For test mode |
| 697 | 699 | byte inj1SquirtStartEnd: 1; //[PJSC v1.01c] |
| 698 | 700 | byte inj2SquirtStartEnd: 1; // | |
| 699 | 701 | byte inj3SquirtStartEnd: 1; // | |
| 700 | 702 | byte inj4SquirtStartEnd: 1; // | |
| 701 | - byte unused2_122: 4; // V | |
| 702 | - byte unused2_123[5]; //[PJSC v1.01c] | |
| 703 | + byte unused2_120: 4; // V | |
| 704 | + byte unused2_121[7]; //[PJSC v1.01c] | |
| 703 | 705 | |
| 704 | 706 | #if defined(CORE_AVR) |
| 705 | 707 | }; |
| @@ -773,7 +775,10 @@ | ||
| 773 | 775 | byte ADCFILTER_MAP; //This is only used on Instantaneous MAP readings and is intentionally very weak to allow for faster response |
| 774 | 776 | byte ADCFILTER_BARO; |
| 775 | 777 | |
| 776 | - byte unused2_64[57]; | |
| 778 | +//[PJSC v1.01c] byte unused2_64[57]; | |
| 779 | + byte baroDenBins[9]; //[PJSC v1.01c] For Barometric extend correnction | |
| 780 | + byte baroDenRates[9]; //[PJSC v1.01c] For Barometric extend correnction | |
| 781 | + byte unused2_82[39]; | |
| 777 | 782 | |
| 778 | 783 | #if defined(CORE_AVR) |
| 779 | 784 | }; |