修改目标数据显示,存储规则 1508/4
authorhcj <1224667075@qq.com>
Fri, 13 Dec 2024 07:51:37 +0000 (15:51 +0800)
committerhcj <1224667075@qq.com>
Fri, 13 Dec 2024 07:51:37 +0000 (15:51 +0800)
code/sdk/application/wearable/fd230app/nativeui/alarmclocktimerconfig/src/AlarmClockTimerConfig.cpp
code/sdk/application/wearable/fd230app/nativeui/goal/src/goalmodel.cpp
code/sdk/application/wearable/service/msg_center/src/msg_center_customer.cpp
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/makephone/headset_3.bin
code/sdk/drivers/peripheral/cywee/Inc/cywee_hal.h
code/sdk/drivers/peripheral/cywee/src/board_yh601s.c
code/sdk/drivers/peripheral/cywee/src/main_dml.c

index 15c1a83..2a2c6e1 100644 (file)
@@ -472,9 +472,11 @@ extern "C"
     {\r
       if (curTime->tm_min == 0 && curTime->tm_sec == 0) {\r
             AlarmClockEventData unuse;\r
+            time_t timetemp=mktime((struct tm*)curTime);\r
+            unuse.value=timetemp-60*60;\r
             WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "on_time_CallBackProc invoked");\r
             GraphicService::GetInstance()->PostGraphicEvent(\r
-                std::bind(AlarmTimerEventPublish, TOPIC_EVENT_ON_TIME, unuse));\r
+            std::bind(AlarmTimerEventPublish, TOPIC_EVENT_ON_TIME, unuse));\r
         }\r
     }\r
 \r
index ee6e555..3ea42ed 100644 (file)
@@ -252,6 +252,14 @@ namespace OHOS
       uint32_t size=0;
       uint32_t toal_data=0;
 
+      time_t currtime;
+      struct tm *timeinfo_now;
+      time(&currtime);
+      timeinfo_now = localtime(&currtime);
+
+      uint8_t mon_now=timeinfo_now->tm_mon;
+      uint8_t day_now=timeinfo_now->tm_mday;
+
       if (fp != NULL)
       {
          fseek(fp, 0, SEEK_END); // 将文件指针移动到文件末尾
@@ -277,9 +285,15 @@ namespace OHOS
          memcpy(&sing_date,date+i*8+4,4);
          WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "time: %d", timetemp);
          WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "data: %d", sing_date);
-         if(sing_date>0)
+
+         struct tm *timeinfo;
+         timeinfo = localtime((time_t *) &timetemp);
+
+   
+         if(sing_date>0 && timeinfo->tm_mday==day_now && timeinfo->tm_mon==mon_now)
          toal_data+=sing_date;
       }
+      free(date);
       return toal_data;
    }
 
@@ -293,6 +307,14 @@ namespace OHOS
       uint32_t size=0;
       float toal_data=0;
 
+      time_t currtime;
+      struct tm *timeinfo_now;
+      time(&currtime);
+      timeinfo_now = localtime(&currtime);
+
+      uint8_t mon_now=timeinfo_now->tm_mon;
+      uint8_t day_now=timeinfo_now->tm_mday;
+
       if (fp != NULL)
       {
          fseek(fp, 0, SEEK_END); // 将文件指针移动到文件末尾
@@ -318,9 +340,16 @@ namespace OHOS
          memcpy(&sing_date,date+i*8+4,4);
          WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "time: %d", timetemp);
          WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "data: %d", sing_date);
-         if(sing_date>0)
+
+
+         struct tm *timeinfo;
+         timeinfo = localtime((time_t *) &timetemp);
+
+   
+         if(sing_date>0 && timeinfo->tm_mday==day_now && timeinfo->tm_mon==mon_now)
          toal_data+=sing_date;
       }
+      free(date);
       return toal_data;
    }
 
@@ -334,6 +363,14 @@ namespace OHOS
       uint32_t size=0;
       float toal_data=0;
 
+      time_t currtime;
+      struct tm *timeinfo_now;
+      time(&currtime);
+      timeinfo_now = localtime(&currtime);
+
+      uint8_t mon_now=timeinfo_now->tm_mon;
+      uint8_t day_now=timeinfo_now->tm_mday;
+
       if (fp != NULL)
       {
          fseek(fp, 0, SEEK_END); // 将文件指针移动到文件末尾
@@ -360,9 +397,14 @@ namespace OHOS
          WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "time: %d", timetemp);
          WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "data: %d", sing_date);
 
-         if(sing_date>0)
+         struct tm *timeinfo;
+         timeinfo = localtime((time_t *) &timetemp);
+
+   
+         if(sing_date>0 && timeinfo->tm_mday==day_now && timeinfo->tm_mon==mon_now)
          toal_data+=sing_date;
       }
+      free(date);
       return toal_data;
    }
 
@@ -377,6 +419,15 @@ namespace OHOS
       uint32_t size=0;
       float toal_data=0;
 
+        time_t currtime;
+      struct tm *timeinfo_now;
+      time(&currtime);
+      timeinfo_now = localtime(&currtime);
+
+      uint8_t mon_now=timeinfo_now->tm_mon;
+      uint8_t day_now=timeinfo_now->tm_mday;
+
+
       if (fp != NULL)
       {
          fseek(fp, 0, SEEK_END); // 将文件指针移动到文件末尾
@@ -402,9 +453,15 @@ namespace OHOS
          memcpy(&sing_date,date+i*6+4,2);
          WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "time: %d", timetemp);
          WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "data: %d", sing_date);
-         if(sing_date>0)
+
+         struct tm *timeinfo;
+         timeinfo = localtime((time_t *) &timetemp);
+
+   
+         if(sing_date>0 && timeinfo->tm_mday==day_now && timeinfo->tm_mon==mon_now)
          toal_data+=sing_date;
       }
+      free(date);
       return toal_data;
    }
 
index bcde174..b48bcac 100644 (file)
@@ -382,21 +382,22 @@ void MsgCenterNotifyAlarmProc(const Topic topic, Request* req)
 void MsgCenterNotifyONtimeProc(const Topic topic, Request* req)
 {
     unused(req);
+    AlarmClockEventData* time=(AlarmClockEventData*)req->data;
    // The alarm notification is not displayed if the incoming call notification is already being processed
    cywee_save_data();
   
    WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "保存每小时步数");
-   step_history_save();
+   step_history_save(time->value);
    WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "保存每小时站立数据");
     if(get_stand_falg())
-           stand_history_save();
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "保存每小时卡路里数据");
-   calories_history_save();
+    stand_history_save(time->value);
+    WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "保存每小时卡路里数据");
+   calories_history_save(time->value);
    WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "保存每小时距离数据");
-   distances_history_save();
+   distances_history_save(time->value);
    WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "保存每小时燃脂数据");
-   fat_history_save();
-//保存完增加一次读取数据
+   fat_history_save(time->value);
+// 保存完增加一次读取数据
     SendMsgToUIService(UI_UPDATE_GOAL, 0, nullptr, 0);
 }
 
index ccb14bb..6003e45 100644 (file)
@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
-oid sha256:c8bc7763c0e9325a91306ce88f3205cd2d0b2e82b053bd981334280faedf552d
-size 21624
+oid sha256:b5b15cc0cb4de6bcb92c1880c799f308b7a3a6d3b6666a4816a6734e6a8bde44
+size 5544
index e944997..4a86e89 100644 (file)
@@ -40,8 +40,8 @@ extern void CWM_OS_free(void *ptr);
 extern void CWM_OS_saveData(int* data, uint32_t len,uint8_t type);
 extern  void CWM_OS_OneHourAgo_saveData(void* data, uint32_t len,uint8_t type);
 
-extern void CWM_OS_saveData_history(void* new_data,void *history ,uint32_t len,uint8_t type);
-extern void CWM_OS_saveData_STAND_history(uint8_t *falg,uint32_t len);
+extern void CWM_OS_saveData_history(void* new_data,void *history ,uint32_t len,uint8_t type,uint32_t time);
+extern void CWM_OS_saveData_STAND_history(uint8_t *falg,uint32_t len,uint32_t time);
 extern uint8_t get_stand_count(void);
 extern void CWM_OS_restoreData(int* data, uint32_t len,uint8_t type);
 extern void CWM_OS_OneHourAgo_restoreData(void* data, uint32_t len,uint8_t type);
@@ -537,14 +537,14 @@ void cywee_time_sync(void);
 void cywee_hand_updown_switch(int cmd);
 void cywee_ar_alert_switch(int cmd);
 
-void step_history_save(void);
+void step_history_save(uint32_t);
 uint32_t get_step_data(void);
 void set_step_data(uint32_t data);
 
-void stand_history_save(void);
-void calories_history_save(void);
-void distances_history_save(void);
-void fat_history_save(void);
+void stand_history_save(uint32_t);
+void calories_history_save(uint32_t);
+void distances_history_save(uint32_t);
+void fat_history_save(uint32_t);
 int32_t get_now_hour_data(void*value, uint8_t type);
 
 void cywee_goal_history_save(void);
index f62faa8..7270363 100644 (file)
@@ -30,6 +30,8 @@
 #include "OsApi.h"
 #include "los_printf.h"
 #include "cywee_ble_Service.h"
+#include "custom_utils.h"
+
 /*********************/
 /*** Macro Defines ***/
 /*********************/
@@ -375,13 +377,114 @@ void CWM_OS_OneHourAgo_saveData(void* data, uint32_t len,uint8_t type){
     fclose(fp);
 }
 
+typedef struct time_and_32_date
+{
+   uint32_t time;
+   uint32_t data;
+
+}time_and_32_date_t;
+
+
+typedef struct time_and_float_date
+{
+   uint32_t time;
+   float data;
+
+}time_and_float_date_t;
+
+typedef struct time_and_16_date
+{
+   uint16_t time;
+   float data;
+
+}time_and_16_date_t;
+
+
 
+uint8_t time_is_repetition(uint32_t time,void *data,char *path,void *data_array,uint8_t type)
+{
+    uint8_t is_repetition=0;
 
+    if(type==0)
+    {
+        time_and_32_date_t * p= (time_and_32_date_t*)data_array;
+        FILE *fp=fopen(path,"rb+");
+        if (fp == NULL) return 0;
 
+        fseek(fp, 0, SEEK_END); // 将文件指针移动到文件末尾
+        uint32_t size = ftell(fp);       // 获取当前文件指针位置,即文件大小
+        fseek(fp, 0, SEEK_SET); // 将文件指针移回文件开头
+      
+        for(int i=0;i<size/8;i++)
+        {
+            fread(&p[i].time,sizeof(uint32_t),1,fp);
+            fread(&p[i].data,sizeof(uint32_t),1,fp);
+            if(p[i].time==time)
+            {
+                is_repetition++;
+                uint32_t _32_data=*(uint32_t *)data;
+                p[i].data+=_32_data;
+            }
+        }
+        fclose(fp);
+        
+    }
+    else if(type==1)
+    {
 
+        time_and_float_date_t * p= (time_and_float_date_t*)data_array;
+        FILE *fp=fopen(path,"rb+");
+        if (fp == NULL) return 0;
 
+        fseek(fp, 0, SEEK_END); // 将文件指针移动到文件末尾
+        uint32_t size = ftell(fp);       // 获取当前文件指针位置,即文件大小
+        fseek(fp, 0, SEEK_SET); // 将文件指针移回文件开头
+      
+        for(int i=0;i<size/8;i++)
+        {
+            fread(&p[i].time,sizeof(uint32_t),1,fp);
+            fread(&p[i].data,sizeof(float),1,fp);
+            if(p[i].time==time)
+            {
+                is_repetition++;
+                float _float_data=*(float *)data;
+                p[i].data+=_float_data;
+            }
+        }
+        fclose(fp);
+    }
+     else if(type==2)
+    {
 
-void CWM_OS_saveData_history(void* new_data,void *history ,uint32_t len,uint8_t type){
+        time_and_16_date_t * p= (time_and_16_date_t*)data_array;
+        FILE *fp=fopen(path,"rb+");
+        if (fp == NULL) return 0;
+
+        fseek(fp, 0, SEEK_END); // 将文件指针移动到文件末尾
+        uint32_t size = ftell(fp);       // 获取当前文件指针位置,即文件大小
+        fseek(fp, 0, SEEK_SET); // 将文件指针移回文件开头
+      
+        for(int i=0;i<size/6;i++)
+        {
+            fread(&p[i].time,sizeof(uint32_t),1,fp);
+            fread(&p[i].data,sizeof(uint16_t),1,fp);
+            if(p[i].time==time)
+            {
+                is_repetition++;
+                 uint16_t _16_data=*(uint16_t *)data;
+                p[i].data+=_16_data;
+            }
+        }
+        fclose(fp);
+    }
+
+    return is_repetition;
+}
+
+
+
+
+void CWM_OS_saveData_history(void* new_data,void *history ,uint32_t len,uint8_t type,uint32_t time){
 
     struct stat info;
 
@@ -437,7 +540,7 @@ void CWM_OS_saveData_history(void* new_data,void *history ,uint32_t len,uint8_t
 
     char path_[64]={0};
     char timeday[12] = {0};
-    uapi_get_YYMMDD_Time(timeday, '_');
+    uapi_get_TIME_STR(time,timeday, '_','\0',DATE_Y_M_D);
 
     int i_data=0;
     float f_data=0;
@@ -474,55 +577,189 @@ void CWM_OS_saveData_history(void* new_data,void *history ,uint32_t len,uint8_t
    
     CWM_OS_dbgPrintf(" save path %s \n",path_);
 
-   
     if(i_data<0 || f_data<0 ||i_data_16<0)
     {
         i_data=0;
         f_data=0;
         *(int*)history=0;
-      
-    }
-    if(i_data==0 && f_data==0 && i_data_16==0)
-    {
         return;
     }
- 
-    FILE * fp = fopen(path_,"ab+");
-    if(fp==NULL)
+
+    if(type==CYWEE_DATA_STEP && i_data!=0)
     {
-        CWM_OS_dbgPrintf("open fail\n");
-        return;
-    }
-    uint32_t creationTime;
-    int ret =uapi_get_timestampe_ss(&creationTime);
-    uint8_t creationTime_[4]={0};
-    memcpy(creationTime_,&creationTime,4);
-    CWM_OS_dbgPrintf("uapi_get_timestampe_ss %02X %02X %02X %02X\n",creationTime_[0],creationTime_[1],creationTime_[2],creationTime_[3]);
+        #ifdef GOAL_DATA_AMEND
+        time_and_32_date_t array[25]={0};
 
+        for(int i=0;i<25;i++)
+        {
+            array[i].data=0;
+            array[i].time=0;
+        }
+       
+
+        if(time_is_repetition(time,&i_data,path_,array,0))
+        {
 
-    CWM_OS_dbgPrintf("uapi_get_timestampe_ss %d %d\n",ret,creationTime);
-    creationTime=creationTime-60*60;//当前值计入上小时
 
-    ret =fwrite(&creationTime,1,4,fp);
-    if(ret==0)
+            FILE * fp = fopen(path_,"wb+");
+            if(fp==NULL)
+            {
+                CWM_OS_dbgPrintf("open fail\n");
+                return;
+            }
+
+            for(int i=0;i<25;i++)
+            {
+                if(array[i].time && array[i].data)
+                {
+                    fwrite(&array[i].time,sizeof(array[i].time),1,fp);
+                    fwrite(&array[i].data,sizeof(array[i].data),1,fp);
+                }
+
+            }
+            fclose(fp);
+
+        }
+        else
+        #endif
+        {
+       
+            FILE * fp = fopen(path_,"ab+");
+            if(fp)
+            {
+                uint32_t creationTime;
+                creationTime=time;//当前值计入上小时
+
+                int ret =fwrite(&creationTime,1,4,fp);
+                if(ret==0)
+                {
+                    CWM_OS_dbgPrintf("fwrite failed %d\n",ret);
+                }
+                if(i_data)
+                ret =fwrite(&i_data,1,sizeof(i_data),fp);
+                fclose(fp);
+            } 
+     
+        }
+
+    }
+    if((type==CYWEE_DATA_CALORIES|| type==CYWEE_DATA_DISTANCE) && f_data!=0)
     {
-        CWM_OS_dbgPrintf("fwrite failed %d\n",ret);
+
+        #ifdef GOAL_DATA_AMEND
+         time_and_float_date_t array[25]={0};
+
+        for(int i=0;i<25;i++)
+        {
+            array[i].data=0;
+            array[i].time=0;
+        }
+       
+        if(time_is_repetition(time,&i_data,path_,array,1))
+        {
+
+            FILE * fp = fopen(path_,"wb+");
+            if(fp==NULL)
+            {
+                CWM_OS_dbgPrintf("open fail\n");
+                return;
+            }
+
+            for(int i=0;i<25;i++)
+            {
+                if(array[i].time && array[i].data)
+                {
+                    fwrite(&array[i].time,sizeof(array[i].time),1,fp);
+                    fwrite(&array[i].data,sizeof(array[i].data),1,fp);
+                }
+
+            }
+            fclose(fp);
+
+        }
+        else
+        #endif
+        {
+        
+            FILE * fp = fopen(path_,"ab+");
+            if(fp)
+            {
+                uint32_t creationTime;
+                creationTime=time;//当前值计入上小时
+
+                int ret =fwrite(&creationTime,1,4,fp);
+                if(ret==0)
+                {
+                    CWM_OS_dbgPrintf("fwrite failed %d\n",ret);
+                }
+                if(f_data)
+                ret =fwrite(&f_data,1,sizeof(f_data),fp);
+
+                fclose(fp);
+
+            }        
+        }
     }
 
-    #ifndef ONE_TIME_CONUT_TOTAL
-        if(i_data)
-        ret =fwrite(&i_data,1,len,fp);
-        else if(i_data_16)
-        ret =fwrite(&i_data_16,1,len,fp);
-        else if(f_data)
-        ret =fwrite(&f_data,1,len,fp);
-    #else
-        retgit =fwrite(new_data,1,len,fp);
-    #endif
-    if(ret==0)
+    if((type==CYWEE_DATA_FAT) && i_data_16!=0)
     {
-        CWM_OS_dbgPrintf("fwrite failed %d\n",ret);
+
+        #ifdef GOAL_DATA_AMEND
+         time_and_16_date_t array[25]={0};
+
+        for(int i=0;i<25;i++)
+        {
+            array[i].data=0;
+            array[i].time=0;
+        }
+       
+        if(time_is_repetition(time,&i_data,path_,array,2))
+        {
+
+            FILE * fp = fopen(path_,"wb+");
+            if(fp==NULL)
+            {
+                CWM_OS_dbgPrintf("open fail\n");
+                return;
+            }
+
+            for(int i=0;i<25;i++)
+            {
+                if(array[i].time && array[i].data)
+                {
+                    fwrite(&array[i].time,sizeof(array[i].time),1,fp);
+                    fwrite(&array[i].data,sizeof(array[i].data),1,fp);
+                }
+
+            }
+            fclose(fp);
+
+        }
+        else
+        #endif
+
+        {
+            FILE * fp = fopen(path_,"ab+");
+            if(fp)
+            {
+                uint32_t creationTime;
+                creationTime=time;//当前值计入上小时
+
+                int ret =fwrite(&creationTime,1,4,fp);
+                if(ret==0)
+                {
+                    CWM_OS_dbgPrintf("fwrite failed %d\n",ret);
+                }
+                if(i_data_16)
+                ret =fwrite(&i_data_16,1,sizeof(i_data_16),fp);
+
+                fclose(fp);
+
+            }        
+        }
     }
+    
+
      if(i_data)
     *(int*)history=*(int*)new_data;
      else if(i_data_16)
@@ -530,10 +767,10 @@ void CWM_OS_saveData_history(void* new_data,void *history ,uint32_t len,uint8_t
     else if(f_data)
     *(float*)history=*(float*)new_data;
 
-    fclose(fp);
+   
 }
 
-void CWM_OS_saveData_STAND_history(uint8_t *falg,uint32_t len){
+void CWM_OS_saveData_STAND_history(uint8_t *falg,uint32_t len,uint32_t time){
     if(*falg)
     {
         struct stat info;
@@ -556,7 +793,7 @@ void CWM_OS_saveData_STAND_history(uint8_t *falg,uint32_t len){
 
         char path_[64]={0};
         char timeday[12] = {0};
-        uapi_get_YYMMDD_Time(timeday, '_');
+        uapi_get_TIME_STR(time,timeday, '_','\0',DATE_Y_M_D);
 
 
         sprintf_s(path_,64,"%s%s.bin",CWM_HISTORY_STAND_DATA_PATH,timeday);
@@ -568,10 +805,11 @@ void CWM_OS_saveData_STAND_history(uint8_t *falg,uint32_t len){
             CWM_OS_dbgPrintf("open fail\n");
             return;
         }
+        uint32_t ret;
+
         uint32_t creationTime;
-        int ret =uapi_get_timestampe_ss(&creationTime);
+        creationTime=time;//当前值计入上小时
 
-        creationTime=creationTime-60*60;//当前值计入上小时
         CWM_OS_dbgPrintf("uapi_get_timestampe_ss %d\n",ret);
     
         ret =fwrite(&creationTime,1,len,fp);
@@ -612,8 +850,29 @@ uint8_t get_stand_count(void)
     uint8_t size = ftell(fp);
     fseek(fp, 0, SEEK_SET);
 
+    uint32_t array[25]={0};
+    uint8_t read_size=0;
+    fread(array,sizeof(uint32_t),size/4,fp);
+    uint8_t is_repetition=0;
+    for(int x=0;x<size/4;x++)
+    {
+        if(array[x])
+        {
+            for(int y=0;y<size/4;y++)
+            {
+                if(array[y]==array[x] && y!=x)
+                {
+                   is_repetition++;
+                }
+            }
+        }
+       
+    }
+    
+    
+
     fclose(fp);
-    return size/4;
+    return size/4-is_repetition;
 
 }
 
index f90ba62..a6e9e03 100644 (file)
@@ -525,7 +525,8 @@ void cywee_save_data(void)
 {
     if(uapi_dev_runtime_get_goal_storage_status())
     {
-        return;
+        // return
+        msleep(10);
     }
     uapi_dev_runtime_set_goal_storage_status(1);
    
@@ -626,38 +627,38 @@ uint8_t get_stand_falg(void)
 
 uint8_t get_now_stand_count(void)
 {
-    return get_stand_count()+stand_falg;
+    return get_stand_count();
 }
-void stand_history_save(void) {
+void stand_history_save(uint32_t time) {
     // CWM_OS_dbgPrintf("stand_history is saving\n");
-    CWM_OS_saveData_STAND_history(&stand_falg,sizeof(int));
+    CWM_OS_saveData_STAND_history(&stand_falg,sizeof(int),time);
 }
 
-void step_history_save(void)
+void step_history_save(uint32_t time)
 {
     int data = get_step_data();
     // CWM_OS_dbgPrintf("step_history is saving\n");
-    CWM_OS_saveData_history(&data,&history_step_,sizeof(int),CYWEE_SAVE_DATA_STEP);
+    CWM_OS_saveData_history(&data,&history_step_,sizeof(int),CYWEE_SAVE_DATA_STEP,time);
 }
 
 
-void calories_history_save(void)
+void calories_history_save(uint32_t time)
 {
     int data= get_calories_data();
     float history_calories = (float)data;
     // CWM_OS_dbgPrintf("history_calories is saving\n");
-    CWM_OS_saveData_history(&history_calories,&history_calories_,sizeof(float),CYWEE_SAVE_DATA_CALORIES);
+    CWM_OS_saveData_history(&history_calories,&history_calories_,sizeof(float),CYWEE_SAVE_DATA_CALORIES,time);
 }
 
-void distances_history_save(void)
+void distances_history_save(uint32_t time)
 {
     int data= get_distance_data();
     float history_distances_now = (float)data / 1000.0;
     // CWM_OS_dbgPrintf("history_distances is saving\n");
-    CWM_OS_saveData_history(&history_distances_now,&history_distances_,sizeof(float),CYWEE_SAVE_DATA_DISTANCE);
+    CWM_OS_saveData_history(&history_distances_now,&history_distances_,sizeof(float),CYWEE_SAVE_DATA_DISTANCE,time);
 }
 
-void fat_history_save(void)
+void fat_history_save(uint32_t time)
 {
     int data= get_fat_time_data();
     int16_t temp_data=0;
@@ -668,7 +669,7 @@ void fat_history_save(void)
         history_fat_=0;
         return;
     }
-    CWM_OS_saveData_history(&temp_data,&history_fat_,sizeof(uint16_t),CYWEE_SAVE_DATA_FAT);
+    CWM_OS_saveData_history(&temp_data,&history_fat_,sizeof(uint16_t),CYWEE_SAVE_DATA_FAT,time);
 }
 
 int32_t get_now_hour_data(void*value, uint8_t type)
@@ -716,11 +717,11 @@ int32_t get_now_hour_data(void*value, uint8_t type)
 
 void cywee_goal_history_save(void)
 {
-    stand_history_save();
-    calories_history_save();
-    fat_history_save();
-    distances_history_save();
-    step_history_save();
+    // stand_history_save();
+    // calories_history_save();
+    // fat_history_save();
+    // distances_history_save();
+    // step_history_save();
 }
 
 
@@ -752,7 +753,11 @@ void cywee_reset_history_daily_data(void)
     history_calories=0; //卡路里数据
     history_distances=0; //历史数据
     history_fat=0; //历史燃脂数据
-    
+
+    history_step_=0;
+    history_calories=0;
+    history_distances=0;
+    history_fat=0;
     // new_fat = 0; //当前燃脂数据
 }