#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
#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)
#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)
}
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();
}
}
}
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();
}
{
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)
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;
#else
mmi_hengai_health_lib_activation_feedback();
#endif
+
+ //
+ mmi_delay_timer_id_delete();
}
#ifdef __MMI_CUSTOM_HENGAI_SLEEP_K18__
//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
#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};
{
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)
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
//#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
#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
#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);
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,
} 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);
}
/**
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);
}
/**
*/
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;
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);
}
}
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)
)
}
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)
)
}
#endif
+void mmi_watch_tcp_wake_up_action(void)
+{
+ if(0 == Hal_Pm_Get_State())
+ {
+ Hal_Pm_WakeUp_No_Lcd();
+ }
+}
+
#endif
/**
#ifdef __MMI_ZHSX_SUPPORT__
void mmi_launcher_tcp_first_connect_check_start(void);
+void mmi_watch_tcp_wake_up_action(void);
#endif
#ifdef __cplusplus
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;
}
#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
/**
#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,
#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);