#include #include #include #include #include "system.h" #include "pm.h" extern void app_init(); extern enum app_return app_mainloop(); struct cRGB led[STRIPLEN]; void display_update() { ws2812_setleds(led, STRIPLEN); } void display_clear() { memset(led, 0, STRIPLEN * 3); } void system_init() { pm_disable_periphery(); button_init(); TIFR = 0xFF; // Clear all interrupt flags pm_init(); pm_axl_on(); _delay_ms(50); mma8653_init(); while (HAL_ASSERTED_N(BUTTON_N)) // Prevent boot while button is pressed _delay_ms(25); timers_init(); } enum BOOT_COLOR {RED, BLUE, GREEN}; void boot_animation(enum BOOT_COLOR color_offset) { _delay_ms(10); display_clear(); for(int i = 0; i