修改步数等数据存储,从记录一小时内的增值,改为记录当前时间点总值 420/1
authorhcj <1224667075@qq.com>
Mon, 1 Jul 2024 01:30:27 +0000 (09:30 +0800)
committerhcj <1224667075@qq.com>
Mon, 1 Jul 2024 01:30:27 +0000 (09:30 +0800)
code/sdk/drivers/peripheral/cywee/src/board_yh601s.c
code/sdk/drivers/peripheral/cywee/src/main_dml.c

index 5acf5a5..264801d 100644 (file)
@@ -263,10 +263,10 @@ int CWM_OS_dbgPrintf(const char * format,...)
     return 0;
 }
 typedef enum {
-    CYWEE_SAVE_DATA_STEP,
-    CYWEE_SAVE_DATA_DISTANCE,
-    CYWEE_SAVE_DATA_CALORIES,
-    CYWEE_SAVE_DATA_FAT,
+    CYWEE_DATA_STEP,
+    CYWEE_DATA_DISTANCE,
+    CYWEE_DATA_CALORIES,
+    CYWEE_DATA_FAT,
 } CYWEE_SAVE_DATA_TYPE;
 
 #define CWM_STEP_DATA_PATH "/user/userdata/sport/stepcount.bin"
@@ -290,16 +290,16 @@ void CWM_OS_saveData(int* data, uint32_t len,uint8_t type){
     FILE * fp=NULL;
     switch (type)
     {
-    case CYWEE_SAVE_DATA_CALORIES:
+    case CYWEE_DATA_CALORIES:
         fp  = fopen(CWM_CALORIES_DATA_PATH,"wb");
         break;
-    case CYWEE_SAVE_DATA_STEP:
+    case CYWEE_DATA_STEP:
         fp  = fopen(CWM_STEP_DATA_PATH,"wb");
         break;
-    case CYWEE_SAVE_DATA_DISTANCE:
+    case CYWEE_DATA_DISTANCE:
         fp  = fopen(CWM_DISTANCE_DATA_PATH,"wb");
         break;
-    case CYWEE_SAVE_DATA_FAT:
+    case CYWEE_DATA_FAT:
         fp  = fopen(CWM_FAT_DATA_PATH,"wb");
         break;
 
@@ -354,16 +354,16 @@ void CWM_OS_saveData_history(int* new_data,int *history ,uint32_t len,uint8_t ty
 
     switch (type)
     {
-    case CYWEE_SAVE_DATA_CALORIES:
+    case CYWEE_DATA_CALORIES:
        sprintf_s(path_,64,"%s%s.bin",CWM_HISTORY_DATA_CALORIES_PATH,timeday);
         break;
-    case CYWEE_SAVE_DATA_STEP:
+    case CYWEE_DATA_STEP:
        sprintf_s(path_,64,"%s%s.bin",CWM_HISTORY_DATA_PATH,timeday);
         break;
-    case CYWEE_SAVE_DATA_DISTANCE:
+    case CYWEE_DATA_DISTANCE:
        sprintf_s(path_,64,"%s%s.bin",CWM_HISTORY_DATA_DISTANCE_PATH,timeday);
         break;
-    case CYWEE_SAVE_DATA_FAT:
+    case CYWEE_DATA_FAT:
        sprintf_s(path_,64,"%s%s.bin",CWM_HISTORY_DATA_FAT_PATH,timeday);
         break;
 
@@ -373,15 +373,15 @@ void CWM_OS_saveData_history(int* new_data,int *history ,uint32_t len,uint8_t ty
    
     CWM_OS_dbgPrintf(" save path %s \n",path_);
 
-    int data= *new_data-*history;//新数据减去旧数据,作为这一个小时的步数值
-    if(data<=0)
-    {
-        data=0;
-        *history=0;
-        CWM_OS_dbgPrintf("异常 清除步数数据\n");
-        return;
+    // int data= *new_data-*history;//新数据减去旧数据,作为这一个小时的步数值
+    // if(data<=0)
+    // {
+    //     data=0;
+    //     *history=0;
+    //     CWM_OS_dbgPrintf("异常 清除步数数据\n");
+    //     return;
 
-    }
+    // }
 
     FILE * fp = fopen(path_,"ab+");
     if(fp==NULL)
@@ -401,14 +401,14 @@ void CWM_OS_saveData_history(int* new_data,int *history ,uint32_t len,uint8_t ty
     }
 
 
-    ret =fwrite(&data,1,len,fp);
+    ret =fwrite(new_data,1,len,fp);
     if(ret==0)
     {
         CWM_OS_dbgPrintf("fwrite failed %d\n",ret);
     }
-    CWM_OS_dbgPrintf("fwrite data %d\n",data);
+    CWM_OS_dbgPrintf("fwrite data %d\n",new_data);
 
-    *history=*new_data;
+    //*history=*new_data;
 
     fclose(fp);
 }
@@ -476,16 +476,16 @@ void CWM_OS_restoreData(int* data, uint32_t len,uint8_t type){
     FILE * fp=NULL;
     switch (type)
     {
-    case CYWEE_SAVE_DATA_CALORIES:
+    case CYWEE_DATA_CALORIES:
         fp  = fopen(CWM_CALORIES_DATA_PATH,"rb");
         break;
-    case CYWEE_SAVE_DATA_STEP:
+    case CYWEE_DATA_STEP:
         fp  = fopen(CWM_STEP_DATA_PATH,"rb");
         break;
-    case CYWEE_SAVE_DATA_DISTANCE:
+    case CYWEE_DATA_DISTANCE:
         fp  = fopen(CWM_DISTANCE_DATA_PATH,"rb");
         break;
-    case CYWEE_SAVE_DATA_FAT:
+    case CYWEE_DATA_FAT:
         fp  = fopen(CWM_FAT_DATA_PATH,"rb");
         break;
     default:
index b090644..ec5cb5c 100644 (file)
@@ -134,7 +134,7 @@ void set_calories_data(uint32_t data)
 
 void set_distance_data(uint32_t data)
 {
-    new_fat++;
+    new_distance=data;
 }
 
 int get_distance_data(void )
@@ -144,7 +144,12 @@ int get_distance_data(void )
 
 void set_fat_time_data(void)
 {
-    new_calories++;
+    new_fat++;
+}
+
+int get_fat_time_data(void)
+{
+    return new_fat+history_fat;
 }
 
 
@@ -160,17 +165,21 @@ void stand_history_save(void)
 
 void calories_history_save(void)
 {
-    CWM_OS_saveData_history(&new_calories,&history_calories_,sizeof(int),CYWEE_SAVE_DATA_CALORIES);
+
+    int data= get_calories_data();
+    CWM_OS_saveData_history(&data,&history_calories_,sizeof(int),CYWEE_SAVE_DATA_CALORIES);
 }
 
 void distances_history_save(void)
 {
-    CWM_OS_saveData_history(&new_distance,&history_calories_,sizeof(int),CYWEE_SAVE_DATA_DISTANCE);
+    int data= get_distance_data();
+    CWM_OS_saveData_history(&data,&history_calories_,sizeof(int),CYWEE_SAVE_DATA_DISTANCE);
 }
 
 void fat_history_save(void)
 {
-    CWM_OS_saveData_history(&new_fat,&history_fat_,sizeof(int),CYWEE_SAVE_DATA_FAT);
+     int data= get_fat_time_data();
+    CWM_OS_saveData_history(&data,&history_fat_,sizeof(int),CYWEE_SAVE_DATA_FAT);
 }
 
 void cywee_goal_history_save(void)