1# Sleep management 2 3The MCU can go to sleep when no user input happens. In this case, the main `while(1)` should look like this: 4 5```c 6while(1) { 7 /*Normal operation (no sleep) in < 1 sec inactivity*/ 8 if(lv_disp_get_inactive_time(NULL) < 1000) { 9 lv_task_handler(); 10 } 11 /*Sleep after 1 sec inactivity*/ 12 else { 13 timer_stop(); /*Stop the timer where lv_tick_inc() is called*/ 14 sleep(); /*Sleep the MCU*/ 15 } 16 my_delay_ms(5); 17} 18``` 19 20You should also add the following lines to your input device read function to signal a wake-up (press, touch or click etc.) has happened: 21```c 22lv_tick_inc(LV_DISP_DEF_REFR_PERIOD); /*Force task execution on wake-up*/ 23timer_start(); /*Restart the timer where lv_tick_inc() is called*/ 24lv_task_handler(); /*Call `lv_task_handler()` manually to process the wake-up event*/ 25``` 26 27In addition to `lv_disp_get_inactive_time()` you can check `lv_anim_count_running()` to see if all animations have finished. 28