void do_tasks(TaskManager* task_manager) { TaskId done = task_manager->begin_add_empty(); TaskId animation = task_manager->add(animation_task()); TaskId gui = task_manager->add(gui_task()); TaskId sound = task_manager->add(sound_update_task()); task_manager->add_child(done, sound); /*gui_scene*/ { TaskId gui_scene = task_manager->begin_add_empty(); /*scene_graph*/ { TaskId scene_graph = task_manager->add(scene_graph_task(), animation); task_manager->add_child(gui_scene, scene_graph); } /*scene_graph*/ task_manager->add_child(gui_scene, gui); task_manager->finish_add(gui_scene); /*render*/ { TaskId render = task_manager->add(render_task(), gui_scene); task_manager->add_child(done, render); } /*render*/ } /*gui_scene*/ task_manager->finish_add(done); task_manager->wait(done); }
int main(void) { LEDS_init(); LEDon(LED_BLUE); ws2811_init(); clearAllLED(); //xTaskCreate(animation_task, (signed char*)"animation", 16, 0, 1, 0); //vTaskStartScheduler(); animation_task((void *) 0); return -1; }