• R/O
  • SSH
  • HTTPS

Commit

Frequently used words (click to add to your profile)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

PJSC(Pump Jet Solenoid Controller)はArduinoを使用したバイク用燃料噴射コントローラです。このプロジェクトは、オープンソースECUプロジェクト『Speeduino』をベースにしています。


Commit MetaInfo

Revision15 (tree)
Time2018-07-05 11:45:12
Authormaharu

Log Message

PWM test mode support for Injector outputs.

Change Summary

Incremental Difference

--- branches/Ver1.00_base/reference/PJSC.ini (revision 14)
+++ branches/Ver1.00_base/reference/PJSC.ini (revision 15)
@@ -284,13 +284,21 @@
284284 unused2-73-3 = bits, U08, 74, [3:3], "None", "None" ; |
285285 unused2-73-4 = bits, U08, 74, [4:4], "None", "None" ; |
286286 unused2-73-5 = bits, U08, 74, [5:5], "None", "None" ; |
287- unused2-73-6 = bits, U08, 74, [6:6], "None", "None" ; |
288- unused2-73-7 = bits, U08, 74, [7:7], "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]
289289 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"
290290 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"
291291 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"
292292 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- unused2-79 = array, U08, 79, [49], "%", 1.0, 0.0, 0.0, 255, 0 ;[PJSC]
293+ dutyFreqTst1 = scalar, U08, 79, "Hz", 1.0, 0.0, 0, 255, 0 ;[PJSC v1.10]
294+ dutyFreqTst2 = scalar, U08, 80, "Hz", 1.0, 0.0, 0, 255, 0 ;[PJSC v1.10]
295+ dutyFreqTst3 = scalar, U08, 81, "Hz", 1.0, 0.0, 0, 255, 0 ;[PJSC v1.10]
296+ dutyFreqTst4 = scalar, U08, 82, "Hz", 1.0, 0.0, 0, 255, 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]
294302
295303
296304 ;--------------------------------------------------
@@ -1722,20 +1730,32 @@
17221730
17231731 dialog = outputtestinj1, "Injector CH1", yAxis
17241732 commandButton = "Off", cmdtestinj1off,{testactive}
1725- commandButton = "50% DC", cmdtestinj150dc,{!testenabled & testactive}
1733+;[PJSC v1.10] commandButton = "50% DC", cmdtestinj150dc,{!testenabled & testactive}
17261734 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]
17271738 dialog = outputtestinj2, "Injector CH2", yAxis
17281739 commandButton = "Off", cmdtestinj2off,{testactive}
1729- commandButton = "50% DC", cmdtestinj250dc,{!testenabled &testactive}
1740+;[PJSC v1.10] commandButton = "50% DC", cmdtestinj250dc,{!testenabled &testactive}
17301741 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]
17311745 dialog = outputtestinj3, "Injector CH3", yAxis
17321746 commandButton = "Off", cmdtestinj3off,{testactive}
1733- commandButton = "50% DC", cmdtestinj350dc,{!testenabled & testactive}
1747+;[PJSC v1.10] commandButton = "50% DC", cmdtestinj350dc,{!testenabled & testactive}
17341748 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]
17351752 dialog = outputtestinj4, "Injector CH4", yAxis
17361753 commandButton = "Off", cmdtestinj4off,{testactive}
1737- commandButton = "50% DC", cmdtestinj450dc,{!testenabled & testactive}
1754+;[PJSC v1.10] commandButton = "50% DC", cmdtestinj450dc,{!testenabled & testactive}
17381755 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]
17391759
17401760 dialog = outputtest_injectors, "Injector Driver Output Test", xAxis
17411761 panel = outputtestinj1
--- branches/Ver1.00_base/speeduino/auxiliaries.h (revision 14)
+++ branches/Ver1.00_base/speeduino/auxiliaries.h (revision 15)
@@ -82,5 +82,4 @@
8282 static inline void vvtInterrupt();
8383 #endif
8484
85-
8685 #endif
--- branches/Ver1.00_base/speeduino/globals.h (revision 14)
+++ branches/Ver1.00_base/speeduino/globals.h (revision 15)
@@ -123,6 +123,16 @@
123123 #define BIT_STATUS3_NSQUIRTS2 6
124124 #define BIT_STATUS3_NSQUIRTS3 7
125125
126+//[PJSC v1.10] Define masks for Test mode
127+#define BIT_TEST_INJ1 0 //inj1
128+#define BIT_TEST_INJ2 1 //inj2
129+#define BIT_TEST_INJ3 2 //inj3
130+#define BIT_TEST_INJ4 3 //inj4
131+#define BIT_TEST_IGN1 4 //coil1
132+#define BIT_TEST_IGN2 5 //coil2
133+#define BIT_TEST_IGN3 6 //coil3
134+#define BIT_TEST_IGN4 7 //coil4
135+
126136 #define VALID_MAP_MAX 1022 //The largest ADC value that is valid for the MAP sensor
127137 #define VALID_MAP_MIN 2 //The smallest ADC value that is valid for the MAP sensor
128138
@@ -401,6 +411,7 @@
401411 unsigned long dutyOFFlast_time2; //[PJSC] For capturing duty pulse
402412 unsigned long cycle_t2; //[PJSC] For capturing duty pulse
403413 unsigned long on_t2; //[PJSC] For capturing duty pulse
414+ byte testModeActive; //[PJSC v1.10] For test mode
404415
405416 //Helpful bitwise operations:
406417 //Useful reference: http://playground.arduino.cc/Code/BitMath
@@ -524,9 +535,11 @@
524535 byte unused1_74_4: 1; // | Place holder
525536 byte unused1_74_5: 1; // | Place holder
526537 byte unused1_74_6: 1; // | Place holder
527- byte unused1_74_7: 1; // | Place holder
528- byte veMapSelection[4]; // V
529- byte unused1_79[49]; //[PJSC]
538+ byte unused1_74_7: 1; // V Place holder
539+ byte veMapSelection[4]; //[PJSC]
540+ 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
530543
531544 #if defined(CORE_AVR)
532545 };
--- branches/Ver1.00_base/speeduino/scheduler.h (revision 14)
+++ branches/Ver1.00_base/speeduino/scheduler.h (revision 15)
@@ -551,7 +551,7 @@
551551 //[PJSC] For PJSC
552552 void pjscControl();
553553 byte pjscDuty[4];
554-unsigned int pjsc_pwm_max_count;
554+unsigned int pjsc_pwm_max_count[4];
555555 volatile bool pjsc1_pwm_state;
556556 volatile bool pjsc2_pwm_state;
557557 volatile bool pjsc3_pwm_state;
@@ -566,4 +566,18 @@
566566 long pjsc4_pwm_target_value;
567567 //[PJSC] For PJSC
568568
569+//[PJSC v1.10]
570+void pjsc1Toggle();
571+void pjsc2Toggle();
572+void pjsc3Toggle();
573+void pjsc4Toggle();
574+void setPjsc1Duty();
575+void setPjsc2Duty();
576+void setPjsc3Duty();
577+void setPjsc4Duty();
578+void injTstControl(byte injCh);
579+
580+#define DISABLE_TIMER_FUEL1TO4() FUEL1_TIMER_DISABLE(); FUEL2_TIMER_DISABLE(); FUEL3_TIMER_DISABLE(); FUEL4_TIMER_DISABLE()
581+//[PJSC v1.10]
582+
569583 #endif // SCHEDULER_H