From: @CHENG <2393524978@qq.com> Date: Wed, 21 Feb 2024 10:25:34 +0000 (+0800) Subject: gengxin X-Git-Url: http://git.snicker.com.cn/?a=commitdiff_plain;h=761f0ffda853f12d43d2597d75b7bb29b951d96e;p=mirrors%2FASR3603_Z5.git gengxin --- diff --git a/2.sdk/new_clean.sh b/2.sdk/new_clean.sh index 5417f62d..4ea13c0a 100644 --- a/2.sdk/new_clean.sh +++ b/2.sdk/new_clean.sh @@ -1,4 +1,4 @@ -echo "new clean !!!" +echo "new the whole project" if [ ! -n "$1" ] ; then echo "Error: please add project name" @@ -12,6 +12,12 @@ else typeset -u project_name project_name=$1 + echo $project_name + + cd sdk + make clean p=$project_name + cd .. + echo $project_name > sdk/temp_project.h echo "#define MMI_BUILD_PROJECT \"$project_name\"" > sdk/build_info.h @@ -20,10 +26,6 @@ else cp project/$project_name/make_option.mk sdk/ - cd sdk - make clean p=$project_name - cd .. - rm sdk/gui/lv_watch/resource -r cp project/$project_name/* sdk/ -r diff --git a/2.sdk/sdk/gui/lv_watch/app_adaptor/app_adaptor_timing_control.c b/2.sdk/sdk/gui/lv_watch/app_adaptor/app_adaptor_timing_control.c index ba3a45da..559c6879 100644 --- a/2.sdk/sdk/gui/lv_watch/app_adaptor/app_adaptor_timing_control.c +++ b/2.sdk/sdk/gui/lv_watch/app_adaptor/app_adaptor_timing_control.c @@ -19,45 +19,174 @@ static int8_t s_timing_control_last_min = -1; #define TIMING_FIRST_TIMER_INTERVAL (3 * 1000) // ms #define TIMING_TIMER_INTERVAL (20 * 1000) // ms +#define MMI_GUI_TIMING_TASK_PRIORITY 219 +#define MMI_GUI_TIMING_TASK_STACK_SIZE (1 * 1024) +#define MMI_GUI_TIMING_MSG_QUEUE_SIZE (16) + +TASK_HANDLE * s_gui_timing_task_id = NULL; + +static void mmi_gui_timing_task_20_second_mission(void * time_param); +static void mmi_gui_timing_task_1_minute_mission(void * time_param); + + +void mmi_gui_timing_task_msg_send(MMI_GUI_TIMING_MSG_ID_E msg_id, void * msg_param) +{ + if(NULL == s_gui_timing_task_id) + { + printf("[@CHENG_DEBUG][%s][%d]: task not exist\n",__FUNCTION__,__LINE__); + if(NULL != msg_param) + Hal_Mem_Free(msg_param); + + return; + } + + if((MMI_GUI_TIMING_MSG_QUEUE_SIZE - 1) < Hal_Get_Message_Count(s_gui_timing_task_id)) + { + printf("[@CHENG_DEBUG][%s][%d]: msg queue full\n",__FUNCTION__,__LINE__); + if(NULL != msg_param) + Hal_Mem_Free(msg_param); + + return; + } + + printf("[@CHENG_DEBUG][%s][%d]: msg_id=%d\n",__FUNCTION__,__LINE__, msg_id); + mmi_gui_timing_task_msg_t * msg = Hal_Mem_Alloc(sizeof(mmi_gui_timing_task_msg_t)); + if(NULL == msg) + { + printf("[@CHENG_DEBUG][%s][%d]: memory alloc fail\n",__FUNCTION__,__LINE__); + if(NULL != msg_param) + Hal_Mem_Free(msg_param); + + return; + } + msg->msg_id = msg_id; + msg->msg_param = msg_param; + + Hal_Send_Message((TASK_ID)s_gui_timing_task_id, (void *)msg); +} + +static void mmi_gui_timing_task_handle(void * param) +{ + mmi_gui_timing_task_msg_t * msg = (mmi_gui_timing_task_msg_t *)param; + MMI_GUI_TIMING_MSG_ID_E msg_id = msg->msg_id; + void * msg_param = msg->msg_param; + + printf("[@CHENG_DEBUG][%s][%d]: msg_id=%d\n",__FUNCTION__,__LINE__, msg_id); + switch(msg_id) + { + case MMI_GUI_TIMING_MSG_20_SECOND: + mmi_gui_timing_task_20_second_mission(msg_param); + break; + + case MMI_GUI_TIMING_MSG_1_MINUTE: + mmi_gui_timing_task_1_minute_mission(msg_param); + break; + + default: + break; + } +} + +static void mmi_gui_timing_task_entry(void * para) +{ + while(NULL == s_gui_timing_task_id) + { + uos_sleep(10); + } + + while(1) + { + mmi_gui_timing_task_msg_t * msg = (mmi_gui_timing_task_msg_t *)Hal_Receive_Message((TASK_ID)s_gui_timing_task_id, TRUE); + + mmi_gui_timing_task_handle(msg); + + Hal_Mem_Free(msg->msg_param); + Hal_Mem_Free(msg); + } +} + +void mmi_gui_timing_task_create(void) +{ + s_gui_timing_task_id = uos_create_task(mmi_gui_timing_task_entry, + NULL, + MMI_GUI_TIMING_MSG_QUEUE_SIZE, + MMI_GUI_TIMING_TASK_STACK_SIZE, + MMI_GUI_TIMING_TASK_PRIORITY, + "mmi_gui_timing_task"); + + printf("[@CHENG_DEBUG][%s][%d]: task_id=0x%x\n",__FUNCTION__,__LINE__, s_gui_timing_task_id); +} + +static void mmi_gui_timing_task_20_second_mission(void * time_param) +{ + hal_rtc_t cur_time = {0}; + + Hal_Mem_Copy(&cur_time, time_param, sizeof(hal_rtc_t)); + + printf("[@CHENG_DEBUG][%s][%d]: \n", __FUNCTION__, __LINE__); + + // pedometer + mmi_pedometer_steps_mission(cur_time); + + + + +} + +static void mmi_gui_timing_task_1_minute_mission(void * time_param) +{ + hal_rtc_t cur_time = {0}; + + Hal_Mem_Copy(&cur_time, time_param, sizeof(hal_rtc_t)); + + printf("[@CHENG_DEBUG][%s][%d]: \n", __FUNCTION__, __LINE__); + + // check remind + mmi_remind_mission_check(cur_time); + + // check sleep time +#ifdef __MMI_SLEEP_FUNCTION_SUPPORT__ + mmi_watch_sleep_time_mission_check(); +#endif + + // check tcms +#ifdef __MMI_CUSTOM_HENGAI_TCMS__ + mmi_hengai_tcms_mission_check(); +#endif + + + + +} + static void timing_timer_callback(uint32_t param) { hal_rtc_t cur_time = {0}; Hal_Rtc_Gettime(&cur_time); - printf("[@CHENG_DEBUG][%s][%d]: %d,%d,%d\n", __FUNCTION__, __LINE__, cur_time.tm_hour, cur_time.tm_min, cur_time.tm_sec); + printf("[@CHENG_DEBUG][%s][%d]: %02d:%02d:%02d\n", __FUNCTION__, __LINE__, cur_time.tm_hour, cur_time.tm_min, cur_time.tm_sec); uos_timer_stop(s_timing_control_timer); uos_timer_start(s_timing_control_timer, MS_TO_TICKS(TIMING_TIMER_INTERVAL), 0, timing_timer_callback, NULL); - // pedometer - mmi_pedometer_steps_mission(cur_time); + hal_rtc_t * p_cur_time_20 = Hal_Mem_Alloc(sizeof(hal_rtc_t)); + Hal_Mem_Copy(p_cur_time_20, &cur_time, sizeof(hal_rtc_t)); + mmi_gui_timing_task_msg_send(MMI_GUI_TIMING_MSG_20_SECOND, p_cur_time_20); - // every minuter check mission if(cur_time.tm_min != s_timing_control_last_min) { - printf("[@CHENG_DEBUG][%s][%d]: \n", __FUNCTION__, __LINE__); + printf("[@CHENG_DEBUG][%s][%d]: %d\n", __FUNCTION__, __LINE__, s_timing_control_last_min); s_timing_control_last_min = cur_time.tm_min; - - // check remind - mmi_remind_mission_check(cur_time); - - // check sleep time - #ifdef __MMI_SLEEP_FUNCTION_SUPPORT__ - mmi_watch_sleep_time_mission_check(); - #endif - - // check tcms - #ifdef __MMI_CUSTOM_HENGAI_TCMS__ - mmi_hengai_tcms_mission_check(); - #endif - - - + hal_rtc_t * p_cur_time_60 = Hal_Mem_Alloc(sizeof(hal_rtc_t)); + Hal_Mem_Copy(p_cur_time_60, &cur_time, sizeof(hal_rtc_t)); + mmi_gui_timing_task_msg_send(MMI_GUI_TIMING_MSG_1_MINUTE, p_cur_time_60); } } void app_adaptor_timing_control_init(void) { + mmi_gui_timing_task_create(); + uos_timer_create(&s_timing_control_timer); uos_timer_start(s_timing_control_timer, MS_TO_TICKS(TIMING_FIRST_TIMER_INTERVAL), 0, timing_timer_callback, NULL); } diff --git a/2.sdk/sdk/gui/lv_watch/app_adaptor/app_adaptor_timing_control.h b/2.sdk/sdk/gui/lv_watch/app_adaptor/app_adaptor_timing_control.h index 5774e6c5..5f6ac3f4 100644 --- a/2.sdk/sdk/gui/lv_watch/app_adaptor/app_adaptor_timing_control.h +++ b/2.sdk/sdk/gui/lv_watch/app_adaptor/app_adaptor_timing_control.h @@ -12,7 +12,30 @@ extern "C" { /********************** * GLOBAL PROTOTYPES ***********************/ + +#if 1 // def __MMI_ZHSX_SUPPORT__ +typedef enum +{ + MMI_GUI_TIMING_MSG_ID_START, + + MMI_GUI_TIMING_MSG_5_SECOND, + MMI_GUI_TIMING_MSG_20_SECOND, + MMI_GUI_TIMING_MSG_1_MINUTE, + MMI_GUI_TIMING_MSG_2_MINUTE, + + MMI_GUI_TIMING_MSG_ID_END +}MMI_GUI_TIMING_MSG_ID_E; + +typedef struct +{ + uint16_t msg_id; + void * msg_param; +}mmi_gui_timing_task_msg_t; + +#else void timing_upload_set_flag(void); +#endif + void app_adaptor_timing_control_init(void);