diff --git a/src/main.c b/src/main.c index c7d2b58..4686c2d 100644 --- a/src/main.c +++ b/src/main.c @@ -731,7 +731,7 @@ int main(void) timer_set_oc_value(TIM1, TIM_CH_CONV, pwm); - if((mpp_state.mppMaxPWM < CONV_PWM_MAX) && (mpp_state.mppMaxPWM > CONV_PWM_MAX/10) && + if((mpp_state.mppMaxPWM < CONV_PWM_MAX) && time_in_state > 5000 && ((time_in_state % 3000) == 10)) { mpp_state.mppMaxPWM++; } @@ -740,7 +740,10 @@ int main(void) operState = Bootstrap; nextState = ConvMPP; mpp_state.testIdx = -1; - mpp_state.mppMaxPWM -= 10; + + if(mpp_state.mppMaxPWM > CONV_PWM_MAX/10) { + mpp_state.mppMaxPWM -= 10; + } } if(power_state.vout_avg > MAX_VOLTAGE) {