From 9f241454c67cc6bd25ee0cbdbe8d239870a26e4d Mon Sep 17 00:00:00 2001 From: anschrammh Date: Thu, 13 Apr 2023 13:40:00 +0200 Subject: [PATCH] Finally reworked the way date and time are set so that they have the expected value and behaviour --- src/W800_SDK_v1.00.10/app/gfx/settings_screen.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/src/W800_SDK_v1.00.10/app/gfx/settings_screen.c b/src/W800_SDK_v1.00.10/app/gfx/settings_screen.c index 9f3b398..7cfb955 100644 --- a/src/W800_SDK_v1.00.10/app/gfx/settings_screen.c +++ b/src/W800_SDK_v1.00.10/app/gfx/settings_screen.c @@ -112,12 +112,11 @@ static void time_roller_cb(lv_event_t *e) } else if(roller == settingsScreen->month_roller) { - index+=1; settingsScreen->settingsScreenAPIInterface.setTimeSettingsCb(&NOT_SELECTED, &NOT_SELECTED, &NOT_SELECTED, &NOT_SELECTED, &index, &NOT_SELECTED, SETTING_MODE_SET); } else { - index+=22; // Year is starting from 2000 + index+=100+22; // Year is starting from 1900 settingsScreen->settingsScreenAPIInterface.setTimeSettingsCb(&NOT_SELECTED, &NOT_SELECTED, &NOT_SELECTED, &NOT_SELECTED, &NOT_SELECTED, &index, SETTING_MODE_SET); } } @@ -356,13 +355,13 @@ static void load_time_and_date_side_screen(SettingsScreen_t *settingsScreen) lv_roller_set_options(settingsScreen->month_roller, month_options, LV_ROLLER_MODE_NORMAL); lv_obj_align_to(settingsScreen->month_roller, settingsScreen->day_roller, LV_ALIGN_OUT_RIGHT_TOP, 5, 0); lv_roller_set_visible_row_count(settingsScreen->month_roller, 2); - lv_roller_set_selected(settingsScreen->month_roller, month-1, LV_ANIM_OFF); + lv_roller_set_selected(settingsScreen->month_roller, month, LV_ANIM_OFF); lv_obj_add_event_cb(settingsScreen->month_roller, &(time_roller_cb), LV_EVENT_RELEASED, settingsScreen); lv_roller_set_options(settingsScreen->year_roller, year_options, LV_ROLLER_MODE_NORMAL); lv_obj_align_to(settingsScreen->year_roller, settingsScreen->month_roller, LV_ALIGN_OUT_RIGHT_TOP, 5, 0); lv_roller_set_visible_row_count(settingsScreen->year_roller, 2); - lv_roller_set_selected(settingsScreen->year_roller, year-22, LV_ANIM_OFF); + lv_roller_set_selected(settingsScreen->year_roller, year-100-22, LV_ANIM_OFF); lv_obj_add_event_cb(settingsScreen->year_roller, &(time_roller_cb), LV_EVENT_RELEASED, settingsScreen); // We set the state of the rollers only here, because they are not created yet earlier. _enable_time_and_date_rollers(!auto_set_enable, settingsScreen); @@ -774,8 +773,8 @@ static void _set_rtc_time_to_label(SettingsScreen_t * const settingsScreen) settingsScreen->settingsScreenAPIInterface.setTimeSettingsCb(&hour, &minute, &second, &day, &month, &year, SETTING_MODE_GET); sprintf(settingsScreen->currentTime.current_time_text, "%u:%u:%u %s%u/%s%u/%u", hour, minute, second, day < 10 ? "0":"", day, - month < 10 ? "0":"", month, - year+2000); + month + 1 < 10 ? "0":"", month, + year+1900); lv_label_set_text_static(settingsScreen->currentTime.current_time_label, settingsScreen->currentTime.current_time_text); }