From 491f1b2429e1c3ed1fa80fe8a64f432791305219 Mon Sep 17 00:00:00 2001 From: hcj <1224667075@qq.com> Date: Mon, 1 Jul 2024 09:30:27 +0800 Subject: [PATCH] =?utf8?q?=E4=BF=AE=E6=94=B9=E6=AD=A5=E6=95=B0=E7=AD=89?= =?utf8?q?=E6=95=B0=E6=8D=AE=E5=AD=98=E5=82=A8=EF=BC=8C=E4=BB=8E=E8=AE=B0?= =?utf8?q?=E5=BD=95=E4=B8=80=E5=B0=8F=E6=97=B6=E5=86=85=E7=9A=84=E5=A2=9E?= =?utf8?q?=E5=80=BC=EF=BC=8C=E6=94=B9=E4=B8=BA=E8=AE=B0=E5=BD=95=E5=BD=93?= =?utf8?q?=E5=89=8D=E6=97=B6=E9=97=B4=E7=82=B9=E6=80=BB=E5=80=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- .../peripheral/cywee/src/board_yh601s.c | 54 +++++++++---------- .../drivers/peripheral/cywee/src/main_dml.c | 19 +++++-- 2 files changed, 41 insertions(+), 32 deletions(-) diff --git a/code/sdk/drivers/peripheral/cywee/src/board_yh601s.c b/code/sdk/drivers/peripheral/cywee/src/board_yh601s.c index 5acf5a5cd..264801d32 100644 --- a/code/sdk/drivers/peripheral/cywee/src/board_yh601s.c +++ b/code/sdk/drivers/peripheral/cywee/src/board_yh601s.c @@ -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: diff --git a/code/sdk/drivers/peripheral/cywee/src/main_dml.c b/code/sdk/drivers/peripheral/cywee/src/main_dml.c index b09064450..ec5cb5c84 100644 --- a/code/sdk/drivers/peripheral/cywee/src/main_dml.c +++ b/code/sdk/drivers/peripheral/cywee/src/main_dml.c @@ -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) -- 2.17.1