From f3f9223048eee71701dbe197b53f5da8f9dbc723 Mon Sep 17 00:00:00 2001 From: rusefi Date: Sat, 3 Nov 2018 13:45:36 -0400 Subject: [PATCH] CJ125 unit-tests coverage #617 --- .../controllers/system/pwm_generator_logic.cpp | 15 +++++++++++++++ firmware/hw_layer/pwm_generator.cpp | 14 -------------- firmware/hw_layer/sensors/CJ125.cpp | 5 +++++ 3 files changed, 20 insertions(+), 14 deletions(-) diff --git a/firmware/controllers/system/pwm_generator_logic.cpp b/firmware/controllers/system/pwm_generator_logic.cpp index 4a464e41f0..6616e7babd 100644 --- a/firmware/controllers/system/pwm_generator_logic.cpp +++ b/firmware/controllers/system/pwm_generator_logic.cpp @@ -253,3 +253,18 @@ void startSimplePwmExt(PwmConfig *state, const char *msg, brain_pin_e brainPin, startSimplePwm(state, msg, output, frequency, dutyCycle, stateChangeCallback); } +/** + * This method controls the actual hardware pins + * + * This method takes ~350 ticks. + */ +void applyPinState(PwmConfig *state, int stateIndex) { + efiAssertVoid(CUSTOM_ERR_6663, stateIndex < PWM_PHASE_MAX_COUNT, "invalid stateIndex"); + efiAssertVoid(CUSTOM_ERR_6664, state->multiWave.waveCount <= PWM_PHASE_MAX_WAVE_PER_PWM, "invalid waveCount"); + for (int waveIndex = 0; waveIndex < state->multiWave.waveCount; waveIndex++) { + OutputPin *output = state->outputPins[waveIndex]; + int value = state->multiWave.waves[waveIndex].pinStates[stateIndex]; + output->setValue(value); + } +} + diff --git a/firmware/hw_layer/pwm_generator.cpp b/firmware/hw_layer/pwm_generator.cpp index 0cde941615..e15eb02c76 100644 --- a/firmware/hw_layer/pwm_generator.cpp +++ b/firmware/hw_layer/pwm_generator.cpp @@ -17,20 +17,6 @@ #include "pin_repository.h" #include "datalogging.h" -/** - * This method controls the actual hardware pins - * - * This method takes ~350 ticks. - */ -void applyPinState(PwmConfig *state, int stateIndex) { - efiAssertVoid(CUSTOM_ERR_6663, stateIndex < PWM_PHASE_MAX_COUNT, "invalid stateIndex"); - efiAssertVoid(CUSTOM_ERR_6664, state->multiWave.waveCount <= PWM_PHASE_MAX_WAVE_PER_PWM, "invalid waveCount"); - for (int waveIndex = 0; waveIndex < state->multiWave.waveCount; waveIndex++) { - OutputPin *output = state->outputPins[waveIndex]; - int value = state->multiWave.waves[waveIndex].pinStates[stateIndex]; - output->setValue(value); - } -} void initPwmGenerator(void) { } diff --git a/firmware/hw_layer/sensors/CJ125.cpp b/firmware/hw_layer/sensors/CJ125.cpp index 37a3fdc721..a3224930e9 100644 --- a/firmware/hw_layer/sensors/CJ125.cpp +++ b/firmware/hw_layer/sensors/CJ125.cpp @@ -304,8 +304,13 @@ static void cjStart(void) { cjIdentify(); // Load calibration values +#if EFI_PROD_CODE uint32_t storedLambda = backupRamLoad(BACKUP_CJ125_CALIBRATION_LAMBDA); uint32_t storedHeater = backupRamLoad(BACKUP_CJ125_CALIBRATION_HEATER); +#else + uint32_t storedLambda = 0; + uint32_t storedHeater = 0; +#endif // if no calibration, try to calibrate now and store new values if (storedLambda == 0 || storedHeater == 0) { cjCalibrate();