diff --git a/Firmware/timer02.c b/Firmware/timer02.c index 8309f9401..113c72463 100644 --- a/Firmware/timer02.c +++ b/Firmware/timer02.c @@ -11,19 +11,11 @@ uint8_t timer02_pwm0 = 0; + void timer02_set_pwm0(uint8_t pwm0) { - if (timer02_pwm0 == pwm0) return; - if (pwm0) - { - TCCR0A |= (2 << COM0B0); - OCR0B = pwm0 - 1; - } - else - { - TCCR0A &= ~(2 << COM0B0); - OCR0B = 0; - } + TCCR0A |= (2 << COM0B0); //switch OC0B to OCR mode + OCR0B = (uint16_t)OCR0A * pwm0 / 255; timer02_pwm0 = pwm0; } @@ -39,13 +31,12 @@ void timer02_init(void) TIMSK0 &= ~(1<