优化设备注网后的链接后台速度
author@CHENG <2393524978@qq.com>
Fri, 13 Dec 2024 09:12:27 +0000 (17:12 +0800)
committer@CHENG <2393524978@qq.com>
Fri, 13 Dec 2024 09:12:27 +0000 (17:12 +0800)
12 files changed:
2.sdk/sdk/gui/lv_watch/app_adaptor/app_adaptor_timing_control.h
2.sdk/sdk/gui/lv_watch/lv_apps/custom_function/heng_ai_blood_pressure.h
2.sdk/sdk/gui/lv_watch/lv_apps/custom_function/heng_ai_http_protocol.c
2.sdk/sdk/gui/lv_watch/lv_apps/custom_function/heng_ai_http_protocol.h
2.sdk/sdk/gui/lv_watch/lv_apps/health_measure/health_measure.c
2.sdk/sdk/gui/lv_watch/lv_apps/health_measure/health_measure.h
2.sdk/sdk/gui/lv_watch/modem/mmi_modem_adaptor_main.h
2.sdk/sdk/gui/lv_watch/modem/mmi_modem_adaptor_nw.c
2.sdk/sdk/gui/lv_watch/modem/mmi_modem_tcp/mmi_modem_tcp_net.c
2.sdk/sdk/gui/lv_watch/modem/mmi_modem_tcp/mmi_modem_tcp_net.h
2.sdk/sdk/gui/lv_watch/modem/mmi_modem_tcp/mmi_modem_tcp_task.c
2.sdk/sdk/gui/lv_watch/modem/mmi_modem_tcp/mmi_modem_tcp_task.h

index 2b359af..382bf5f 100644 (file)
@@ -16,7 +16,7 @@ extern "C" {
 #if 1 // def __MMI_ZHSX_SUPPORT__
 
 
-#define __MMI_TIMING_DEBUG__
+//#define __MMI_TIMING_DEBUG__
 #ifdef __MMI_TIMING_DEBUG__
 #define TIMING_DEBUG_PRINTF(fmt, ...)  printf("[TIMING]"fmt, ##__VA_ARGS__)
 #else
index a4e58f8..54f0cd8 100644 (file)
@@ -34,7 +34,7 @@ char * __hengai_data_send_end_time(void);
 
 #define MMI_BP_MEASURE_TOTAL_COUNT     (50) // times
 
-#define MMI_BP_WAIT_RESULT_TIMEOUT     (1000 * 10) // ms
+#define MMI_BP_WAIT_RESULT_TIMEOUT     (1000 * 15) // (1000 * 10) // ms
 
 #define MMI_HENGAI_BP_RAW_DATA_SAMPLE_RATE     (81)
 
index b8db923..e412d85 100644 (file)
@@ -13,6 +13,9 @@
 #ifdef __MMI_CUSTOM_HENGAI_HEALTH_UPLOAD_USE_TCP__
 
 static HENGAI_HEALTH_SEND_TYPE_ENUM s_hengai_bp_send_code = HENGAI_HEALTH_SEND_NONE; //
+static void * s_delay_timer_id = NULL;
+
+static void mmi_delay_timer_id_delete(void);
 
 #ifdef __PPG_DATA_TEST_SEND__
 void __hengai_tcp_bp_measure_raw_data_send(void)
@@ -1197,8 +1200,10 @@ void mmi_hengai_tcp_health_lib_activation_check_action(void)
        }
        else
        {
-               HENGAI_HEALTH_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: \n", __FUNCTION__, __LINE__);
-               HENGAI_HEALTH_UART_LOG("[@CHENG_DEBUG][%s][%d]: \n", __FUNCTION__, __LINE__);
+               HENGAI_HEALTH_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: activated\n", __FUNCTION__, __LINE__);
+               HENGAI_HEALTH_UART_LOG("[@CHENG_DEBUG][%s][%d]: activated\n", __FUNCTION__, __LINE__);
+
+               mmi_delay_timer_id_delete();
        }
 }
 
@@ -1304,20 +1309,23 @@ void mmi_hengai_tcp_algorithm_interface_login_action(void)
        }
        else
        {
-               mmi_hengai_tcp_health_lib_activation_check_action();
+               mmi_hengai_tcp_algorithm_active_msg_send();
        }
 }
 
-static void * s_delay_timer_id = NULL;
-static void mmi_hengai_tcp_algorithm_login_cb(uint32_t para)
+
+static void mmi_delay_timer_id_delete(void)
 {
        if(NULL != s_delay_timer_id)
        {
                uos_timer_stop(s_delay_timer_id);
-               //uos_timer_delete(s_delay_timer_id);
-               //s_delay_timer_id = NULL;
+               uos_timer_delete(s_delay_timer_id);
+               s_delay_timer_id = NULL;
        }
-       
+}
+
+static void mmi_hengai_tcp_algorithm_login_cb(uint32_t para)
+{
        mmi_hengai_tcp_algorithm_login_msg_send();
 }
 
@@ -1329,25 +1337,27 @@ void mmi_hengai_tcp_algorithm_login_action(void)
        {
                uos_timer_create(&s_delay_timer_id);
        }
-       uos_timer_stop(s_delay_timer_id);
-       uos_timer_start(s_delay_timer_id, MS_TO_TICKS(1000*10), 0, mmi_hengai_tcp_algorithm_login_cb, NULL);
+       else
+       {
+               uos_timer_stop(s_delay_timer_id);
+       }
+       //uos_timer_start(s_delay_timer_id, MS_TO_TICKS(1000*10), 0, mmi_hengai_tcp_algorithm_login_cb, NULL);
+       uos_timer_start(s_delay_timer_id, MS_TO_TICKS(1000*10), MS_TO_TICKS(1000*10), mmi_hengai_tcp_algorithm_login_cb, NULL);
 }
 
 void mmi_hengai_tcp_algorithm_login_msg_action(void)
 {
-       if(NULL != s_delay_timer_id)
-       {
-               //uos_timer_stop(s_delay_timer_id);
-               uos_timer_delete(s_delay_timer_id);
-               s_delay_timer_id = NULL;
-       }
-
 #ifdef __MMI_CUSTOM_HENGAI_SLEEP_K18__
        mmi_hengai_health_sleep_activation_check();
 #endif
        mmi_hengai_tcp_algorithm_interface_login_action();
 }
 
+void mmi_hengai_tcp_algorithm_active_msg_action(void)
+{
+       mmi_hengai_tcp_health_lib_activation_check_action();            
+}
+
 bool mmi_hengai_health_data_parse(unsigned char * next_buff, unsigned int next_buff_len)
 {
        if(NULL == next_buff || 0 == next_buff_len)
@@ -1403,8 +1413,7 @@ bool mmi_hengai_health_data_parse(unsigned char * next_buff, unsigned int next_b
                                        char * token = cJSON_GetStringValue(cJSON_GetObjectItem(json_data, "token"));
                                        
                                        mmi_hengai_health_token_set(token);
-
-                                       mmi_hengai_tcp_health_lib_activation_check_action();
+                                       mmi_hengai_tcp_algorithm_active_msg_send();
                                }
                                break;
                                
@@ -2471,6 +2480,9 @@ void mmi_hengai_health_lib_act_code_set(char * act_code)
        #else
                mmi_hengai_health_lib_activation_feedback();
        #endif
+
+               //
+               mmi_delay_timer_id_delete();
        }
 
 #ifdef __MMI_CUSTOM_HENGAI_SLEEP_K18__
index 8a5d228..f37d81c 100644 (file)
@@ -75,6 +75,7 @@ void mmi_hengai_tcp_bp_calibrate_raw_data_send(uint8_t calibrate_times, uint16_t
 //void mmi_hengai_tcp_algorithm_interface_login_action(void);
 void mmi_hengai_tcp_algorithm_login_action(void);
 void mmi_hengai_tcp_algorithm_login_msg_action(void);
+void mmi_hengai_tcp_algorithm_active_msg_action(void);
 bool mmi_hengai_health_data_parse(unsigned char * next_buff, unsigned int next_buff_len);
 
 #else
index c4a69b2..858c1e9 100644 (file)
@@ -5,7 +5,7 @@
 
 #ifdef __MMI_ZHSX_SUPPORT_HEALTH_SENSOR__
 
-
+static TASK_HANDLE * s_health_measure_task_id = NULL;
 static nv_watch_health_measure_timed_t s_health_measure_timed_data = {0};
 static lv_ll_t s_health_measure_timed_ll = {0};
 static lv_health_measure_run_t s_health_measure_run_data = {0};
@@ -1143,18 +1143,15 @@ void mmi_hengai_tcp_algorithm_login_msg_send(void)
 {
        mmi_health_measure_task_msg_send(MMI_HEALTH_HENGAI_ALGORITHM_LOGIN, NULL);
 }
+
+void mmi_hengai_tcp_algorithm_active_msg_send(void)
+{
+       mmi_health_measure_task_msg_send(MMI_HEALTH_HENGAI_ALGORITHM_ACTIVE, NULL);
+}
 #endif
 #endif
 
 
-
-#define MMI_HEALTH_MEASURE_TASK_PRIORITY 221
-#define MMI_HEALTH_MEASURE_TASK_STACK_SIZE (8 * 1024)
-#define MMI_HEALTH_MEASURE_MSG_QUEUE_SIZE (16)
-
-TASK_HANDLE * s_health_measure_task_id = NULL;
-
-
 void mmi_health_measure_task_msg_send(MMI_HEALTH_MEASURE_MSG_ID_E msg_id, void * param)
 {
        if(NULL == s_health_measure_task_id)
@@ -1249,6 +1246,10 @@ static void mmi_health_measure_task_handle(void * param)
                case MMI_HEALTH_HENGAI_ALGORITHM_LOGIN:
                        mmi_hengai_tcp_algorithm_login_msg_action();
                        break;
+
+               case MMI_HEALTH_HENGAI_ALGORITHM_ACTIVE:
+                       mmi_hengai_tcp_algorithm_active_msg_action();
+                       break;
        #endif
        #endif
 
index 9bba5ad..078f46a 100644 (file)
@@ -28,6 +28,10 @@ extern "C" {
 
 //#define __HEALTH_MEASURE_FAKE_DATA__
 
+#define MMI_HEALTH_MEASURE_TASK_PRIORITY 221
+#define MMI_HEALTH_MEASURE_TASK_STACK_SIZE (1024 * 16) // (8 * 1024)
+#define MMI_HEALTH_MEASURE_MSG_QUEUE_SIZE (32) // (16)
+
 
 #define MMI_HEALTH_MEASURE_CYCLE_DURATION      (1 * 1000) // ms
 
@@ -148,6 +152,7 @@ typedef enum
 #ifdef __MMI_CUSTOM_HENGAI_HEALTH__
 #ifdef __MMI_CUSTOM_HENGAI_HEALTH_UPLOAD_USE_TCP__
        MMI_HEALTH_HENGAI_ALGORITHM_LOGIN,
+       MMI_HEALTH_HENGAI_ALGORITHM_ACTIVE,
 #endif
 #endif
 
@@ -174,6 +179,7 @@ typedef struct
 #ifdef __MMI_CUSTOM_HENGAI_HEALTH__
 #ifdef __MMI_CUSTOM_HENGAI_HEALTH_UPLOAD_USE_TCP__
 void mmi_hengai_tcp_algorithm_login_msg_send(void);
+void mmi_hengai_tcp_algorithm_active_msg_send(void);
 #endif
 #endif
 void mmi_health_measure_task_msg_send(MMI_HEALTH_MEASURE_MSG_ID_E msg_id, void * param);
index 6426cfc..99c29f9 100644 (file)
@@ -143,10 +143,10 @@ typedef enum
     RIL_MODEMADP_RIL_READY_IND = RIL_MODEMADP_NW_MSG_ID_START,
     RIL_MODEMADP_MM_RSP_SET_NW_SEL_MANUAL,
     RIL_MODEMADP_MM_RSP_QUERY_AVAILABLE_NETWORKS,
-    RIL_MODEMADP_MM_RSP_SIG_STRENGTH,
+    RIL_MODEMADP_MM_RSP_SIG_STRENGTH, // 314
     RIL_MODEMADP_MM_RSP_RAT_CHANGED,
     RIL_MODEMADP_MM_RSP_NITZ_TIME_RECEIVED,
-    RIL_MODEMADP_MM_RSP_NW_STATE_CHANGED,
+    RIL_MODEMADP_MM_RSP_NW_STATE_CHANGED, // 317
     RIL_MODEMADP_MM_RSP_OPERATOR,
     RIL_MODEMADP_MM_RSP_IMS_REG_STATE,
     RIL_MODEMADP_MM_RSP_RADIO_POWER_STATUS,
index 6a83d2b..c3f02cd 100644 (file)
@@ -1802,6 +1802,8 @@ VOID MMI_ModemAdp_Nw_State_Changed_Handler(UI_Inter_Msg_t * Msg)
     } else {
         g_ModemNwMng[NwStateChanged->SimId].CsRegState = MODEM_NW_CS_NOT_REG;
     }
+
+       //printf("[@CHENG_DEBUG][%s][%d]: CsRegState=%d\n", __FUNCTION__, __LINE__, g_ModemNwMng[NwStateChanged->SimId].CsRegState);
 }
 
 /**
@@ -1860,6 +1862,8 @@ VOID MMI_ModemAdp_Sig_Strength_Handler(UI_Inter_Msg_t * Msg)
         g_ModemSimMng.RegHomePlmn[SigStrength->SimId].signalstrength = SigStrength->SignalStrength;
     }
     MMI_Modem_Signal_Bar_Ind(MMI_ModemAdp_Get_UI_SimId(SigStrength->SimId), SignalBar);
+
+       //printf("[@CHENG_DEBUG][%s][%d]: SignalBar=%d\n", __FUNCTION__, __LINE__, g_ModemNwMng[0].SignalBar);
 }
 
 /**
@@ -2604,57 +2608,71 @@ VOID MMI_ModemAdp_NW_Init_Req(VOID)
  */
 VOID MMI_ModemAdp_NW_Msg_handle(UI_INTER_MSG_ID MsgId, UI_Inter_Msg_t * pMsg)
 {
+       //printf("[@CHENG_DEBUG][%s][%d]: MsgId=%d\n", __FUNCTION__, __LINE__, MsgId);
     switch(MsgId) {
         // network
         case MMI_MODEMADP_POWER_UP_REQ:
+                       //printf("[@CHENG_DEBUG][%s][%d]: MMI_MODEMADP_POWER_UP_REQ\n", __FUNCTION__, __LINE__);
             MMI_ModemAdp_Power_Up_Req_Handler(pMsg);
             break;
 
         case MMI_MODEMADP_POWER_OFF_REQ:
+                       //printf("[@CHENG_DEBUG][%s][%d]: MMI_MODEMADP_POWER_OFF_REQ\n", __FUNCTION__, __LINE__);
             MMI_ModemAdp_Power_Off_Req_Handler(pMsg);
             break;
 
         case RIL_MODEMADP_RIL_READY_IND:
+                       //printf("[@CHENG_DEBUG][%s][%d]: RIL_MODEMADP_RIL_READY_IND\n", __FUNCTION__, __LINE__);
             MMI_ModemAdp_Ril_Ready_Ind_Handler(pMsg);
             break;
 
         case RIL_MODEMADP_MM_RSP_NW_STATE_CHANGED:
+                       //printf("[@CHENG_DEBUG][%s][%d]: RIL_MODEMADP_MM_RSP_NW_STATE_CHANGED\n", __FUNCTION__, __LINE__);
             MMI_ModemAdp_Nw_State_Changed_Handler(pMsg);
             break;
 
         case RIL_MODEMADP_MM_RSP_SIG_STRENGTH:
+                       //printf("[@CHENG_DEBUG][%s][%d]: RIL_MODEMADP_MM_RSP_SIG_STRENGTH\n", __FUNCTION__, __LINE__);
             MMI_ModemAdp_Sig_Strength_Handler(pMsg);
             break;
 
         case RIL_MODEMADP_MM_RSP_NITZ_TIME_RECEIVED:
+                       //printf("[@CHENG_DEBUG][%s][%d]: RIL_MODEMADP_MM_RSP_NITZ_TIME_RECEIVED\n", __FUNCTION__, __LINE__);
             MMI_ModemAdp_Nitz_Time_Received_Handler(pMsg);
             break;
 
         case MMI_MODEMADP_PLMN_SEARCH_REQ:
+                       //printf("[@CHENG_DEBUG][%s][%d]: MMI_MODEMADP_PLMN_SEARCH_REQ\n", __FUNCTION__, __LINE__);
             MMI_ModemAdp_Plmn_Search_Req_Handler(pMsg);
             break;
 
         case RIL_MODEMADP_MM_RSP_QUERY_AVAILABLE_NETWORKS:
+                       //printf("[@CHENG_DEBUG][%s][%d]: RIL_MODEMADP_MM_RSP_QUERY_AVAILABLE_NETWORKS\n", __FUNCTION__, __LINE__);
             MMI_ModemAdp_Query_Available_Nw_Cnf_Handler(pMsg);
             break;
 
         case RIL_MODEMADP_MM_RSP_SET_NW_SEL_MANUAL:
+                       //printf("[@CHENG_DEBUG][%s][%d]: RIL_MODEMADP_MM_RSP_SET_NW_SEL_MANUAL\n", __FUNCTION__, __LINE__);
             MMI_ModemAdp_Set_Nw_Sel_Manual_Cnf_Handler(pMsg);
             break;
 
         case MMI_MODEMADP_PLMN_SEARCH_STOP_REQ:
+                       //printf("[@CHENG_DEBUG][%s][%d]: MMI_MODEMADP_PLMN_SEARCH_STOP_REQ\n", __FUNCTION__, __LINE__);
             MMI_ModemAdp_Plmn_Search_Stop_Req_Handler(pMsg);
             break;
 
         case RIL_MODEMADP_MM_RSP_RAT_CHANGED:
+                       //printf("[@CHENG_DEBUG][%s][%d]: RIL_MODEMADP_MM_RSP_RAT_CHANGED\n", __FUNCTION__, __LINE__);
             MMI_ModemAdp_Rat_Changed_Handler(pMsg);
             break;
 
         case RIL_MODEMADP_MM_RSP_OPERATOR:
+                       //printf("[@CHENG_DEBUG][%s][%d]: RIL_MODEMADP_MM_RSP_OPERATOR\n", __FUNCTION__, __LINE__);
             MMI_ModemAdp_Rsp_Operator_Handler(pMsg);
             break;
 
         case RIL_MODEMADP_MM_RSP_IMS_REG_STATE:
+                       //printf("[@CHENG_DEBUG][%s][%d]: RIL_MODEMADP_MM_RSP_IMS_REG_STATE\n", __FUNCTION__, __LINE__);
             MMI_ModemAdp_Rsp_Ims_Reg_State_Handler(pMsg);
             break;
 
@@ -2699,6 +2717,7 @@ VOID MMI_ModemAdp_NW_Msg_handle(UI_INTER_MSG_ID MsgId, UI_Inter_Msg_t * pMsg)
 MMI_MODEM_SIGNAL_BAR MMI_Modem_Get_Signal_Bar_Req(MMI_MODEM_SIM_ID SimId)
 {
     printf("##interface## %s bar %d\n", __FUNCTION__, g_ModemNwMng[SimId].SignalBar);
+       //printf("[@CHENG_DEBUG][%s][%d]: SignalBar=%d\n", __FUNCTION__, __LINE__, g_ModemNwMng[SimId].SignalBar);
     return(g_ModemNwMng[SimId].SignalBar);
 }
 
index 03eed0f..987308e 100644 (file)
@@ -43,6 +43,8 @@ static void mmi_launcher_tcp_first_connect_check_cb(uint32_t para)
        }
        else
        {
+               send_task_msg_tcp_wake_up();
+               
                if(MMI_MODEM_SIGNAL_BAR_0 == watch_modem_get_signal_bar_req()
                        && (MMI_TCP_FIRST_CONNECT_TIMEOUT > s_tcp_first_connect_time)
                        )
@@ -123,6 +125,8 @@ static void mmi_watch_authenticate_check_cb(uint32_t para)
        }
        else
        {
+               send_task_msg_tcp_wake_up();
+               
                if(MMI_MODEM_SIGNAL_BAR_0 == watch_modem_get_signal_bar_req()
                        && (MMI_AUTHENTICATE_CONNECT_TIMEOUT > s_authenticate_connect_time)
                        )
@@ -174,6 +178,14 @@ static void mmi_watch_authenticate_check_start(void)
 }
 #endif
 
+void mmi_watch_tcp_wake_up_action(void)
+{
+       if(0 == Hal_Pm_Get_State())
+       {
+               Hal_Pm_WakeUp_No_Lcd();
+       }
+}
+
 #endif
 
 /**
index dc5642a..e3459b0 100644 (file)
@@ -88,6 +88,7 @@ void send_tcp_cmdmsg(int cmd_type,void* cmd_param);
 
 #ifdef __MMI_ZHSX_SUPPORT__
 void mmi_launcher_tcp_first_connect_check_start(void);
+void mmi_watch_tcp_wake_up_action(void);
 #endif
 
 #ifdef __cplusplus
index ba01b20..d2e4b6b 100644 (file)
@@ -53,6 +53,12 @@ VOID mmi_modem_tcp_task_handle(UI_INTER_MSG_ID MsgId, UI_Inter_Msg_t * pmsg)
                        mmi_watch_authenticate_action();
                        break;
        #endif
+
+       #ifdef __MMI_ZHSX_SUPPORT__
+               case MMI_MODEM_TCP_MSG_WAKE_UP:
+                       mmi_watch_tcp_wake_up_action();
+                       break;
+       #endif
                
                default:
                        break;
@@ -175,6 +181,12 @@ void send_task_msg_authenticate_action(void)
 }
 #endif
 
+#ifdef __MMI_ZHSX_SUPPORT__
+void send_task_msg_tcp_wake_up(void)
+{
+       send_task_msg_tcp(MMI_MODEM_TCP_MSG_WAKE_UP, NULL);
+}
+#endif
 
 
 /**
index 10a54b2..de7ec96 100644 (file)
@@ -29,6 +29,9 @@ typedef enum
 #ifdef __MMI_ZHSX_SUPPORT_AUTHENTICATE__
        MMI_MODEM_TCP_MSG_AUTHENTICATE_ACTION,
 #endif
+#ifdef __MMI_ZHSX_SUPPORT__
+       MMI_MODEM_TCP_MSG_WAKE_UP,
+#endif
     
        MMI_MODEM_TCP_MSG_MAX,
     MMI_MODEM_TCP_MSG_ID_END = MMI_MODEM_TCP_MSG_MAX,
@@ -45,6 +48,9 @@ void send_task_msg_tcp_disconnect(void *param);
 #ifdef __MMI_ZHSX_SUPPORT_AUTHENTICATE__
 void send_task_msg_authenticate_action(void);
 #endif
+#ifdef __MMI_ZHSX_SUPPORT__
+void send_task_msg_tcp_wake_up(void);
+#endif
 
 void send_task_msg_tcp_write_msg(int cmd_type, void* cmd_param);