From: @CHENG <2393524978@qq.com> Date: Tue, 7 May 2024 08:40:49 +0000 (+0800) Subject: gengxin X-Git-Url: http://git.snicker.com.cn/sitemap.xml?a=commitdiff_plain;h=b2b70e501d4c4cacc3d0f5ce6c8800bd28041127;p=mirrors%2FASR3603_Z5.git gengxin --- diff --git a/2.sdk/project/Z5_HA_K18/gui/lv_watch/mmi_default_CUSTOM.h b/2.sdk/project/Z5_HA_K18/gui/lv_watch/mmi_default_CUSTOM.h index c9205077..8ec6eef9 100644 --- a/2.sdk/project/Z5_HA_K18/gui/lv_watch/mmi_default_CUSTOM.h +++ b/2.sdk/project/Z5_HA_K18/gui/lv_watch/mmi_default_CUSTOM.h @@ -8,15 +8,15 @@ //server ip // fzd debug-lab.xcloudtech.com:9000; fzd-api.xcloudtech.com:9000 // tongxin debug-tcptest.tx.kidxin.com:20500; tongxin-tcp.tx.kidxin.com:20500 -#define MMI_CUSTOMER_IP_ADDRESS "test.iot.socket.thisiot.com" +#define MMI_CUSTOMER_IP_ADDRESS "iot.socket.thisiot.com" // "api.xcloudtech.com" #define MMI_CUSTOMER_IP_PORT (9999) // (9000) // fzd-"bZld0ALsZTt15tKEZhOlLPgbsO75BLTP" -#define MMI_CUSTOMER_PROTOCOL_MD5_KEY "2gJcBatAioDZOmvareIo" +#define MMI_CUSTOMER_PROTOCOL_MD5_KEY "SZYhyGhroQ3xFKFWZq1g" // "bZld0ALsZTt15tKEZhOlLPgbsO75BLTP" // fzd-"SZKW" -#define MMI_CUSTOMER_PROTOCOL_DEVICE_NAME "bwuwcChPG1C42ay5" +#define MMI_CUSTOMER_PROTOCOL_DEVICE_NAME "oxLwDqcwJCtiPSRu" // "SZKW" // diff --git a/2.sdk/sdk/gui/lv_drivers/indev/FR8012HAQ/fr8012haq.c b/2.sdk/sdk/gui/lv_drivers/indev/FR8012HAQ/fr8012haq.c index 18791002..5fd6f7d0 100644 --- a/2.sdk/sdk/gui/lv_drivers/indev/FR8012HAQ/fr8012haq.c +++ b/2.sdk/sdk/gui/lv_drivers/indev/FR8012HAQ/fr8012haq.c @@ -1025,6 +1025,28 @@ void fr8012haq_measure_YYL_start(void) FR8012HAQ_LOG("fr8012haq_measure_YYL_start :FR8012HAQ_run_mode:%d!!!!!!!!\n",FR8012HAQ_run_mode); sensor_task_send_message(FR8012HAQ_ID,SENSOR_MSG_START); } + +uint8_t fr8012haq_is_measure_YYL_mode(void) +{ + FR8012HAQ_LOG("fr8012haq_measure_mode=%d\n", FR8012HAQ_run_mode); + if(YYL_MODE == FR8012HAQ_run_mode) + return 1; + + return 0; +} + +uint8_t fr8012haq_is_not_measure_mode(void) +{ + FR8012HAQ_LOG("fr8012haq_measure_mode=%d\n", FR8012HAQ_run_mode); + if(WEAR_MODE == FR8012HAQ_run_mode + || NULL_MODE == FR8012HAQ_run_mode + || close_MODE == FR8012HAQ_run_mode + ) + return 1; + + return 0; +} + void fr8012haq_measure_factory_start(void) { sys_pm_wakeup_no_lcd(); diff --git a/2.sdk/sdk/gui/lv_drivers/indev/FR8012HAQ/fr8012haq.h b/2.sdk/sdk/gui/lv_drivers/indev/FR8012HAQ/fr8012haq.h index d81f5a36..5d198bcd 100644 --- a/2.sdk/sdk/gui/lv_drivers/indev/FR8012HAQ/fr8012haq.h +++ b/2.sdk/sdk/gui/lv_drivers/indev/FR8012HAQ/fr8012haq.h @@ -65,6 +65,8 @@ void FR8012HAQ_close(void); void fr8012haq_measure_stop(void); int *fr8012haq_blood_data_get(int *len); char* fr8012haq_YYL_data_get(int *yyl_data_len); +uint8_t fr8012haq_is_measure_YYL_mode(void); +uint8_t fr8012haq_is_not_measure_mode(void); float fr8012haq_get_body_temperature(void); void fr8012haq_measure_temp_start(void); void fr8012haq_measure_OTA_start(void); diff --git a/2.sdk/sdk/gui/lv_watch/framework/nvm/ui_nvm.h b/2.sdk/sdk/gui/lv_watch/framework/nvm/ui_nvm.h index 59daaf4f..283b1be7 100644 --- a/2.sdk/sdk/gui/lv_watch/framework/nvm/ui_nvm.h +++ b/2.sdk/sdk/gui/lv_watch/framework/nvm/ui_nvm.h @@ -94,6 +94,9 @@ extern "C" { #ifdef __MMI_CUSTOM_HENGAI_HEALTH__ #define NV_SECTION_UI_HENGAI_HEALTH_DATA_LEN (sizeof(nv_watch_hengai_health_data_t)) #endif +#ifdef __MMI_CUSTOM_HENGAI_TCMS__ +#define NV_SECTION_UI_HENGAI_TCMS_SWITCH_LEN (sizeof(nv_watch_switch_t)) +#endif #endif @@ -235,6 +238,9 @@ typedef lv_fs_dir_t ui_dir_t; #ifdef __MMI_CUSTOM_HENGAI_HEALTH__ #define NV_SECTION_UI_HENGAI_HEALTH_DATA_FILE "ui_hengai_health_data.nv" #endif +#ifdef __MMI_CUSTOM_HENGAI_TCMS__ +#define NV_SECTION_UI_HENGAI_TCMS_SWITCH_FILE "ui_hengai_tcms_switch.nv" +#endif #endif diff --git a/2.sdk/sdk/gui/lv_watch/framework/nvm/ui_nvm_api.c b/2.sdk/sdk/gui/lv_watch/framework/nvm/ui_nvm_api.c index 4f194062..d1fe3135 100644 --- a/2.sdk/sdk/gui/lv_watch/framework/nvm/ui_nvm_api.c +++ b/2.sdk/sdk/gui/lv_watch/framework/nvm/ui_nvm_api.c @@ -156,6 +156,10 @@ uint32_t UI_NV_Get_Section_Len(NV_UI_SECTION_ID SectionId) case NV_SECTION_UI_HENGAI_HEALTH_DATA: return (NV_SECTION_LEN(NV_SECTION_UI_HENGAI_HEALTH_DATA)); #endif + #ifdef __MMI_CUSTOM_HENGAI_TCMS__ + case NV_SECTION_UI_HENGAI_TCMS_SWITCH: + return (NV_SECTION_LEN(NV_SECTION_UI_HENGAI_TCMS_SWITCH)); + #endif #endif @@ -313,6 +317,10 @@ char * UI_NV_Get_Section_path(NV_UI_SECTION_ID SectionId) case NV_SECTION_UI_HENGAI_HEALTH_DATA: return (NV_SECTION_FILE_PATH(NV_SECTION_UI_HENGAI_HEALTH_DATA)); #endif + #ifdef __MMI_CUSTOM_HENGAI_TCMS__ + case NV_SECTION_UI_HENGAI_TCMS_SWITCH: + return (NV_SECTION_FILE_PATH(NV_SECTION_UI_HENGAI_TCMS_SWITCH)); + #endif #endif @@ -743,6 +751,13 @@ uint8_t UI_NV_Reset_Default(NV_UI_SECTION_ID SectionId) TempData = (char *)hengai_health; break; #endif + #ifdef __MMI_CUSTOM_HENGAI_TCMS__ + case NV_SECTION_UI_HENGAI_TCMS_SWITCH: + mmi_switch_data = lv_mem_alloc(SectionLen); + memset(mmi_switch_data, 0x0, SectionLen); + TempData = (char *)mmi_switch_data; + break; + #endif #endif diff --git a/2.sdk/sdk/gui/lv_watch/include/ui_nvm_interface.h b/2.sdk/sdk/gui/lv_watch/include/ui_nvm_interface.h index c8e5aeef..d5a03682 100644 --- a/2.sdk/sdk/gui/lv_watch/include/ui_nvm_interface.h +++ b/2.sdk/sdk/gui/lv_watch/include/ui_nvm_interface.h @@ -716,6 +716,9 @@ enum #ifdef __MMI_CUSTOM_HENGAI_HEALTH__ NV_SECTION_UI_HENGAI_HEALTH_DATA, // nv_watch_hengai_health_data_t #endif +#ifdef __MMI_CUSTOM_HENGAI_TCMS__ + NV_SECTION_UI_HENGAI_TCMS_SWITCH, // nv_watch_switch_t +#endif #endif diff --git a/2.sdk/sdk/gui/lv_watch/lv_apps/custom_function/heng_ai_tcms.c b/2.sdk/sdk/gui/lv_watch/lv_apps/custom_function/heng_ai_tcms.c index f53b2af6..77051d82 100644 --- a/2.sdk/sdk/gui/lv_watch/lv_apps/custom_function/heng_ai_tcms.c +++ b/2.sdk/sdk/gui/lv_watch/lv_apps/custom_function/heng_ai_tcms.c @@ -6,10 +6,56 @@ // traditional Chinese medical science #ifdef __MMI_CUSTOM_HENGAI_TCMS__ +#if USE_FR8012HAQ +#include "../../../lv_drivers/indev/FR8012HAQ/fr8012haq.h" +#endif +static nv_watch_switch_t s_hengai_tcms_switch = {MMI_HENGAI_TCMS_SWITCH_INIT}; // init value static uint8_t s_hengai_tcms_counter = 0; static uint8_t s_hengai_tcms_check_flag = 0; +uint8_t mmi_hengai_tcms_switch_get(void) +{ + if(MMI_HENGAI_TCMS_SWITCH_INIT == s_hengai_tcms_switch.switch_flag) + { + uint32_t nv_data_length = sizeof(nv_watch_switch_t); + + if(nv_data_length != UI_NV_Read_Req(NV_SECTION_UI_HENGAI_TCMS_SWITCH, 0, nv_data_length, (uint8_t *)&s_hengai_tcms_switch)) + { + printf("[@CHENG_DEBUG][%s][%d]: nv read fail\n", __FUNCTION__, __LINE__); + s_hengai_tcms_switch.switch_flag = 0; + } + } + + return s_hengai_tcms_switch.switch_flag; +} + +void mmi_hengai_tcms_switch_set(uint8_t value) +{ + if(0 == value || 1 == value) + { + s_hengai_tcms_switch.switch_flag = value; + + uint32_t nv_data_length = sizeof(nv_watch_switch_t); + + if(nv_data_length != UI_NV_Write_Req(NV_SECTION_UI_HENGAI_TCMS_SWITCH, 0, nv_data_length, (uint8_t *)&s_hengai_tcms_switch)) + { + printf("[@CHENG_DEBUG][%s][%d]: nv write fail\n", __FUNCTION__, __LINE__); + } + + if(0 == value) // close + { + if(1 == fr8012haq_is_measure_YYL_mode) + mmi_hsensor_close(); + } + else // open + { + if(1 == fr8012haq_is_not_measure_mode) + mmi_hengai_tcms_action(); + } + } +} + void mmi_hengai_tcms_data_send(void) { char * data_ptr = NULL; @@ -44,6 +90,9 @@ void mmi_hengai_tcms_action(void) { HENGAI_TCMS_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: \n", __FUNCTION__, __LINE__); + if(1 != mmi_hengai_tcms_switch_get()) + return; + if(false == watch_modem_sim_present_check_req()) return; diff --git a/2.sdk/sdk/gui/lv_watch/lv_apps/custom_function/heng_ai_tcms.h b/2.sdk/sdk/gui/lv_watch/lv_apps/custom_function/heng_ai_tcms.h index 526851a7..92202792 100644 --- a/2.sdk/sdk/gui/lv_watch/lv_apps/custom_function/heng_ai_tcms.h +++ b/2.sdk/sdk/gui/lv_watch/lv_apps/custom_function/heng_ai_tcms.h @@ -30,6 +30,11 @@ extern "C" { #define HENGAI_TCMS_COUNTER_MAX (5) // minutes +#define MMI_HENGAI_TCMS_SWITCH_INIT (9) // init value + +uint8_t mmi_hengai_tcms_switch_get(void); +void mmi_hengai_tcms_switch_set(uint8_t value); + void mmi_hengai_tcms_data_send(void); void mmi_hengai_tcms_mission_check(void); diff --git a/2.sdk/sdk/gui/lv_watch/mmi_protocol/mmi_protocol_fzd.c b/2.sdk/sdk/gui/lv_watch/mmi_protocol/mmi_protocol_fzd.c index bb71d689..2419b0d5 100644 --- a/2.sdk/sdk/gui/lv_watch/mmi_protocol/mmi_protocol_fzd.c +++ b/2.sdk/sdk/gui/lv_watch/mmi_protocol/mmi_protocol_fzd.c @@ -3781,6 +3781,30 @@ bool mmi_protocol_fzd_action_hengai_sleep_data_test(char * file_buf, uint32_t fi #endif #ifdef __MMI_CUSTOM_HENGAI_TCMS__ +bool mmi_protocol_fzd_parse_SERVER_SET_HENGAI_TCMS_SWITCH(unsigned char * next_buff, unsigned int next_buff_len) +{ + bool result = false; + MMI_PROTOCOL_FZD_ACTION_ENUM action = MMI_FZD_SERVER_SET_HENGAI_TCMS_SWITCH; + + if(NULL == next_buff || 0 == next_buff_len) + { + PROTOCOL_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: \n", __FUNCTION__, __LINE__); + return false; + } + + result = true; + mmi_protocol_fzd_send_without_data(action); + + uint8_t state_value = 0; + state_value = atoi(next_buff); + + PROTOCOL_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: \n", __FUNCTION__, __LINE__); + + mmi_hengai_tcms_switch_set(state_value); + + return result; +} + bool mmi_protocol_fzd_action_hengai_tcms_data(char * data_ptr, uint32_t data_len) { bool result = false; diff --git a/2.sdk/sdk/gui/lv_watch/mmi_protocol/mmi_protocol_fzd.h b/2.sdk/sdk/gui/lv_watch/mmi_protocol/mmi_protocol_fzd.h index cd530332..205da754 100644 --- a/2.sdk/sdk/gui/lv_watch/mmi_protocol/mmi_protocol_fzd.h +++ b/2.sdk/sdk/gui/lv_watch/mmi_protocol/mmi_protocol_fzd.h @@ -202,6 +202,7 @@ MMI_FZD_ACTION_HENGAI_SLEEP_DATA_TEST, #endif #endif #ifdef __MMI_CUSTOM_HENGAI_TCMS__ + MMI_FZD_SERVER_SET_HENGAI_TCMS_SWITCH, MMI_FZD_ACTION_HENGAI_TCMS_DATA, #endif MMI_FZD_ACTION_TCP_HTTP, @@ -366,6 +367,7 @@ bool mmi_protocol_fzd_action_hengai_activation_feedback(void); bool mmi_protocol_fzd_action_hengai_sleep_data(char * file_buf, uint32_t file_size); #endif #ifdef __MMI_CUSTOM_HENGAI_TCMS__ +bool mmi_protocol_fzd_parse_SERVER_SET_HENGAI_TCMS_SWITCH(unsigned char * next_buff, unsigned int next_buff_len); bool mmi_protocol_fzd_action_hengai_tcms_data(char * data_ptr, uint32_t data_len); #endif diff --git a/2.sdk/sdk/gui/lv_watch/mmi_protocol/mmi_protocol_fzd_content.c b/2.sdk/sdk/gui/lv_watch/mmi_protocol/mmi_protocol_fzd_content.c index 6c5ca6bc..8c63407c 100644 --- a/2.sdk/sdk/gui/lv_watch/mmi_protocol/mmi_protocol_fzd_content.c +++ b/2.sdk/sdk/gui/lv_watch/mmi_protocol/mmi_protocol_fzd_content.c @@ -135,6 +135,7 @@ static unsigned char * mmi_protocol_fzd_action_string_get(MMI_PROTOCOL_FZD_ACTIO #endif #endif #ifdef __MMI_CUSTOM_HENGAI_TCMS__ + {MMI_FZD_SERVER_SET_HENGAI_TCMS_SWITCH, "TRIGGER_CNDOCD"}, {MMI_FZD_ACTION_HENGAI_TCMS_DATA, "CNDOCD"}, #endif {MMI_FZD_ACTION_TCP_HTTP, "TCP_HTTP"}, @@ -463,6 +464,10 @@ static bool mmi_protocol_fzd_content_parse(unsigned char * content_ptr, unsigned #endif #ifdef __MMI_CUSTOM_HENGAI_TCMS__ + case MMI_FZD_SERVER_SET_HENGAI_TCMS_SWITCH: + mmi_protocol_fzd_parse_SERVER_SET_HENGAI_TCMS_SWITCH(next_buff, next_buff_len); + break; + case MMI_FZD_ACTION_HENGAI_TCMS_DATA: break; #endif