gengxin
author@CHENG <2393524978@qq.com>
Sat, 20 Jan 2024 03:48:17 +0000 (11:48 +0800)
committer@CHENG <2393524978@qq.com>
Sat, 20 Jan 2024 03:48:17 +0000 (11:48 +0800)
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

index 1043838..8760bfa 100644 (file)
@@ -21,7 +21,7 @@ void mmi_hengai_tcms_mission_check(void)
        {
                uint8_t data_num = 0;
                HENGAI_TCMS_DATA_T * data_ptr = NULL;
-               uint32_t data_len = (HENGAI_TCMS_COUNTER_MAX + 1) * sizeof(HENGAI_TCMS_DATA_T);
+               uint32_t data_len = (HENGAI_TCMS_COUNTER_MAX + 2) * sizeof(HENGAI_TCMS_DATA_T);
 
                data_ptr = lv_mem_alloc(data_len);
                if(NULL == data_ptr)
@@ -32,7 +32,7 @@ void mmi_hengai_tcms_mission_check(void)
                HENGAI_TCMS_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: array num=%d\n", __FUNCTION__, __LINE__, data_num);
                if(0 != data_num)
                {
-                       mmi_protocol_fzd_action_hengai_tcms_data(data_ptr, data_num * sizeof(HENGAI_TCMS_DATA_T));
+                       mmi_protocol_fzd_action_hengai_tcms_data(data_ptr, data_num);
                }
                lv_mem_free(data_ptr);
 
@@ -48,7 +48,5 @@ void mmi_hengai_tcms_action(void)
        s_hengai_tcms_check_flag = 1;
 }
 
-
-
 #endif
 
index 585c7f2..1f5fbb9 100644 (file)
@@ -27,11 +27,12 @@ extern "C" {
 #endif
 
 
-#define HENGAI_TCMS_COUNTER_MAX        3 // (30)
+#define HENGAI_TCMS_COUNTER_MAX        (30)
 
 // yylPFE_OutputData
 typedef struct
 {
+       uint32_t         time;
     uint32_t         timestamp;  
     uint32_t         areaUP;
     uint16_t         areaUPBase;
index 9b4e006..1a4540d 100644 (file)
@@ -3739,30 +3739,68 @@ 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_action_hengai_tcms_data(char * file_buf, uint32_t file_size)
+bool mmi_protocol_fzd_action_hengai_tcms_data(HENGAI_TCMS_DATA_T * data_ptr, uint8_t data_num)
 {
        bool result = false;
        MMI_PROTOCOL_FZD_ACTION_ENUM action = MMI_FZD_ACTION_HENGAI_TCMS_DATA;
        unsigned char * content_buff = NULL;
        unsigned int content_lenth = 0;
+       unsigned char * temp_ptr = NULL;
+       unsigned int temp_lenth = 0;
+       uint32_t data_len = data_num * 100 + 64;
+       uint32_t cur_time_stamp = 0;
+       uint8_t i = 0;
 
-#if 0
-       content_buff = (unsigned char *)lv_mem_alloc(file_size + 2);
+       content_buff = (unsigned char *)lv_mem_alloc(data_len);
        if(NULL == content_buff)
        {
                PROTOCOL_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: \n", __FUNCTION__, __LINE__);
                return false;
        }
-       _lv_memset_00(content_buff, file_size + 2);
-       sprintf(content_buff, ",");
-       _lv_memcpy(content_buff + 1, file_buf, file_size);
-       content_lenth = file_size;
+       _lv_memset_00(content_buff, data_len);
+
+       Hal_Rtc_Gettime_Count(&cur_time_stamp);
        
+       temp_lenth = 0;
+       temp_ptr = content_buff + temp_lenth;
+       sprintf(temp_ptr, ",%d,%d", data_num, cur_time_stamp);
+
+       temp_lenth = strlen(temp_ptr);
+       temp_ptr += temp_lenth;
+
+       for(i = 0; i < data_num; i++)
+       {
+               sprintf(temp_ptr, ",%d,%d,%d,%d,%d,%d,%d,%d,%d,%d",
+                                                       data_ptr[i].time,
+                                                       data_ptr[i].timestamp,
+                                                       data_ptr[i].areaUP,
+                                                       data_ptr[i].areaUPBase,
+                                                       data_ptr[i].areaUPHeight,
+                                                       data_ptr[i].areaDOWN,
+                                                       data_ptr[i].areaDOWNBase,
+                                                       data_ptr[i].areaDOWNHeight,
+                                                       data_ptr[i].RRI,
+                                                       data_ptr[i].motion);
+               
+               temp_lenth = strlen(temp_ptr);
+               temp_ptr += temp_lenth;
+       }
+
+       content_lenth = strlen(content_buff);
+       
+       PROTOCOL_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: %d\n", __FUNCTION__, __LINE__, content_lenth);
+       PROTOCOL_DEBUG_PRINTF("[@CHENG_DEBUG][%d]: %s\n", __LINE__, content_buff);
+       PROTOCOL_DEBUG_PRINTF("[@CHENG_DEBUG][%d]: %s\n", __LINE__, content_buff + 90);
+       PROTOCOL_DEBUG_PRINTF("[@CHENG_DEBUG][%d]: %s\n", __LINE__, content_buff + 180);
        result = mmi_protocol_fzd_send_with_data(action, content_buff, content_lenth);
-       lv_mem_free(content_buff);
-#endif
+
+       if(NULL != content_buff)
+       {
+               lv_mem_free(content_buff);
+               content_buff = NULL;
+       }
        
-       return result;
+       return true;
 }
 #endif
 
index b9311e1..5a82821 100644 (file)
@@ -347,8 +347,8 @@ bool mmi_protocol_fzd_parse_ACTION_HENGAI_ACTIVATION(unsigned char * next_buff,
 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_action_hengai_tcms_data(char * file_buf, uint32_t file_size);
+#if 0 //def __MMI_CUSTOM_HENGAI_TCMS__
+bool mmi_protocol_fzd_action_hengai_tcms_data(HENGAI_TCMS_DATA_T * data_ptr, uint8_t data_num);
 #endif
 
 #endif