+ISR(ADC_vect)
+{
+ adcval = ADCW;
+ ADCSRA &= ~_BV(ADIE); /* disable ADC interrupt */
+ intflags.adc_int = 1;
+}
+
+ISR(TIMER1_OVF_vect)
+{
+ TIMSK &= ~_BV(TOIE1);
+ intflags.pwm_int = 1;
+}
+
+ISR(TIMER0_COMPA_vect)
+{
+ intflags.tmr_int = 1;
+}
+
+struct {
+ unsigned char intensity :2;
+ unsigned char length :6;
+} pattern[] = { {1, 2}, {0, 4}, { 1, 2 }, {0, 15}, {0, 0} };
+
+static void inline init_pwm()
+{