X-Git-Url: https://www.fi.muni.cz/~kas/git//home/kas/public_html/git/?p=bike-lights.git;a=blobdiff_plain;f=firmware%2Fpwm.c;fp=firmware%2Fpwm.c;h=4eb2f83183a1ee411176b58815180afe12d786d0;hp=02992e9a012dcdd6a4451aaf0dbe3e58c1186571;hb=50b66ac17ddb7c5cf2105959905bdb3ca183a978;hpb=990989cb746d45fbd2ebf634c6e7c19ce0cfe2df diff --git a/firmware/pwm.c b/firmware/pwm.c index 02992e9..4eb2f83 100644 --- a/firmware/pwm.c +++ b/firmware/pwm.c @@ -36,15 +36,6 @@ void init_pwm() PORTB &= ~(_BV( PB1 ) | _BV( PB3 ) | _BV( PB5 )); // set to zero } -void pwm_on(unsigned char n) -{ - switch (n) { - case 0: DDRB |= _BV(PB1); break; - case 1: DDRB |= _BV(PB3); break; - case 2: DDRB |= _BV(PB5); break; - } -} - void pwm_off(unsigned char n) { switch (n) { @@ -58,8 +49,13 @@ void pwm_set(unsigned char n, unsigned char stride) { TC1H = 0x00; switch (n) { - case 0: OCR1A = stride; break; - case 1: OCR1B = stride; break; + case 0: + OCR1A = stride; + DDRB |= _BV(PB1); + break; + case 1: OCR1B = stride; + DDRB |= _BV(PB3); + break; case 2: { uint16_t s16 = PWM_MAX - (uint16_t)stride; volatile unsigned char hi, lo; @@ -67,6 +63,7 @@ void pwm_set(unsigned char n, unsigned char stride) lo = s16 & 0xFF; TC1H = hi; OCR1D = lo; + DDRB |= _BV(PB5); } break; }