auto-sync
This commit is contained in:
parent
06d17e7ade
commit
55b46a2305
|
@ -68,7 +68,10 @@ void setTestVVTEngineConfiguration(DECLARE_ENGINE_PARAMETER_F) {
|
||||||
boardConfiguration->triggerInputPins[1] = GPIO_UNASSIGNED;
|
boardConfiguration->triggerInputPins[1] = GPIO_UNASSIGNED;
|
||||||
engineConfiguration->camInput = GPIOA_5;
|
engineConfiguration->camInput = GPIOA_5;
|
||||||
|
|
||||||
// set_global_trigger_offset_angle
|
// set_global_trigger_offset_angle 0
|
||||||
engineConfiguration->globalTriggerAngleOffset = 545;
|
engineConfiguration->globalTriggerAngleOffset = 0;
|
||||||
|
|
||||||
|
engineConfiguration->vvtMode = VVT_SECOND_HALF;
|
||||||
|
engineConfiguration->debugMode = VVT;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -108,6 +108,9 @@ void setToyota_2jz_vics(DECLARE_ENGINE_PARAMETER_F) {
|
||||||
boardConfiguration->triggerInputPins[0] = GPIOA_5; // crank sensor
|
boardConfiguration->triggerInputPins[0] = GPIOA_5; // crank sensor
|
||||||
boardConfiguration->triggerInputPins[1] = GPIO_UNASSIGNED; // cam sensor will he handled by custom vtti code
|
boardConfiguration->triggerInputPins[1] = GPIO_UNASSIGNED; // cam sensor will he handled by custom vtti code
|
||||||
|
|
||||||
|
engineConfiguration->camInput = GPIOC_6;
|
||||||
|
engineConfiguration->vvtMode = VVT_2GZ;
|
||||||
|
|
||||||
// set_global_trigger_offset_angle 155
|
// set_global_trigger_offset_angle 155
|
||||||
engineConfiguration->globalTriggerAngleOffset = 155; // todo
|
engineConfiguration->globalTriggerAngleOffset = 155; // todo
|
||||||
|
|
||||||
|
|
|
@ -30,7 +30,7 @@
|
||||||
#include "adc_inputs.h"
|
#include "adc_inputs.h"
|
||||||
#if EFI_WAVE_ANALYZER || defined(__DOXYGEN__)
|
#if EFI_WAVE_ANALYZER || defined(__DOXYGEN__)
|
||||||
#include "wave_analyzer.h"
|
#include "wave_analyzer.h"
|
||||||
#endif
|
#endif /* EFI_WAVE_ANALYZER */
|
||||||
|
|
||||||
// see RUS_EFI_VERSION_TAG in console source code
|
// see RUS_EFI_VERSION_TAG in console source code
|
||||||
#define RUS_EFI_VERSION_TAG "rusEfiVersion"
|
#define RUS_EFI_VERSION_TAG "rusEfiVersion"
|
||||||
|
@ -336,17 +336,18 @@ static void printInfo(systime_t nowSeconds) {
|
||||||
#if EFI_PROD_CODE || defined(__DOXYGEN__)
|
#if EFI_PROD_CODE || defined(__DOXYGEN__)
|
||||||
printOutPin(CRANK1, boardConfiguration->triggerInputPins[0]);
|
printOutPin(CRANK1, boardConfiguration->triggerInputPins[0]);
|
||||||
printOutPin(CRANK2, boardConfiguration->triggerInputPins[1]);
|
printOutPin(CRANK2, boardConfiguration->triggerInputPins[1]);
|
||||||
|
printOutPin(VVT_NAME, engineConfiguration->camInput);
|
||||||
#if EFI_WAVE_ANALYZER || defined(__DOXYGEN__)
|
#if EFI_WAVE_ANALYZER || defined(__DOXYGEN__)
|
||||||
printOutPin(WA_CHANNEL_1, boardConfiguration->logicAnalyzerPins[0]);
|
printOutPin(WA_CHANNEL_1, boardConfiguration->logicAnalyzerPins[0]);
|
||||||
printOutPin(WA_CHANNEL_2, boardConfiguration->logicAnalyzerPins[1]);
|
printOutPin(WA_CHANNEL_2, boardConfiguration->logicAnalyzerPins[1]);
|
||||||
#endif
|
#endif /* EFI_WAVE_ANALYZER */
|
||||||
|
|
||||||
for (int i = 0; i < engineConfiguration->specs.cylindersCount; i++) {
|
for (int i = 0; i < engineConfiguration->specs.cylindersCount; i++) {
|
||||||
printOutPin(enginePins.coils[i].name, boardConfiguration->ignitionPins[i]);
|
printOutPin(enginePins.coils[i].name, boardConfiguration->ignitionPins[i]);
|
||||||
|
|
||||||
printOutPin(enginePins.injectors[i].name, boardConfiguration->injectionPins[i]);
|
printOutPin(enginePins.injectors[i].name, boardConfiguration->injectionPins[i]);
|
||||||
}
|
}
|
||||||
#endif
|
#endif /* EFI_PROD_CODE */
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -24,6 +24,8 @@
|
||||||
#define CRANK2 "t2"
|
#define CRANK2 "t2"
|
||||||
#define CRANK3 "t3"
|
#define CRANK3 "t3"
|
||||||
|
|
||||||
|
#define VVT_NAME "VVT"
|
||||||
|
|
||||||
#define NOISY_RPM -1
|
#define NOISY_RPM -1
|
||||||
#define UNREALISTIC_RPM 30000
|
#define UNREALISTIC_RPM 30000
|
||||||
|
|
||||||
|
|
|
@ -25,7 +25,9 @@
|
||||||
#if EFI_PROD_CODE || defined(__DOXYGEN__)
|
#if EFI_PROD_CODE || defined(__DOXYGEN__)
|
||||||
#include "rfiutil.h"
|
#include "rfiutil.h"
|
||||||
#include "pin_repository.h"
|
#include "pin_repository.h"
|
||||||
#endif
|
#include "tunerstudio.h"
|
||||||
|
extern TunerStudioOutputChannels tsOutputChannels;
|
||||||
|
#endif /* EFI_PROD_CODE */
|
||||||
|
|
||||||
#if EFI_ENGINE_SNIFFER || defined(__DOXYGEN__)
|
#if EFI_ENGINE_SNIFFER || defined(__DOXYGEN__)
|
||||||
#include "engine_sniffer.h"
|
#include "engine_sniffer.h"
|
||||||
|
@ -75,8 +77,18 @@ uint32_t triggerMaxDuration = 0;
|
||||||
extern bool isInsideTriggerHandler;
|
extern bool isInsideTriggerHandler;
|
||||||
|
|
||||||
void hwHandleVvtCamSignal(trigger_value_e front) {
|
void hwHandleVvtCamSignal(trigger_value_e front) {
|
||||||
|
if (ENGINE(isEngineChartEnabled)) {
|
||||||
|
// this is a performance optimization - array index is cheaper then invoking a method with 'switch'
|
||||||
|
addEngineSniffferEvent(VVT_NAME, front == TV_RISE ? WC_UP : WC_DOWN);
|
||||||
|
}
|
||||||
|
|
||||||
efitick_t offsetNt = getTimeNowNt() - engine->triggerCentral.timeAtVirtualZeroNt;
|
if (boardConfiguration->vvtCamSensorUseRise && front == TV_FALL) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
TriggerCentral *tc = &engine->triggerCentral;
|
||||||
|
|
||||||
|
efitick_t offsetNt = getTimeNowNt() - tc->timeAtVirtualZeroNt;
|
||||||
|
|
||||||
angle_t vvtPosition = NT2US(offsetNt) / engine->rpmCalculator.oneDegreeUs;
|
angle_t vvtPosition = NT2US(offsetNt) / engine->rpmCalculator.oneDegreeUs;
|
||||||
|
|
||||||
|
@ -84,12 +96,35 @@ void hwHandleVvtCamSignal(trigger_value_e front) {
|
||||||
vvtPosition -= tdcPosition();
|
vvtPosition -= tdcPosition();
|
||||||
fixAngle(vvtPosition);
|
fixAngle(vvtPosition);
|
||||||
|
|
||||||
engine->triggerCentral.vvtPosition = vvtPosition;
|
tc->vvtPosition = vvtPosition;
|
||||||
|
|
||||||
|
if (engineConfiguration->vvtMode == VVT_FIRST_HALF) {
|
||||||
|
bool isEven = tc->triggerState.isEvenRevolution();
|
||||||
|
if (!isEven) {
|
||||||
|
/**
|
||||||
|
* we are here if we've detected the cam sensor within the wrong crank phase
|
||||||
|
* let's increase the trigger event counter, that would adjust the state of
|
||||||
|
* virtual crank-based trigger
|
||||||
|
*/
|
||||||
|
tc->triggerState.intTotalEventCounter();
|
||||||
|
#if EFI_PROD_CODE || defined(__DOXYGEN__)
|
||||||
|
if (engineConfiguration->debugMode == VVT) {
|
||||||
|
tsOutputChannels.debugIntField1++;
|
||||||
|
}
|
||||||
|
#endif /* EFI_PROD_CODE */
|
||||||
|
}
|
||||||
|
} else if (engineConfiguration->vvtMode == VVT_SECOND_HALF) {
|
||||||
|
bool isEven = tc->triggerState.isEvenRevolution();
|
||||||
|
if (isEven) {
|
||||||
|
// see above comment
|
||||||
|
#if EFI_PROD_CODE || defined(__DOXYGEN__)
|
||||||
|
tc->triggerState.intTotalEventCounter();
|
||||||
|
if (engineConfiguration->debugMode == VVT) {
|
||||||
|
tsOutputChannels.debugIntField1++;
|
||||||
|
}
|
||||||
|
#endif /* EFI_PROD_CODE */
|
||||||
|
}
|
||||||
|
|
||||||
if (ENGINE(isEngineChartEnabled)) {
|
|
||||||
// this is a performance optimization - array index is cheaper then invoking a method with 'switch'
|
|
||||||
addEngineSniffferEvent("VVT", front == TV_RISE ? WC_UP : WC_DOWN);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -186,7 +221,7 @@ void TriggerCentral::handleShaftSignal(trigger_event_e signal DECLARE_ENGINE_PAR
|
||||||
// That's easy - trigger cycle matches engine cycle
|
// That's easy - trigger cycle matches engine cycle
|
||||||
triggerIndexForListeners = triggerState.getCurrentIndex();
|
triggerIndexForListeners = triggerState.getCurrentIndex();
|
||||||
} else {
|
} else {
|
||||||
bool isEven = triggerState.getTotalRevolutionCounter() & 1;
|
bool isEven = triggerState.isEvenRevolution();
|
||||||
|
|
||||||
triggerIndexForListeners = triggerState.getCurrentIndex() + (isEven ? 0 : TRIGGER_SHAPE(size));
|
triggerIndexForListeners = triggerState.getCurrentIndex() + (isEven ? 0 : TRIGGER_SHAPE(size));
|
||||||
}
|
}
|
||||||
|
|
|
@ -303,5 +303,5 @@ int getRusEfiVersion(void) {
|
||||||
return 123; // this is here to make the compiler happy about the unused array
|
return 123; // this is here to make the compiler happy about the unused array
|
||||||
if (UNUSED_CCM_SIZE[0] * 0 != 0)
|
if (UNUSED_CCM_SIZE[0] * 0 != 0)
|
||||||
return 3211; // this is here to make the compiler happy about the unused array
|
return 3211; // this is here to make the compiler happy about the unused array
|
||||||
return 20160822;
|
return 20160823;
|
||||||
}
|
}
|
||||||
|
|
|
@ -42,7 +42,7 @@ enable2ndByteCanID = false
|
||||||
|
|
||||||
; see PAGE_0_SIZE in C source code
|
; see PAGE_0_SIZE in C source code
|
||||||
; CONFIG_DEFINITION_START
|
; CONFIG_DEFINITION_START
|
||||||
; this section was generated automatically by ConfigDefinition.jar based on rusefi_config.txt Tue Aug 23 21:52:05 EDT 2016
|
; this section was generated automatically by ConfigDefinition.jar based on rusefi_config.txt Tue Aug 23 22:54:36 EDT 2016
|
||||||
|
|
||||||
pageSize = 16376
|
pageSize = 16376
|
||||||
page = 1
|
page = 1
|
||||||
|
@ -866,6 +866,7 @@ fileVersion = { 20160702 }
|
||||||
warningCounter = scalar,U32, 236, "count", 1, 0
|
warningCounter = scalar,U32, 236, "count", 1, 0
|
||||||
lastErrorCode = scalar,U32, 240, "error", 1, 0
|
lastErrorCode = scalar,U32, 240, "error", 1, 0
|
||||||
internalMcuTemperature = scalar,F32, 244, "C", 1, 0
|
internalMcuTemperature = scalar,F32, 244, "C", 1, 0
|
||||||
|
vvtPosition = scalar,F32, 248, "deg", 1, 0
|
||||||
|
|
||||||
egoCorrection = { 100 }
|
egoCorrection = { 100 }
|
||||||
time = { timeNow }
|
time = { timeNow }
|
||||||
|
@ -1158,6 +1159,7 @@ fileVersion = { 20160702 }
|
||||||
warningCounterGauge = warningCounter, "warn", "", 0, 100, 0, 0, 100, 100, 0, 0
|
warningCounterGauge = warningCounter, "warn", "", 0, 100, 0, 0, 100, 100, 0, 0
|
||||||
lastErrorCodeGauge = lastErrorCode, "error", "", 0, 100, 0, 0, 100, 100, 0, 0
|
lastErrorCodeGauge = lastErrorCode, "error", "", 0, 100, 0, 0, 100, 100, 0, 0
|
||||||
internalMcuTemperatureGauge = internalMcuTemperature, "internal temperature", "C", 0, 100, 0, 0, 100, 100, 0, 0
|
internalMcuTemperatureGauge = internalMcuTemperature, "internal temperature", "C", 0, 100, 0, 0, 100, 100, 0, 0
|
||||||
|
vvtPositionGauge = vvtPosition, "VVT position", "deg", 0, 100, 0, 0, 720, 720, 0, 0
|
||||||
|
|
||||||
|
|
||||||
[FrontPage]
|
[FrontPage]
|
||||||
|
@ -1457,8 +1459,8 @@ cmd_test_idle_valve = "w\x00\x17\x00\x01"
|
||||||
field = "Primary input channel", triggerInputPins1
|
field = "Primary input channel", triggerInputPins1
|
||||||
field = "Secondary channel", triggerInputPins2
|
field = "Secondary channel", triggerInputPins2
|
||||||
field = "CAM input", camInput
|
field = "CAM input", camInput
|
||||||
field = "VVT mode", vvtMode
|
field = "VVT mode", vvtMode, {trigger_type != 80}
|
||||||
field = "VVT use rise front", vvtCamSensorUseRise
|
field = "VVT use rise front", vvtCamSensorUseRise, {trigger_type != 80}
|
||||||
field = "Trigger error LED", triggerErrorPin
|
field = "Trigger error LED", triggerErrorPin
|
||||||
field = "Trigger error LED mode", triggerErrorPinMode
|
field = "Trigger error LED mode", triggerErrorPinMode
|
||||||
dialog = triggerConfiguration
|
dialog = triggerConfiguration
|
||||||
|
|
|
@ -848,6 +848,7 @@ fileVersion = { 20160702 }
|
||||||
warningCounter = scalar,U32, 236, "count", 1, 0
|
warningCounter = scalar,U32, 236, "count", 1, 0
|
||||||
lastErrorCode = scalar,U32, 240, "error", 1, 0
|
lastErrorCode = scalar,U32, 240, "error", 1, 0
|
||||||
internalMcuTemperature = scalar,F32, 244, "C", 1, 0
|
internalMcuTemperature = scalar,F32, 244, "C", 1, 0
|
||||||
|
vvtPosition = scalar,F32, 248, "deg", 1, 0
|
||||||
|
|
||||||
egoCorrection = { 100 }
|
egoCorrection = { 100 }
|
||||||
time = { timeNow }
|
time = { timeNow }
|
||||||
|
@ -1140,6 +1141,7 @@ fileVersion = { 20160702 }
|
||||||
warningCounterGauge = warningCounter, "warn", "", 0, 100, 0, 0, 100, 100, 0, 0
|
warningCounterGauge = warningCounter, "warn", "", 0, 100, 0, 0, 100, 100, 0, 0
|
||||||
lastErrorCodeGauge = lastErrorCode, "error", "", 0, 100, 0, 0, 100, 100, 0, 0
|
lastErrorCodeGauge = lastErrorCode, "error", "", 0, 100, 0, 0, 100, 100, 0, 0
|
||||||
internalMcuTemperatureGauge = internalMcuTemperature, "internal temperature", "C", 0, 100, 0, 0, 100, 100, 0, 0
|
internalMcuTemperatureGauge = internalMcuTemperature, "internal temperature", "C", 0, 100, 0, 0, 100, 100, 0, 0
|
||||||
|
vvtPositionGauge = vvtPosition, "VVT position", "deg", 0, 100, 0, 0, 720, 720, 0, 0
|
||||||
|
|
||||||
|
|
||||||
[FrontPage]
|
[FrontPage]
|
||||||
|
@ -1439,8 +1441,8 @@ cmd_test_idle_valve = "w\x00\x17\x00\x01"
|
||||||
field = "Primary input channel", triggerInputPins1
|
field = "Primary input channel", triggerInputPins1
|
||||||
field = "Secondary channel", triggerInputPins2
|
field = "Secondary channel", triggerInputPins2
|
||||||
field = "CAM input", camInput
|
field = "CAM input", camInput
|
||||||
field = "VVT mode", vvtMode
|
field = "VVT mode", vvtMode, {trigger_type != 80}
|
||||||
field = "VVT use rise front", vvtCamSensorUseRise
|
field = "VVT use rise front", vvtCamSensorUseRise, {trigger_type != 80}
|
||||||
field = "Trigger error LED", triggerErrorPin
|
field = "Trigger error LED", triggerErrorPin
|
||||||
field = "Trigger error LED mode", triggerErrorPinMode
|
field = "Trigger error LED mode", triggerErrorPinMode
|
||||||
dialog = triggerConfiguration
|
dialog = triggerConfiguration
|
||||||
|
|
Loading…
Reference in New Issue