void run_tasks() { if(task_flags & task_15ms_flag) { Page_Event_Handler(); led_state_machine(); run_oven_state_machine(); task_flags &=~task_15ms_flag; } if(task_flags & task_32ms_flag) { task_flags &=~task_32ms_flag; update_temp(); } if(task_flags & task_62ms_flag) { if(Get_LED_Timer_Status()) { GLED_Sequence(); RLED_Sequence(); BLED_Sequence(); task_flags &=~task_62ms_flag; } } if(task_flags & task_250ms_flag) { task_flags &=~task_250ms_flag; } if(task_flags & task_500ms_flag) { setColor16(COLOR_16_WHITE); get_system_time_string(text_buffer); drawString(10,160,text_buffer); print_oven_data(); if(task_flags & graph_update) { update_graph(); task_flags &= ~graph_update; } task_flags &=~task_500ms_flag; //RLED_OUT ^= RLED; } }
void loop() { led_state_machine(); if (led_is_ready()) { #if DEBUG Serial.print("In State: "); Serial.println(state, DEC); #endif switch(state) { case 0: display_leds("111111" "000000" "000000" "000000" "000000" "000000" "000000" "000000" "000000" "000000"); break; case 1: display_leds("100000" "100000" "010000" "010000" "001000" "001000" "000100" "000100" "000010" "000010"); break; case 2: display_leds("001000" "000100" "000100" "000010" "000010" "100000" "100000" "010000" "010000" "001000"); break; case 3: display_leds("111111" "111111" "111111" "111111" "111111" "111111" "111111" "111111" "111111" "111111"); break; default: state = 0; break; } if ((millis() - last_change) > 5000) { state++; last_change = millis(); } } }