HW_CHECK_MODE
This commit is contained in:
parent
61d481d40e
commit
416855c2f1
|
@ -3,7 +3,8 @@ cd ../../..
|
|||
|
||||
set PROJECT_BOARD=microrusefi
|
||||
set PROJECT_CPU=ARCH_STM32F4
|
||||
set DEFAULT_ENGINE_TYPE = -DDEFAULT_ENGINE_TYPE=MRE_BOARD_TEST
|
||||
set DEFAULT_ENGINE_TYPE=-DDEFAULT_ENGINE_TYPE=MRE_BOARD_TEST
|
||||
set EXTRA_PARAMS=-DHW_CHECK_MODE=TRUE
|
||||
|
||||
call config/boards/common_make.bat
|
||||
|
||||
|
|
|
@ -862,9 +862,15 @@ int tunerStudioHandleCrcCommand(ts_channel_s *tsChannel, char *data, int incomin
|
|||
|
||||
break;
|
||||
#endif /* ENABLE_PERF_TRACE */
|
||||
case TS_GET_CONFIG_ERROR:
|
||||
sr5SendResponse(tsChannel, TS_CRC, reinterpret_cast<const uint8_t*>(getFirmwareError()), strlen(getFirmwareError()));
|
||||
case TS_GET_CONFIG_ERROR: {
|
||||
#if HW_CHECK_MODE
|
||||
#define configError "FACTORY_MODE_PLEASE_CONTACT_SUPPORT"
|
||||
#else
|
||||
char * configError = getFirmwareError();
|
||||
#endif // HW_CHECK_MODE
|
||||
sr5SendResponse(tsChannel, TS_CRC, reinterpret_cast<const uint8_t*>(configError), strlen(configError));
|
||||
break;
|
||||
}
|
||||
default:
|
||||
tunerStudioError("ERROR: ignoring unexpected command");
|
||||
return false;
|
||||
|
|
|
@ -67,7 +67,7 @@ typedef struct {
|
|||
#define TS_PAGE_COMMAND 'P' // 0x50
|
||||
#define TS_COMMAND_F 'F' // 0x46
|
||||
#define TS_GET_FIRMWARE_VERSION 'V' // versionInfo
|
||||
#define TS_GET_CONFIG_ERROR 'e' // returns getFirmwareError()
|
||||
#define TS_GET_CONFIG_ERROR 'e' // returns getFirmwareError(), works together with ind_hasFatalError
|
||||
|
||||
// High speed logger commands
|
||||
#define TS_SET_LOGGER_MODE 'l'
|
||||
|
|
|
@ -602,6 +602,11 @@ class CommunicationBlinkingTask : public PeriodicTimerController {
|
|||
setAllLeds(0);
|
||||
} else if (counter % 2 == 0) {
|
||||
enginePins.communicationLedPin.setValue(0);
|
||||
#if HW_CHECK_MODE
|
||||
// we have to do anything possible to help users notice FACTORY MODE
|
||||
enginePins.errorLedPin.setValue(1);
|
||||
enginePins.runningLedPin.setValue(1);
|
||||
#endif // HW_CHECK_MODE
|
||||
if (!lowVBatt) {
|
||||
enginePins.warningLedPin.setValue(0);
|
||||
}
|
||||
|
@ -623,6 +628,12 @@ class CommunicationBlinkingTask : public PeriodicTimerController {
|
|||
}
|
||||
|
||||
enginePins.communicationLedPin.setValue(1);
|
||||
#if HW_CHECK_MODE
|
||||
// we have to do anything possible to help users notice FACTORY MODE
|
||||
enginePins.errorLedPin.setValue(0);
|
||||
enginePins.runningLedPin.setValue(0);
|
||||
#endif // HW_CHECK_MODE
|
||||
|
||||
#if EFI_ENGINE_CONTROL
|
||||
if (lowVBatt || isTriggerErrorNow() || isIgnitionTimingError() || consoleByteArrived) {
|
||||
consoleByteArrived = false;
|
||||
|
@ -814,7 +825,11 @@ void updateTunerStudioState(TunerStudioOutputChannels *tsOutputChannels DECLARE_
|
|||
tsOutputChannels->knockCount = engine->knockCount;
|
||||
tsOutputChannels->knockLevel = engine->knockVolts;
|
||||
|
||||
#if HW_CHECK_MODE
|
||||
tsOutputChannels->hasCriticalError = 1;
|
||||
#else
|
||||
tsOutputChannels->hasCriticalError = hasFirmwareError();
|
||||
#endif // HW_CHECK_MODE
|
||||
|
||||
tsOutputChannels->isWarnNow = engine->engineState.warnings.isWarningNow(timeSeconds, true);
|
||||
#if EFI_HIP_9011
|
||||
|
|
|
@ -717,6 +717,6 @@ int getRusEfiVersion(void) {
|
|||
if (initBootloader() != 0)
|
||||
return 123;
|
||||
#endif /* EFI_BOOTLOADER_INCLUDE_CODE */
|
||||
return 20200515;
|
||||
return 20200520;
|
||||
}
|
||||
#endif /* EFI_UNIT_TEST */
|
||||
|
|
|
@ -190,6 +190,15 @@ void runRusEfi(void) {
|
|||
*/
|
||||
readConfiguration(&sharedLogger);
|
||||
#endif /* EFI_INTERNAL_FLASH */
|
||||
|
||||
#if HW_CHECK_MODE
|
||||
// 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
|
||||
|
||||
engine->directSelfStimulation = true;
|
||||
#endif // HW_CHECK_MODE
|
||||
|
||||
|
||||
#ifndef EFI_ACTIVE_CONFIGURATION_IN_FLASH
|
||||
// TODO: need to fix this place!!! should be a version of PASS_ENGINE_PARAMETER_SIGNATURE somehow
|
||||
prepareVoidConfiguration(&activeConfiguration);
|
||||
|
|
Loading…
Reference in New Issue