#include "lvgl.h" #include "img_def.h" #include "mxc_meter.h" #include "list.h" Local_UiCommon_t local_UiCommon = {0}; daily_data_t custom_data; lv_coord_t child_id = 0; daily_data_t *daily_get_UiData(void) { return &custom_data; } Local_UiCommon_t *local_get_UiCommon(void) { return &local_UiCommon; } ENUM_CONTROL_WIN_ID get_top_history_win(void) //get lastest win_id history record { // Local_UiCommon_t *local_common = local_get_UiCommon(); // for(uint8_t i=0; ipage_record[HISTORY_WIN_LEVEL-1-i].flag) // { // printf("get_top_history_win i: %d win_id %d \r\n",\ // HISTORY_WIN_LEVEL-1-i,local_common->page_record[HISTORY_WIN_LEVEL-1-i].win_id); // return local_common->page_record[HISTORY_WIN_LEVEL-1-i].win_id; // } // // } return 0; } void Set_UI_page_id(ENUM_CONTROL_WIN_ID id) { printf("Set_UI_page_id: %d \r\n",id); daily_get_UiData()->ui_page_id = id; } ENUM_CONTROL_WIN_ID Get_UI_page_id(void) { return daily_get_UiData()->ui_page_id; } lv_coord_t get_child_id() { return child_id; } void set_child_id(lv_coord_t id) { child_id = id; } void set_win_history_record(ENUM_CONTROL_WIN_ID page_id, uint32_t id) { Local_UiCommon_t *local_common = local_get_UiCommon(); for(uint8_t i=0; ipage_record[i].flag) { local_common->page_record[i].flag=true; local_common->page_record[i].win_id=page_id; local_common->page_record[i].index=id; return; } } } uint32_t get_win_history_record(ENUM_CONTROL_WIN_ID page_id) { Local_UiCommon_t *local_common = local_get_UiCommon(); uint32_t id=0xff; for(uint8_t i=0; ipage_record[HISTORY_WIN_LEVEL-1-i].flag && (uint8_t)page_id== local_common->page_record[HISTORY_WIN_LEVEL-1-i].win_id) { id=local_common->page_record[HISTORY_WIN_LEVEL-1-i].index; set_child_id(id); return id; } } set_child_id(id); return id; } bool get_win_history_record_flag(ENUM_CONTROL_WIN_ID page_id) { Local_UiCommon_t *local_common = local_get_UiCommon(); bool flag=false; uint8_t id=0; for(uint8_t i=0; ipage_record[HISTORY_WIN_LEVEL-1-i].win_id) { flag=local_common->page_record[HISTORY_WIN_LEVEL-1-i].flag; return flag; } } return flag; } void app_menu_comm_entry(lv_obj_t * obj, ENUM_CONTROL_WIN_ID win_id, bool register_encode) { Set_UI_page_id(win_id); //set win id if(get_win_history_record_flag(win_id)) { set_child_id(get_win_history_record(win_id)); //get record } else { set_win_history_record( win_id, 0); set_child_id(0); } // if(register_encode){ // do_register_obj_encode_group(obj); // }else{ // do_unregister_encode_group(); // } } //���ݳ�ʼ�� void system_date_init(void) { custom_data.softwar_host = 0; custom_data.softwar_order = 1; custom_data.save_info.language = 0; custom_data.save_info.display_uint = 0; custom_data.save_info.theme = 0; custom_data.save_info.theme_state = 1; custom_data.save_info.light_value = 3; custom_data.save_info.bt_on_off = 1; custom_data.save_info.bt_state = 0; custom_data.veer = 0; custom_data.veer_hint = 0; custom_data.lamplight = 0; custom_data.power_on_self_test =0; if(custom_data.light_perception_value == 0) custom_data.light_perception_value=44; custom_data.light = 5; custom_data.return_demo = 0; //�ٶ� ת�� custom_data.velocity = 0; custom_data.veer_velocity = 0; custom_data.grade = 0; custom_data.oil = 0; custom_data.temp = 0; custom_data.trip_mileage = 0; custom_data.total_mileage = 0; custom_data.voltage =0; custom_data.warning.engine = 0; custom_data.warning.machine_oil = 0; custom_data.warning.abs = 0; custom_data.warning.tcs = 0; custom_data.warning.fan = 0; custom_data.warning.null = 0; custom_data.now_defect_code = 0x2255; custom_data.his_defect_code = 0x400; custom_data.ttrb = 0; custom_data.ttrb_time = 10; custom_data.odo_reset = 10; custom_data.demo_position = 0; custom_data.plan = 0; custom_data.pace = 0; custom_data.upgrade = 0; } void updateCurTime() { struct tm { int tm_sec; int tm_min; int tm_hour; int tm_mday; int tm_mon; int tm_year; int tm_wday; int tm_yday; int tm_isdst; }; struct tm CurTime={0}; _getsystime(&CurTime); custom_data.time.ucDate = CurTime.tm_mday; custom_data.time.ucYear = CurTime.tm_year; custom_data.time.ucMonth = CurTime.tm_mon; custom_data.time.ucHour = CurTime.tm_hour; custom_data.time.ucMinute = CurTime.tm_min; custom_data.time.ucSecond = CurTime.tm_sec; } stTime_type * getCurrentTime(){ updateCurTime(); return &(custom_data.time); } daily_data_t* GetDailyData(void) { return &custom_data; } const char digitalArray[10] = "0123456789"; static char sCurTime[6] = {0}; extern stTime_type * getCurrentTime(); char * GetCurTimeString(){ updateCurTime(); sCurTime[0] = digitalArray[custom_data.time.ucHour/10]; sCurTime[1] = digitalArray[custom_data.time.ucHour%10]; sCurTime[2] =':'; sCurTime[3] = digitalArray[custom_data.time.ucMinute/10]; sCurTime[4] = digitalArray[custom_data.time.ucMinute%10]; return sCurTime; } #define DEF_DATE_YEAR 2024 #define DEF_DATE_MONTH 2 #define DEF_DATE_DAY 3 void InitSysDateTime(void) { GetSysDateTime(DEF_DATE_YEAR, DEF_DATE_MONTH, DEF_DATE_DAY); } void GetSysDateTime(uint16_t year, uint8_t month, uint8_t day) { custom_data.time.ucYear = year; custom_data.time.ucMonth = month; custom_data.time.ucDate= day; custom_data.time.ucHour=5; custom_data.time.ucMinute=59; custom_data.time.ucSecond=50 ; } void UpdateSysTime(void) { bool time_12_is_am=false; if(++custom_data.time.ucSecond>=60) { custom_data.time.ucSecond = 0; if(++custom_data.time.ucMinute>=60) { custom_data.time.ucMinute = 0; if(++custom_data.time.ucHour>=12) { if(time_12_is_am) { custom_data.time.ucDate++; time_12_is_am=0; }else{ time_12_is_am=1; } custom_data.time.ucHour = 0; } } } //UpdatePace(); printf("%04d-%d%d-%d%d %d%d:%d%d.%d%d\n", custom_data.time.ucYear,custom_data.time.ucMonth/10,custom_data.time.ucMonth%10, custom_data.time.ucDate/10,custom_data.time.ucDate%10, custom_data.time.ucHour/10,custom_data.time.ucHour%10, custom_data.time.ucMinute/10,custom_data.time.ucMinute%10, custom_data.time.ucSecond/10,custom_data.time.ucSecond%10); }