From 73729e8b99ee7dedff735bb726275611caf75e6f Mon Sep 17 00:00:00 2001 From: hcj <1224667075@qq.com> Date: Thu, 27 Jun 2024 09:47:19 +0800 Subject: [PATCH] =?utf8?q?=E4=BF=AE=E6=94=B9=E6=95=B0=E6=8D=AE=E4=BF=9D?= =?utf8?q?=E5=AD=98BUG?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- .../peripheral/cywee/src/board_yh601s.c | 36 ++++++++++++------- 1 file changed, 23 insertions(+), 13 deletions(-) diff --git a/code/sdk/drivers/peripheral/cywee/src/board_yh601s.c b/code/sdk/drivers/peripheral/cywee/src/board_yh601s.c index 36df2028e..5acf5a5cd 100644 --- a/code/sdk/drivers/peripheral/cywee/src/board_yh601s.c +++ b/code/sdk/drivers/peripheral/cywee/src/board_yh601s.c @@ -274,8 +274,19 @@ typedef enum { #define CWM_DISTANCE_DATA_PATH "/user/userdata/sport/distancecount.bin" #define CWM_FAT_DATA_PATH "/user/userdata/sport/fatcount.bin" +#define CWM_DATA_DIR_PATH "/user/userdata/sport" +#include void CWM_OS_saveData(int* data, uint32_t len,uint8_t type){ + struct stat info; + + if (stat(CWM_DATA_DIR_PATH, &info) != 0) + { + if (mkdir(CWM_DATA_DIR_PATH, S_IRWXU | S_IRWXG | S_IROTH | S_IXOTH) != 0) + { + return ; // Failed to create folder + } + } FILE * fp=NULL; switch (type) { @@ -304,10 +315,9 @@ void CWM_OS_saveData(int* data, uint32_t len,uint8_t type){ return; } int ret =fwrite(data,1,len,fp); - if(ret==0) - { - CWM_OS_dbgPrintf("fwrite failed %d\n",ret); - } + + CWM_OS_dbgPrintf("CWM_OS_saveData fwrite failed %d %d\n",ret,*data); + fclose(fp); } @@ -325,7 +335,7 @@ void CWM_OS_saveData(int* data, uint32_t len,uint8_t type){ #define GOAL_DATA_CONFIG_DIR "/user/userdata/goal" -#include + void CWM_OS_saveData_history(int* new_data,int *history ,uint32_t len,uint8_t type){ @@ -462,20 +472,21 @@ void CWM_OS_saveData_STAND_history(uint8_t *falg,uint32_t len){ void CWM_OS_restoreData(int* data, uint32_t len,uint8_t type){ + FILE * fp=NULL; switch (type) { case CYWEE_SAVE_DATA_CALORIES: - fp = fopen(CWM_CALORIES_DATA_PATH,"wb"); + fp = fopen(CWM_CALORIES_DATA_PATH,"rb"); break; case CYWEE_SAVE_DATA_STEP: - fp = fopen(CWM_STEP_DATA_PATH,"wb"); + fp = fopen(CWM_STEP_DATA_PATH,"rb"); break; case CYWEE_SAVE_DATA_DISTANCE: - fp = fopen(CWM_DISTANCE_DATA_PATH,"wb"); + fp = fopen(CWM_DISTANCE_DATA_PATH,"rb"); break; case CYWEE_SAVE_DATA_FAT: - fp = fopen(CWM_FAT_DATA_PATH,"wb"); + fp = fopen(CWM_FAT_DATA_PATH,"rb"); break; default: break; @@ -488,9 +499,8 @@ void CWM_OS_restoreData(int* data, uint32_t len,uint8_t type){ return; } int ret =fread(data,1,len,fp); - if(ret==0) - { - CWM_OS_dbgPrintf("fread failed %d\n",ret); - } + + CWM_OS_dbgPrintf("CWM_OS_restoreData fread failed %d %d\n",ret,*data); + fclose(fp); } \ No newline at end of file -- 2.17.1