|
|
@ -331,9 +331,9 @@ bool is_breathing(void) { return !!(TIMSKx & _BV(TOIEx)); } |
|
|
|
do { \ |
|
|
|
breathing_counter = 0; \ |
|
|
|
} while (0) |
|
|
|
# define breathing_max() \ |
|
|
|
do { \ |
|
|
|
breathing_counter = breathing_period * breathing_ISR_frequency / 2; \ |
|
|
|
# define breathing_max() \ |
|
|
|
do { \ |
|
|
|
breathing_counter = get_breathing_period() * breathing_ISR_frequency / 2; \ |
|
|
|
} while (0) |
|
|
|
|
|
|
|
void breathing_enable(void) { |
|
|
@ -390,9 +390,9 @@ ISR(TIMERx_OVF_vect) |
|
|
|
} else { |
|
|
|
return; |
|
|
|
} |
|
|
|
uint16_t interval = (uint16_t)breathing_period * breathing_ISR_frequency / BREATHING_STEPS; |
|
|
|
uint16_t interval = (uint16_t)get_breathing_period() * breathing_ISR_frequency / BREATHING_STEPS; |
|
|
|
// resetting after one period to prevent ugly reset at overflow. |
|
|
|
breathing_counter = (breathing_counter + 1) % (breathing_period * breathing_ISR_frequency); |
|
|
|
breathing_counter = (breathing_counter + 1) % (get_breathing_period() * breathing_ISR_frequency); |
|
|
|
uint8_t index = breathing_counter / interval % BREATHING_STEPS; |
|
|
|
|
|
|
|
if (((breathing_halt == BREATHING_HALT_ON) && (index == BREATHING_STEPS / 2)) || ((breathing_halt == BREATHING_HALT_OFF) && (index == BREATHING_STEPS - 1))) { |
|
|
@ -454,4 +454,4 @@ void backlight_init_ports(void) { |
|
|
|
breathing_enable(); |
|
|
|
} |
|
|
|
#endif |
|
|
|
} |
|
|
|
} |