gengxin
author@CHENG <2393524978@qq.com>
Tue, 7 May 2024 08:40:49 +0000 (16:40 +0800)
committer@CHENG <2393524978@qq.com>
Tue, 7 May 2024 08:40:49 +0000 (16:40 +0800)
2.sdk/project/Z5_HA_K18/gui/lv_watch/mmi_default_CUSTOM.h
2.sdk/sdk/gui/lv_drivers/indev/FR8012HAQ/fr8012haq.c
2.sdk/sdk/gui/lv_drivers/indev/FR8012HAQ/fr8012haq.h
2.sdk/sdk/gui/lv_watch/framework/nvm/ui_nvm.h
2.sdk/sdk/gui/lv_watch/framework/nvm/ui_nvm_api.c
2.sdk/sdk/gui/lv_watch/include/ui_nvm_interface.h
2.sdk/sdk/gui/lv_watch/lv_apps/custom_function/heng_ai_tcms.c
2.sdk/sdk/gui/lv_watch/lv_apps/custom_function/heng_ai_tcms.h
2.sdk/sdk/gui/lv_watch/mmi_protocol/mmi_protocol_fzd.c
2.sdk/sdk/gui/lv_watch/mmi_protocol/mmi_protocol_fzd.h
2.sdk/sdk/gui/lv_watch/mmi_protocol/mmi_protocol_fzd_content.c

index c920507..8ec6eef 100644 (file)
@@ -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"
 
 
 //
index 1879100..5fd6f7d 100644 (file)
@@ -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();
index d81f5a3..5d198bc 100644 (file)
@@ -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);
index 59daaf4..283b1be 100644 (file)
@@ -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
index 4f19406..d1fe313 100644 (file)
@@ -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
index c8e5aee..d5a0368 100644 (file)
@@ -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
index f53b2af..77051d8 100644 (file)
@@ -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;
        
index 526851a..9220279 100644 (file)
@@ -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);
 
index bb71d68..2419b0d 100644 (file)
@@ -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;
index cd53033..205da75 100644 (file)
@@ -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
 
index 6c5ca6b..8c63407 100644 (file)
@@ -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