 
 void setup()
 { 
+    uint16_t timer_cal;
 
     TCNT1 = TIMER1_INIT;
     TIMSK1 |= (1<<TOIE1);
+    interrupts();
 
     g_pixels.begin();
     startup_animation();

    Serial.println("led-board hello!");
    
    g_node_id = EEPROM.read(id_address);
}

void loop()


                break;
            }
        case PACKET_CALIBRATE:
            {
                uint32_t duration = data[0];
                color_t col;

                col.c[1] = col.c[2] = 0;
                col.c[0] = 255;

                // clear out any stray characters
                while(Serial.available() > 0) 
                    Serial.read();

                show_color(&col);

                // Wait for the next character, which starts the calibration interval for duration seconds
                Serial.read();
                noInterrupts();
                TCNT1 = 0;
                g_time = 0;
                interrupts();

                // Wait for the next character, which ends the calibration
                Serial.read();

                // Now calculate our calibration routine
                noInterrupts();
                TCNT1 = g_timer_init = 2000 - ((g_time * 1000 + TCNT1) / duration);
                interrupts();
                EEPROM.put(calibration_address, g_timer_init);

                col.c[0] = col.c[1] = 0;
                col.c[2] = 255;
                show_color(&col);
            }
    }
}

