Anyone have any idea why? the CPU is overclocked to 200mhz and i have it compiled for the fastest mode.
Here's the relevant snippits of my code. I've tried a few things like using uint32_t instead of long to record the millis in case it was an issue of memory alignment
Code: Select all
for (;;) {
spin_crystal((uint32_t)millis());
}
Code: Select all
void spin_crystal(uint32_t global_millis) {
if (crystal_millis == 0) {
crystal_millis = global_millis;
}
if ((global_millis-crystal_millis) > 150) {
crystal_millis = global_millis;
current_crystal_color = (current_crystal_color + 1) % 3;
for (int i = CRYSTAL_OFFSET; i < MOON_OFFSET; i++) {
strip1.setPixelColor(i, crystal_colors[(current_crystal_color+i)%3]);
}
strip1.show();
}