proteus F7 QC build is broken #5242

This commit is contained in:
rusefi 2023-04-19 20:29:33 -04:00
parent b5bf70dfa7
commit 3cf43bb0a2
4 changed files with 11 additions and 4 deletions

View File

@ -116,6 +116,7 @@
*
* todo: place this field next to 'engineConfiguration'?
*/
static bool hasRememberedConfiguration = false;
#if EFI_ACTIVE_CONFIGURATION_IN_FLASH
#include "flash_int.h"
engine_configuration_s & activeConfiguration = reinterpret_cast<persistent_config_container_s*>(getFlashAddrFirstCopy())->persistentConfiguration.engineConfiguration;
@ -132,6 +133,7 @@ void rememberCurrentConfiguration() {
#else
isActiveConfigurationVoid = false;
#endif /* EFI_ACTIVE_CONFIGURATION_IN_FLASH */
hasRememberedConfiguration = true;
}
static void wipeString(char *string, int size) {
@ -164,6 +166,9 @@ __attribute__((weak)) void boardOnConfigurationChange(engine_configuration_s* /*
* See preCalculate which is invoked BOTH on start and configuration change
*/
void incrementGlobalConfigurationVersion() {
if (!hasRememberedConfiguration) {
firmwareError(OBD_PCM_Processor_Fault, "too early to invoke incrementGlobalConfigurationVersion");
}
engine->globalConfigurationVersion++;
#if EFI_DEFAILED_LOGGING
efiPrintf("set globalConfigurationVersion=%d", globalConfigurationVersion);

View File

@ -648,7 +648,7 @@ void commonEarlyInit() {
#if HW_CHECK_ALWAYS_STIMULATE
// we need a special binary for final assembly check. We cannot afford to require too much software or too many steps
// to be executed at the place of assembly
enableTriggerStimulator();
enableTriggerStimulator(/*incGlobalConfiguration*/false);
#endif // HW_CHECK_ALWAYS_STIMULATE
}

View File

@ -172,11 +172,13 @@ static void startSimulatedTriggerSignal() {
// self-stimulation
// see below for trigger output generator
void enableTriggerStimulator() {
void enableTriggerStimulator(bool incGlobalConfiguration) {
startSimulatedTriggerSignal();
engine->triggerCentral.directSelfStimulation = true;
engine->rpmCalculator.Register();
incrementGlobalConfigurationVersion();
if (incGlobalConfiguration) {
incrementGlobalConfigurationVersion();
}
}
// start generating trigger signal on physical outputs

View File

@ -17,7 +17,7 @@ void setTriggerEmulatorRPM(int value);
void onConfigurationChangeRpmEmulatorCallback(engine_configuration_s *previousConfiguration);
// Start & stop trigger emulation
void enableTriggerStimulator();
void enableTriggerStimulator(bool incGlobalConfiguration = true);
void enableExternalTriggerStimulator();
void disableTriggerStimulator();