mirror of https://github.com/FOME-Tech/fome-fw.git
Subaru svx (#2777)
* Revert "hiding 3rd channel for now"
This reverts commit 00c5c786c7
.
* trigger subaru SVX: disable cranck #2 channel
* Board subaru-eg33: fix D10 pin defined twice
* Board subaru-eg33: renumber ignition ouput according cylinder order
* board subaru eg33: use common_make.sh to get dfu files
* board subaru-eg33: update default configuration
This commit is contained in:
parent
359e59a7d8
commit
078b65edd9
|
@ -89,16 +89,18 @@ void setBoardDefaultConfiguration(void) {
|
|||
engineConfiguration->injectionPins[4 - 1] = MC33810_1_OUT_1;
|
||||
engineConfiguration->injectionPins[5 - 1] = MC33810_0_OUT_2;
|
||||
engineConfiguration->injectionPins[6 - 1] = MC33810_1_OUT_2;
|
||||
/* Additional, not used for EG33 */
|
||||
engineConfiguration->injectionPins[7 - 1] = MC33810_0_OUT_3;
|
||||
engineConfiguration->injectionPins[8 - 1] = MC33810_1_OUT_3;
|
||||
|
||||
/* Ignition */
|
||||
engineConfiguration->ignitionPins[1 - 1] = MC33810_0_GD_0;
|
||||
engineConfiguration->ignitionPins[1 - 1] = MC33810_1_GD_3;
|
||||
engineConfiguration->ignitionPins[2 - 1] = MC33810_1_GD_2;
|
||||
engineConfiguration->ignitionPins[3 - 1] = MC33810_0_GD_1;
|
||||
engineConfiguration->ignitionPins[4 - 1] = MC33810_1_GD_3;
|
||||
engineConfiguration->ignitionPins[4 - 1] = MC33810_0_GD_0;
|
||||
engineConfiguration->ignitionPins[5 - 1] = MC33810_0_GD_3;
|
||||
engineConfiguration->ignitionPins[6 - 1] = MC33810_1_GD_1;
|
||||
/* Additional, not used for EG33 */
|
||||
engineConfiguration->ignitionPins[7 - 1] = MC33810_0_GD_2;
|
||||
engineConfiguration->ignitionPins[8 - 1] = MC33810_1_GD_0;
|
||||
//engineConfiguration->ignitionPinMode = OM_INVERTED;
|
||||
|
@ -139,9 +141,15 @@ void setBoardDefaultConfiguration(void) {
|
|||
engineConfiguration->fuelPumpPin = TLE6240_PIN_5;
|
||||
engineConfiguration->fuelPumpPinMode = OM_DEFAULT;
|
||||
|
||||
/* self shutdown? */
|
||||
engineConfiguration->mainRelayPin = GPIOH_7;
|
||||
engineConfiguration->mainRelayPinMode = OM_DEFAULT;
|
||||
/* Self shutdown ouput:
|
||||
* High level on this pin will keep Main Relay enabled in any position of ignition key
|
||||
* This cause inability to stop engine by key.
|
||||
* From other side main relay is powered from key position "IGN" OR this output (through diodes)
|
||||
* So ECU does not need to drive this signal.
|
||||
* The only puprose of this output is to keep ECU powered to finish some stuff before power off itself
|
||||
* To support this we need to sense ING input from key switch */
|
||||
//engineConfiguration->mainRelayPin = GPIOH_7;
|
||||
//engineConfiguration->mainRelayPinMode = OM_DEFAULT;
|
||||
|
||||
/* spi driven - TLE6240 - OUT1, OUT2 */
|
||||
engineConfiguration->fanPin = TLE6240_PIN_1;
|
||||
|
|
|
@ -47,29 +47,29 @@ pins:
|
|||
- pin: 7
|
||||
id: MC33810_0_GD_0
|
||||
class: outputs
|
||||
function: Ignition 1
|
||||
ts_name: D07 - Ignition 1
|
||||
function: Ignition 4
|
||||
ts_name: D07 - Ignition Cyl 4
|
||||
type: ign
|
||||
|
||||
- pin: 8
|
||||
id: MC33810_1_GD_2
|
||||
class: outputs
|
||||
function: Ignition 2
|
||||
ts_name: D08 - Ignition 2
|
||||
ts_name: D08 - Ignition Cyl 2
|
||||
type: ign
|
||||
|
||||
- pin: 9
|
||||
id: MC33810_0_GD_1
|
||||
class: outputs
|
||||
function: Ignition 3
|
||||
ts_name: D09 - Ignition 3
|
||||
ts_name: D09 - Ignition Cyl 3
|
||||
type: ign
|
||||
|
||||
- pin: 10
|
||||
id: MC33810_1_GD_3
|
||||
class: outputs
|
||||
function: Ignition 4
|
||||
ts_name: D10 - Ignition 4
|
||||
function: Ignition 1
|
||||
ts_name: D10 - Ignition Cyl 1
|
||||
type: ign
|
||||
|
||||
- pin: 11
|
||||
|
@ -105,7 +105,7 @@ pins:
|
|||
id: MC33810_1_GD_1
|
||||
class: outputs
|
||||
function: Ignition 6
|
||||
ts_name: D10 - Ignition 6
|
||||
ts_name: D16 - Ignition Cyl 6
|
||||
type: ign
|
||||
|
||||
- pin: 17
|
||||
|
@ -140,7 +140,7 @@ pins:
|
|||
id: MC33810_0_GD_3
|
||||
class: outputs
|
||||
function: Ignition 5
|
||||
ts_name: D21 - Ignition 5
|
||||
ts_name: D21 - Ignition Cyl 5
|
||||
type: ign
|
||||
|
||||
- pin: 22
|
||||
|
|
|
@ -8,7 +8,4 @@ export DEFAULT_ENGINE_TYPE="-DDEFAULT_ENGINE_TYPE=SUBARUEG33_DEFAULTS"
|
|||
#export DEBUG_LEVEL_OPT="-O0"
|
||||
#export USE_BOOTLOADER=yes
|
||||
|
||||
#bash config/boards/common_make.sh
|
||||
|
||||
#CROSS_COMPILE=../../toolchain/gcc-arm-none-eabi-8-2018-q4-major/bin/arm-none-eabi- make $*
|
||||
CROSS_COMPILE=../../toolchain/gcc-arm-none-eabi-9-2019-q4-major/bin/arm-none-eabi- make $*
|
||||
bash ../common_make.sh
|
||||
|
|
|
@ -132,8 +132,6 @@ void initializeSubaru7_6(TriggerWaveform *s) {
|
|||
|
||||
void initializeSubaru_SVX(TriggerWaveform *s) {
|
||||
int n;
|
||||
/* crank 2 falling happens between crank #1 fallings */
|
||||
float crank_2_offset = 15.0;
|
||||
float cam_offset = 15.0;
|
||||
/* we should use only falling edges */
|
||||
float width = 5.0;
|
||||
|
@ -151,6 +149,11 @@ void initializeSubaru_SVX(TriggerWaveform *s) {
|
|||
//#define SVX_CRANK_2 T_CHANNEL_3
|
||||
#define SVX_CAM T_PRIMARY
|
||||
|
||||
#ifdef SVX_CRANK_2
|
||||
/* crank 2 falling happens between crank #1 fallings */
|
||||
float crank_2_offset = 15.0;
|
||||
#endif
|
||||
|
||||
s->initialize(FOUR_STROKE_CAM_SENSOR);
|
||||
|
||||
/****** 0 *****/
|
||||
|
@ -160,9 +163,11 @@ void initializeSubaru_SVX(TriggerWaveform *s) {
|
|||
n = 1;
|
||||
s->addEvent720(CRANK_1_RISE(n), SVX_CRANK_1, TV_RISE);
|
||||
s->addEvent720(CRANK_1_FALL(n), SVX_CRANK_1, TV_FALL);
|
||||
/* crank #2 - one 1/1 */
|
||||
// s->addEvent720(CRANK_1_RISE(n) + crank_2_offset, SVX_CRANK_2, TV_RISE);
|
||||
// s->addEvent720(CRANK_1_FALL(n) + crank_2_offset, SVX_CRANK_2, TV_FALL);
|
||||
#ifdef SVX_CRANK_2
|
||||
/* crank #2 - one 1/1 */
|
||||
s->addEvent720(CRANK_1_RISE(n) + crank_2_offset, SVX_CRANK_2, TV_RISE);
|
||||
s->addEvent720(CRANK_1_FALL(n) + crank_2_offset, SVX_CRANK_2, TV_FALL);
|
||||
#endif
|
||||
n = 2;
|
||||
s->addEvent720(CRANK_1_RISE(n), SVX_CRANK_1, TV_RISE);
|
||||
s->addEvent720(CRANK_1_FALL(n), SVX_CRANK_1, TV_FALL);
|
||||
|
@ -173,43 +178,53 @@ void initializeSubaru_SVX(TriggerWaveform *s) {
|
|||
n = 4;
|
||||
s->addEvent720(CRANK_1_RISE(n), SVX_CRANK_1, TV_RISE);
|
||||
s->addEvent720(CRANK_1_FALL(n), SVX_CRANK_1, TV_FALL);
|
||||
/* cam - one */
|
||||
s->addEvent720(CRANK_1_RISE(n) + cam_offset, SVX_CAM, TV_RISE);
|
||||
s->addEvent720(CRANK_1_FALL(n) + cam_offset, SVX_CAM, TV_FALL);
|
||||
/* cam - one */
|
||||
s->addEvent720(CRANK_1_RISE(n) + cam_offset, SVX_CAM, TV_RISE);
|
||||
s->addEvent720(CRANK_1_FALL(n) + cam_offset, SVX_CAM, TV_FALL);
|
||||
n = 5;
|
||||
s->addEvent720(CRANK_1_RISE(n), SVX_CRANK_1, TV_RISE);
|
||||
s->addEvent720(CRANK_1_FALL(n), SVX_CRANK_1, TV_FALL);
|
||||
/* crank #2 - three - 1/3 */
|
||||
// s->addEvent720(CRANK_1_RISE(n) + crank_2_offset, SVX_CRANK_2, TV_RISE);
|
||||
// s->addEvent720(CRANK_1_FALL(n) + crank_2_offset, SVX_CRANK_2, TV_FALL);
|
||||
#ifdef SVX_CRANK_2
|
||||
/* crank #2 - three - 1/3 */
|
||||
s->addEvent720(CRANK_1_RISE(n) + crank_2_offset, SVX_CRANK_2, TV_RISE);
|
||||
s->addEvent720(CRANK_1_FALL(n) + crank_2_offset, SVX_CRANK_2, TV_FALL);
|
||||
#endif
|
||||
n = 6;
|
||||
s->addEvent720(CRANK_1_RISE(n), SVX_CRANK_1, TV_RISE);
|
||||
s->addEvent720(CRANK_1_FALL(n), SVX_CRANK_1, TV_FALL);
|
||||
/* crank #2 - three - 2/3 */
|
||||
// s->addEvent720(CRANK_1_RISE(n) + crank_2_offset, SVX_CRANK_2, TV_RISE);
|
||||
// s->addEvent720(CRANK_1_FALL(n) + crank_2_offset, SVX_CRANK_2, TV_FALL);
|
||||
#ifdef SVX_CRANK_2
|
||||
/* crank #2 - three - 2/3 */
|
||||
s->addEvent720(CRANK_1_RISE(n) + crank_2_offset, SVX_CRANK_2, TV_RISE);
|
||||
s->addEvent720(CRANK_1_FALL(n) + crank_2_offset, SVX_CRANK_2, TV_FALL);
|
||||
#endif
|
||||
n = 7;
|
||||
s->addEvent720(CRANK_1_RISE(n), SVX_CRANK_1, TV_RISE);
|
||||
s->addEvent720(CRANK_1_FALL(n), SVX_CRANK_1, TV_FALL);
|
||||
/* +10 - TDC #6 */
|
||||
/* crank #2 - three - 3/3 */
|
||||
// s->addEvent720(CRANK_1_RISE(n) + crank_2_offset, SVX_CRANK_2, TV_RISE);
|
||||
// s->addEvent720(CRANK_1_FALL(n) + crank_2_offset, SVX_CRANK_2, TV_FALL);
|
||||
#ifdef SVX_CRANK_2
|
||||
/* crank #2 - three - 3/3 */
|
||||
s->addEvent720(CRANK_1_RISE(n) + crank_2_offset, SVX_CRANK_2, TV_RISE);
|
||||
s->addEvent720(CRANK_1_FALL(n) + crank_2_offset, SVX_CRANK_2, TV_FALL);
|
||||
#endif
|
||||
n = 8;
|
||||
s->addEvent720(CRANK_1_RISE(n), SVX_CRANK_1, TV_RISE);
|
||||
s->addEvent720(CRANK_1_FALL(n), SVX_CRANK_1, TV_FALL);
|
||||
n = 9;
|
||||
s->addEvent720(CRANK_1_RISE(n), SVX_CRANK_1, TV_RISE);
|
||||
s->addEvent720(CRANK_1_FALL(n), SVX_CRANK_1, TV_FALL);
|
||||
/* crank #2 - two - 1/2 */
|
||||
// s->addEvent720(CRANK_1_RISE(n) + crank_2_offset, SVX_CRANK_2, TV_RISE);
|
||||
// s->addEvent720(CRANK_1_FALL(n) + crank_2_offset, SVX_CRANK_2, TV_FALL);
|
||||
#ifdef SVX_CRANK_2
|
||||
/* crank #2 - two - 1/2 */
|
||||
s->addEvent720(CRANK_1_RISE(n) + crank_2_offset, SVX_CRANK_2, TV_RISE);
|
||||
s->addEvent720(CRANK_1_FALL(n) + crank_2_offset, SVX_CRANK_2, TV_FALL);
|
||||
#endif
|
||||
n = 10;
|
||||
s->addEvent720(CRANK_1_RISE(n), SVX_CRANK_1, TV_RISE);
|
||||
s->addEvent720(CRANK_1_FALL(n), SVX_CRANK_1, TV_FALL);
|
||||
/* crank #2 - two - 2/2 */
|
||||
// s->addEvent720(CRANK_1_RISE(n) + crank_2_offset, SVX_CRANK_2, TV_RISE);
|
||||
// s->addEvent720(CRANK_1_FALL(n) + crank_2_offset, SVX_CRANK_2, TV_FALL);
|
||||
#ifdef SVX_CRANK_2
|
||||
/* crank #2 - two - 2/2 */
|
||||
s->addEvent720(CRANK_1_RISE(n) + crank_2_offset, SVX_CRANK_2, TV_RISE);
|
||||
s->addEvent720(CRANK_1_FALL(n) + crank_2_offset, SVX_CRANK_2, TV_FALL);
|
||||
#endif
|
||||
n = 11;
|
||||
s->addEvent720(CRANK_1_RISE(n), SVX_CRANK_1, TV_RISE);
|
||||
s->addEvent720(CRANK_1_FALL(n), SVX_CRANK_1, TV_FALL);
|
||||
|
@ -222,9 +237,11 @@ void initializeSubaru_SVX(TriggerWaveform *s) {
|
|||
n = 13;
|
||||
s->addEvent720(CRANK_1_RISE(n), SVX_CRANK_1, TV_RISE);
|
||||
s->addEvent720(CRANK_1_FALL(n), SVX_CRANK_1, TV_FALL);
|
||||
/* crank #2 - one - 1/1 */
|
||||
// s->addEvent720(CRANK_1_RISE(n) + crank_2_offset, SVX_CRANK_2, TV_RISE);
|
||||
// s->addEvent720(CRANK_1_FALL(n) + crank_2_offset, SVX_CRANK_2, TV_FALL);
|
||||
#ifdef SVX_CRANK_2
|
||||
/* crank #2 - one - 1/1 */
|
||||
s->addEvent720(CRANK_1_RISE(n) + crank_2_offset, SVX_CRANK_2, TV_RISE);
|
||||
s->addEvent720(CRANK_1_FALL(n) + crank_2_offset, SVX_CRANK_2, TV_FALL);
|
||||
#endif
|
||||
n = 14;
|
||||
s->addEvent720(CRANK_1_RISE(n), SVX_CRANK_1, TV_RISE);
|
||||
s->addEvent720(CRANK_1_FALL(n), SVX_CRANK_1, TV_FALL);
|
||||
|
@ -238,46 +255,53 @@ void initializeSubaru_SVX(TriggerWaveform *s) {
|
|||
n = 17;
|
||||
s->addEvent720(CRANK_1_RISE(n), SVX_CRANK_1, TV_RISE);
|
||||
s->addEvent720(CRANK_1_FALL(n), SVX_CRANK_1, TV_FALL);
|
||||
/* crank #2 - three - 1/3 */
|
||||
// s->addEvent720(CRANK_1_RISE(n) + crank_2_offset, SVX_CRANK_2, TV_RISE);
|
||||
// s->addEvent720(CRANK_1_FALL(n) + crank_2_offset, SVX_CRANK_2, TV_FALL);
|
||||
#ifdef SVX_CRANK_2
|
||||
/* crank #2 - three - 1/3 */
|
||||
s->addEvent720(CRANK_1_RISE(n) + crank_2_offset, SVX_CRANK_2, TV_RISE);
|
||||
s->addEvent720(CRANK_1_FALL(n) + crank_2_offset, SVX_CRANK_2, TV_FALL);
|
||||
#endif
|
||||
n = 18;
|
||||
s->addEvent720(CRANK_1_RISE(n), SVX_CRANK_1, TV_RISE);
|
||||
s->addEvent720(CRANK_1_FALL(n), SVX_CRANK_1, TV_FALL);
|
||||
/* crank #2 - three - 2/3 */
|
||||
// s->addEvent720(CRANK_1_RISE(n) + crank_2_offset, SVX_CRANK_2, TV_RISE);
|
||||
// s->addEvent720(CRANK_1_FALL(n) + crank_2_offset, SVX_CRANK_2, TV_FALL);
|
||||
#ifdef SVX_CRANK_2
|
||||
/* crank #2 - three - 2/3 */
|
||||
s->addEvent720(CRANK_1_RISE(n) + crank_2_offset, SVX_CRANK_2, TV_RISE);
|
||||
s->addEvent720(CRANK_1_FALL(n) + crank_2_offset, SVX_CRANK_2, TV_FALL);
|
||||
#endif
|
||||
n = 19;
|
||||
s->addEvent720(CRANK_1_RISE(n), SVX_CRANK_1, TV_RISE);
|
||||
s->addEvent720(CRANK_1_FALL(n), SVX_CRANK_1, TV_FALL);
|
||||
/* +10 - TDC #5 */
|
||||
/* crank #2 - three - 3/3 */
|
||||
// s->addEvent720(CRANK_1_RISE(n) + crank_2_offset, SVX_CRANK_2, TV_RISE);
|
||||
// s->addEvent720(CRANK_1_FALL(n) + crank_2_offset, SVX_CRANK_2, TV_FALL);
|
||||
#ifdef SVX_CRANK_2
|
||||
/* crank #2 - three - 3/3 */
|
||||
s->addEvent720(CRANK_1_RISE(n) + crank_2_offset, SVX_CRANK_2, TV_RISE);
|
||||
s->addEvent720(CRANK_1_FALL(n) + crank_2_offset, SVX_CRANK_2, TV_FALL);
|
||||
#endif
|
||||
n = 20;
|
||||
s->addEvent720(CRANK_1_RISE(n), SVX_CRANK_1, TV_RISE);
|
||||
s->addEvent720(CRANK_1_FALL(n), SVX_CRANK_1, TV_FALL);
|
||||
n = 21;
|
||||
s->addEvent720(CRANK_1_RISE(n), SVX_CRANK_1, TV_RISE);
|
||||
s->addEvent720(CRANK_1_FALL(n), SVX_CRANK_1, TV_FALL);
|
||||
/* crank #2 - two - 1/2 */
|
||||
// s->addEvent720(CRANK_1_RISE(n) + crank_2_offset, SVX_CRANK_2, TV_RISE);
|
||||
// s->addEvent720(CRANK_1_FALL(n) + crank_2_offset, SVX_CRANK_2, TV_FALL);
|
||||
#ifdef SVX_CRANK_2
|
||||
/* crank #2 - two - 1/2 */
|
||||
s->addEvent720(CRANK_1_RISE(n) + crank_2_offset, SVX_CRANK_2, TV_RISE);
|
||||
s->addEvent720(CRANK_1_FALL(n) + crank_2_offset, SVX_CRANK_2, TV_FALL);
|
||||
#endif
|
||||
n = 22;
|
||||
s->addEvent720(CRANK_1_RISE(n), SVX_CRANK_1, TV_RISE);
|
||||
s->addEvent720(CRANK_1_FALL(n), SVX_CRANK_1, TV_FALL);
|
||||
/* crank #2 - two - 2/2 */
|
||||
// s->addEvent720(CRANK_1_RISE(n) + crank_2_offset, SVX_CRANK_2, TV_RISE);
|
||||
// s->addEvent720(CRANK_1_FALL(n) + crank_2_offset, SVX_CRANK_2, TV_FALL);
|
||||
#ifdef SVX_CRANK_2
|
||||
/* crank #2 - two - 2/2 */
|
||||
s->addEvent720(CRANK_1_RISE(n) + crank_2_offset, SVX_CRANK_2, TV_RISE);
|
||||
s->addEvent720(CRANK_1_FALL(n) + crank_2_offset, SVX_CRANK_2, TV_FALL);
|
||||
#endif
|
||||
n = 23;
|
||||
s->addEvent720(CRANK_1_RISE(n), SVX_CRANK_1, TV_RISE);
|
||||
s->addEvent720(CRANK_1_FALL(n), SVX_CRANK_1, TV_FALL);
|
||||
/* +10 - TDC #4 */
|
||||
/****** 720 *****/
|
||||
|
||||
// s->setTriggerSynchronizationGap2(4.9, 9);
|
||||
// s->setTriggerSynchronizationGap3(1, 0.6, 1.25);
|
||||
|
||||
s->isSynchronizationNeeded = false;
|
||||
s->useOnlyPrimaryForSync = true;
|
||||
|
||||
|
|
Loading…
Reference in New Issue