static void scr_changetime_handle_button_back(void) { if (change_mode == MODE_HOUR) { scr_mngr_show_screen(SCR_SETTINGS); } else if (change_mode == MODE_MINUTES) { change_mode = MODE_HOUR; mlcd_fb_clear(); scr_changetime_draw_all(); mlcd_fb_flush(); } }
static void init_lcd_with_splash_screen() { mlcd_init(); mlcd_power_on(); // make sure lcd is working nrf_delay_ms(10); mlcd_fb_draw_with_func(splashscreen_draw_func, 0, 0, MLCD_XRES, MLCD_YRES); mlcd_fb_flush(); mlcd_display_on(); }
static void scr_changetime_handle_button_down(void) { if(change_mode == MODE_HOUR) { if(--hour < 0) { hour = 23; } scr_changetime_draw_hour(); } if(change_mode == MODE_MINUTES) { if(--minutes < 0) { minutes = 59; } scr_changetime_draw_minutes(); } mlcd_fb_flush(); }
static void scr_changetime_handle_button_up(void) { if(change_mode == MODE_HOUR) { if(++hour > 23) { hour = 0; } scr_changetime_draw_hour(); } if(change_mode == MODE_MINUTES) { if(++minutes > 59) { minutes = 0; } scr_changetime_draw_minutes(); } mlcd_fb_flush(); }
static void scr_changetime_handle_button_select(void) { if (change_mode == MODE_HOUR) { change_mode = MODE_MINUTES; mlcd_fb_clear(); scr_changetime_draw_all(); mlcd_fb_flush(); } else if (change_mode == MODE_MINUTES) { time_t t; time(&t); struct tm* time_struct = localtime(&t); time_struct->tm_hour = hour; time_struct->tm_min = minutes; time_struct->tm_sec = 0; rtc_set_current_time(mktime(time_struct)); scr_mngr_show_screen(SCR_SETTINGS); } }