auto-sync
This commit is contained in:
parent
851b9b93de
commit
31bd25483e
|
@ -90,6 +90,8 @@ char *getWarninig(void) {
|
||||||
uint64_t lastLockTime;
|
uint64_t lastLockTime;
|
||||||
uint32_t maxLockTime = 0;
|
uint32_t maxLockTime = 0;
|
||||||
|
|
||||||
|
bool isInsideTriggerHandler = false;
|
||||||
|
|
||||||
void onLockHook(void) {
|
void onLockHook(void) {
|
||||||
lastLockTime = getTimeNowNt();
|
lastLockTime = getTimeNowNt();
|
||||||
}
|
}
|
||||||
|
@ -100,7 +102,7 @@ void onUnlockHook(void) {
|
||||||
maxLockTime = t;
|
maxLockTime = t;
|
||||||
}
|
}
|
||||||
// if (t > 2800) {
|
// if (t > 2800) {
|
||||||
// // uncomment this if you want a nice stop for a breakpoint
|
// // un-comment this if you want a nice stop for a breakpoint
|
||||||
// maxLockTime = t + 1;
|
// maxLockTime = t + 1;
|
||||||
// }
|
// }
|
||||||
}
|
}
|
||||||
|
|
|
@ -69,8 +69,11 @@ uint32_t triggerBegin;
|
||||||
uint32_t triggerDuration;
|
uint32_t triggerDuration;
|
||||||
uint32_t triggerMaxDuration = 0;
|
uint32_t triggerMaxDuration = 0;
|
||||||
|
|
||||||
|
extern bool isInsideTriggerHandler;
|
||||||
|
|
||||||
void hwHandleShaftSignal(trigger_event_e signal) {
|
void hwHandleShaftSignal(trigger_event_e signal) {
|
||||||
triggerBegin = GET_TIMESTAMP();
|
triggerBegin = GET_TIMESTAMP();
|
||||||
|
isInsideTriggerHandler = true;
|
||||||
if (triggerReentraint > maxTriggerReentraint)
|
if (triggerReentraint > maxTriggerReentraint)
|
||||||
maxTriggerReentraint = triggerReentraint;
|
maxTriggerReentraint = triggerReentraint;
|
||||||
triggerReentraint++;
|
triggerReentraint++;
|
||||||
|
@ -78,7 +81,8 @@ void hwHandleShaftSignal(trigger_event_e signal) {
|
||||||
triggerCentral.handleShaftSignal(signal, engine, engine->engineConfiguration);
|
triggerCentral.handleShaftSignal(signal, engine, engine->engineConfiguration);
|
||||||
triggerReentraint--;
|
triggerReentraint--;
|
||||||
triggerDuration = GET_TIMESTAMP() - triggerBegin;
|
triggerDuration = GET_TIMESTAMP() - triggerBegin;
|
||||||
if(triggerDuration > triggerMaxDuration)
|
isInsideTriggerHandler = false;
|
||||||
|
if (triggerDuration > triggerMaxDuration)
|
||||||
triggerMaxDuration = triggerDuration;
|
triggerMaxDuration = triggerDuration;
|
||||||
}
|
}
|
||||||
#endif /* EFI_PROD_CODE */
|
#endif /* EFI_PROD_CODE */
|
||||||
|
@ -98,26 +102,27 @@ static ALWAYS_INLINE void reportEventToWaveChart(trigger_event_e ckpSignalType,
|
||||||
itoa10(&shaft_signal_msg_index[2], index);
|
itoa10(&shaft_signal_msg_index[2], index);
|
||||||
if (ckpSignalType == SHAFT_PRIMARY_UP) {
|
if (ckpSignalType == SHAFT_PRIMARY_UP) {
|
||||||
shaft_signal_msg_index[0] = 'u';
|
shaft_signal_msg_index[0] = 'u';
|
||||||
addWaveChartEvent(WC_CRANK1, (char*) shaft_signal_msg_index);
|
addWaveChartEvent(WC_CRANK1, (char* ) shaft_signal_msg_index);
|
||||||
} else if (ckpSignalType == SHAFT_PRIMARY_DOWN) {
|
} else if (ckpSignalType == SHAFT_PRIMARY_DOWN) {
|
||||||
shaft_signal_msg_index[0] = 'd';
|
shaft_signal_msg_index[0] = 'd';
|
||||||
addWaveChartEvent(WC_CRANK1, (char*) shaft_signal_msg_index);
|
addWaveChartEvent(WC_CRANK1, (char* ) shaft_signal_msg_index);
|
||||||
} else if (ckpSignalType == SHAFT_SECONDARY_UP) {
|
} else if (ckpSignalType == SHAFT_SECONDARY_UP) {
|
||||||
shaft_signal_msg_index[0] = 'u';
|
shaft_signal_msg_index[0] = 'u';
|
||||||
addWaveChartEvent(WC_CRANK2, (char*) shaft_signal_msg_index);
|
addWaveChartEvent(WC_CRANK2, (char* ) shaft_signal_msg_index);
|
||||||
} else if (ckpSignalType == SHAFT_SECONDARY_DOWN) {
|
} else if (ckpSignalType == SHAFT_SECONDARY_DOWN) {
|
||||||
shaft_signal_msg_index[0] = 'd';
|
shaft_signal_msg_index[0] = 'd';
|
||||||
addWaveChartEvent(WC_CRANK2, (char*) shaft_signal_msg_index);
|
addWaveChartEvent(WC_CRANK2, (char* ) shaft_signal_msg_index);
|
||||||
} else if (ckpSignalType == SHAFT_3RD_UP) {
|
} else if (ckpSignalType == SHAFT_3RD_UP) {
|
||||||
shaft_signal_msg_index[0] = 'u';
|
shaft_signal_msg_index[0] = 'u';
|
||||||
addWaveChartEvent(WC_CRANK3, (char*) shaft_signal_msg_index);
|
addWaveChartEvent(WC_CRANK3, (char* ) shaft_signal_msg_index);
|
||||||
} else if (ckpSignalType == SHAFT_3RD_DOWN) {
|
} else if (ckpSignalType == SHAFT_3RD_DOWN) {
|
||||||
shaft_signal_msg_index[0] = 'd';
|
shaft_signal_msg_index[0] = 'd';
|
||||||
addWaveChartEvent(WC_CRANK3, (char*) shaft_signal_msg_index);
|
addWaveChartEvent(WC_CRANK3, (char* ) shaft_signal_msg_index);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void TriggerCentral::handleShaftSignal(trigger_event_e signal, Engine *engine, engine_configuration_s *engineConfiguration) {
|
void TriggerCentral::handleShaftSignal(trigger_event_e signal, Engine *engine,
|
||||||
|
engine_configuration_s *engineConfiguration) {
|
||||||
efiAssertVoid(engine!=NULL, "configuration");
|
efiAssertVoid(engine!=NULL, "configuration");
|
||||||
|
|
||||||
nowNt = getTimeNowNt();
|
nowNt = getTimeNowNt();
|
||||||
|
@ -178,7 +183,7 @@ void TriggerCentral::handleShaftSignal(trigger_event_e signal, Engine *engine, e
|
||||||
* Here we invoke all the listeners - the main engine control logic is inside these listeners
|
* Here we invoke all the listeners - the main engine control logic is inside these listeners
|
||||||
*/
|
*/
|
||||||
for (int i = 0; i < triggerListeneres.currentListenersCount; i++) {
|
for (int i = 0; i < triggerListeneres.currentListenersCount; i++) {
|
||||||
ShaftPositionListener listener = (ShaftPositionListener)triggerListeneres.callbacks[i];
|
ShaftPositionListener listener = (ShaftPositionListener) triggerListeneres.callbacks[i];
|
||||||
(listener)(signal, triggerIndexForListeners PASS_ENGINE_PARAMETER);
|
(listener)(signal, triggerIndexForListeners PASS_ENGINE_PARAMETER);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -241,18 +246,14 @@ static void triggerInfo(Engine *engine) {
|
||||||
scheduleMsg(&logger, "expected duty #0=%f/#1=%f", ts->dutyCycle[0], ts->dutyCycle[1]);
|
scheduleMsg(&logger, "expected duty #0=%f/#1=%f", ts->dutyCycle[0], ts->dutyCycle[1]);
|
||||||
|
|
||||||
scheduleMsg(&logger, "isError %s/total errors=%d ord_err=%d/total revolutions=%d/self=%s",
|
scheduleMsg(&logger, "isError %s/total errors=%d ord_err=%d/total revolutions=%d/self=%s",
|
||||||
boolToString(isTriggerDecoderError()),
|
boolToString(isTriggerDecoderError()), triggerCentral.triggerState.totalTriggerErrorCounter,
|
||||||
triggerCentral.triggerState.totalTriggerErrorCounter,
|
triggerCentral.triggerState.orderingErrorCounter, triggerCentral.triggerState.getTotalRevolutionCounter(),
|
||||||
triggerCentral.triggerState.orderingErrorCounter,
|
|
||||||
triggerCentral.triggerState.getTotalRevolutionCounter(),
|
|
||||||
boolToString(engineConfiguration->directSelfStimulation));
|
boolToString(engineConfiguration->directSelfStimulation));
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if EFI_PROD_CODE
|
#if EFI_PROD_CODE
|
||||||
scheduleMsg(&logger, "sn=%s ignitionMathTime=%d schTime=%d triggerMaxDuration=%d",
|
scheduleMsg(&logger, "sn=%s ignitionMathTime=%d schTime=%d triggerMaxDuration=%d",
|
||||||
boolToString(ts->isSynchronizationNeeded),
|
boolToString(ts->isSynchronizationNeeded), engine->ignitionMathTime, engine->ignitionSchTime,
|
||||||
engine->ignitionMathTime,
|
|
||||||
engine->ignitionSchTime,
|
|
||||||
triggerMaxDuration);
|
triggerMaxDuration);
|
||||||
|
|
||||||
triggerMaxDuration = 0;
|
triggerMaxDuration = 0;
|
||||||
|
|
|
@ -265,5 +265,5 @@ int getRusEfiVersion(void) {
|
||||||
return 1; // this is here to make the compiler happy about the unused array
|
return 1; // this is here to make the compiler happy about the unused array
|
||||||
if (UNUSED_CCM_SIZE == 0)
|
if (UNUSED_CCM_SIZE == 0)
|
||||||
return 1; // this is here to make the compiler happy about the unused array
|
return 1; // this is here to make the compiler happy about the unused array
|
||||||
return 20141125;
|
return 20141126;
|
||||||
}
|
}
|
||||||
|
|
|
@ -36,6 +36,9 @@ extern WaveChart waveChart;
|
||||||
|
|
||||||
uint32_t maxLockTime = 0;
|
uint32_t maxLockTime = 0;
|
||||||
|
|
||||||
|
// todo: move this field to trigger_central
|
||||||
|
bool isInsideTriggerHandler;
|
||||||
|
|
||||||
persistent_config_container_s persistentState;
|
persistent_config_container_s persistentState;
|
||||||
static engine_configuration2_s ec2;
|
static engine_configuration2_s ec2;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue