improving QC process

This commit is contained in:
rusefi 2021-04-22 21:23:20 -04:00
parent e3cbb939ec
commit be0f2210c5
5 changed files with 17 additions and 4 deletions

View File

@ -2,7 +2,7 @@
export PROJECT_BOARD=proteus
export PROJECT_CPU=ARCH_STM32F4
export EXTRA_PARAMS="-DVR_HW_CHECK_MODE=TRUE -DHW_CHECK_ALWAYS_STIMULATE=TRUE -DHW_CHECK_SPARK_FSIO=TRUE -DSHORT_BOARD_NAME=proteus_f4"
export EXTRA_PARAMS="-DVR_HW_CHECK_MODE=TRUE -DHW_CHECK_SD=TRUE -DHW_CHECK_ALWAYS_STIMULATE=TRUE -DHW_CHECK_SPARK_FSIO=TRUE -DSHORT_BOARD_NAME=proteus_f4"
export DEFAULT_ENGINE_TYPE=-DDEFAULT_ENGINE_TYPE=PROTEUS_QC_TEST_BOARD

View File

@ -2,8 +2,7 @@
export PROJECT_BOARD=proteus
export PROJECT_CPU=ARCH_STM32F7
export EXTRA_PARAMS="-DVR_HW_CHECK_MODE=TRUE -DHW_CHECK_ALWAYS_STIMULATE=TRUE -DHW_CHECK_SPARK_FSIO=TRUE -DSHORT_BOARD_NAME=proteus_f7"
export EXTRA_PARAMS="-DVR_HW_CHECK_MODE=TRUE -DHW_CHECK_SD=TRUE -DHW_CHECK_ALWAYS_STIMULATE=TRUE -DHW_CHECK_SPARK_FSIO=TRUE -DSHORT_BOARD_NAME=proteus_f7"
export DEFAULT_ENGINE_TYPE=-DDEFAULT_ENGINE_TYPE=PROTEUS_QC_TEST_BOARD

View File

@ -376,6 +376,13 @@ class CommunicationBlinkingTask : public PeriodicTimerController {
setAllLeds(0);
} else if (counter % 2 == 0) {
enginePins.communicationLedPin.setValue(0);
#if HW_CHECK_SD
extern int totalLoggedBytes;
if (totalLoggedBytes > 50000) {
enginePins.communicationLedPin.setValue(1);
}
#endif // HW_CHECK_SD
#if HW_CHECK_MODE
// we have to do anything possible to help users notice FACTORY MODE
enginePins.errorLedPin.setValue(1);

View File

@ -23,6 +23,7 @@
#include "engine_math.h"
#include "local_version_holder.h"
#include "trigger_simulator.h"
#include "trigger_emulator_algo.h"
#include "rpm_calculator.h"
#include "tooth_logger.h"
@ -108,6 +109,7 @@ void hwHandleVvtCamSignal(trigger_value_e front, efitick_t nowNt, int index DECL
extern ioportid_t criticalErrorLedPort;
extern ioportmask_t criticalErrorLedPin;
for (int i = 0 ; i < 100 ; i++) {
// turning pin ON and busy-waiting a bit
palWritePad(criticalErrorLedPort, criticalErrorLedPin, 1);
@ -300,6 +302,11 @@ void hwHandleShaftSignal(trigger_event_e signal, efitick_t timestamp) {
extern ioportid_t criticalErrorLedPort;
extern ioportmask_t criticalErrorLedPin;
#if HW_CHECK_ALWAYS_STIMULATE
disableTriggerStimulator();
#endif // HW_CHECK_ALWAYS_STIMULATE
for (int i = 0 ; i < 100 ; i++) {
// turning pin ON and busy-waiting a bit
palWritePad(criticalErrorLedPort, criticalErrorLedPin, 1);

View File

@ -50,7 +50,7 @@ EXTERN_ENGINE;
// at about 20Hz we write about 2Kb per second, looks like we flush once every ~2 seconds
#define F_SYNC_FREQUENCY 10
static int totalLoggedBytes = 0;
int totalLoggedBytes = 0;
static int fileCreatedCounter = 0;
static int writeCounter = 0;
static int totalWritesCounter = 0;