-
-void pwm_set(unsigned char n, uint16_t stride)
-{
- if (stride > PWM_MAX)
- stride = PWM_MAX;
-
- ATOMIC_BLOCK(ATOMIC_RESTORESTATE) {
- pwm[n] = stride;
-
- pwm_update_hw(n);
-
- switch(n) {
- case 0: DDRB |= _BV(PB1); break;
- case 1: DDRB |= _BV(PB4); break;
- }
- }
-}
-
-void pwm_timer()
-{
- unsigned char i;
-
- if (++step >= (1 << PWM_STEP_SHIFT))
- step = 0;
-
- for (i = 0; i < N_PWMLEDS; i++)
- if (pwm[i])
- pwm_update_hw(i);
-}
-