#include "SetDialModel.h"
+
//#include "AlarmClockModel.h"
#ifdef __cplusplus
#if __cplusplus
-#define CWM_HISTORY_DATA_PATH "/user/userdata/step_"
+#define CWM_HISTORY_DATA_PATH "/user/userdata/goal/step_"
-#define CWM_HISTORY_DATA_CALORIES_PATH "/user/userdata/calories_"
+#define CWM_HISTORY_DATA_CALORIES_PATH "/user/userdata/goal/calories_"
-#define CWM_HISTORY_DATA_DISTANCE_PATH "/user/userdata/distance_"
+#define CWM_HISTORY_DATA_DISTANCE_PATH "/user/userdata/goal/distance_"
-#define CWM_HISTORY_STAND_DATA_PATH "/user/userdata/stand_"
+#define CWM_HISTORY_STAND_DATA_PATH "/user/userdata/goal/stand_"
char * ble_sywee_history(uint8_t day,uint16_t *len ,uint8_t type)
{
char path_[64]={0};
char timeday[12] = {0};
- uapi_get_YYMMDD_Time(timeday, '_');
+ uapi_get_YYMMDD_Time_extend(timeday, '_',day);
switch (type)
{
}
-char * struct_to_json_buf_malloc_(void)
+char * struct_to_json_buf_malloc_(uint8_t day)
{
#ifdef FD230
cJSON *dataJSON = cJSON_CreateObject();
int i=0;
//char file_path[128] = {0};
char timeday[12] = {0};
- uapi_get_YYMMDD_Time(timeday, '_');
+ uapi_get_YYMMDD_Time_extend(timeday, '_',day);
printf("%s\r\n",timeday);
//sprintf(file_path, "%s%s.bin", TRAINING_PATH_BLE, timeday);
}
static char* JSON_F_buf=NULL;
#define PATH_MAX_LEN 124
-const char *get_health_data_path(void)
+const char *get_health_HEART_data_path( uint8_t day)
{
#ifdef FD230
- time_t now = time(0);
- tm *ltm = localtime(&now);
- char day[20];
- strftime(day, sizeof(day), "%Y%m%d", ltm);
+
+ char timeday[12] = {0};
+ uapi_get_YYMMDD_Time_extend(timeday, '\0',day);
+ printf("%s\r\n",timeday);
+
char buf[PATH_MAX_LEN]={0};
- sprintf_s(buf,PATH_MAX_LEN-1,"%s%s.json",OHOS::GET_HEALTH_JSON_PATH_C_STR_HEART(),day);
+ sprintf_s(buf,PATH_MAX_LEN-1,"%s%s.json",OHOS::GET_HEALTH_JSON_PATH_C_STR_HEART(),timeday);
if(JSON_F_buf != NULL)
{
free(JSON_F_buf);
}
-const char *get_health_OXYGEN_data_path(void)
+const char *get_health_OXYGEN_data_path(uint8_t day)
{
#ifdef FD230
- time_t now = time(0);
- tm *ltm = localtime(&now);
- char day[20];
- strftime(day, sizeof(day), "%Y%m%d", ltm);
+
+ char timeday[12] = {0};
+ uapi_get_YYMMDD_Time_extend(timeday, '\0',day);
+ printf("%s\r\n",timeday);
+
+
char buf[PATH_MAX_LEN]={0};
- sprintf_s(buf,PATH_MAX_LEN-1,"%s%s.json",OHOS::GET_HEALTH_JSON_PATH_C_STR_OXYGEN(),day);
+ sprintf_s(buf,PATH_MAX_LEN-1,"%s%s.json",OHOS::GET_HEALTH_JSON_PATH_C_STR_OXYGEN(),timeday);
if(JSON_F_buf != NULL)
{
free(JSON_F_buf);
void set_weather_now_data(int humidity, char* windScale, char* textNight,int uvIndex,int temp,int iconNight)
{
+ //UpdateWeatherViewData();
#ifdef FD230
return OHOS::UI_set_weather_now_data(humidity, windScale, textNight,uvIndex,temp,iconNight);
#endif
// };
#ifdef FD230
-void set_weather_one_data(int tempMin, int iconDay,int fxDate, int tempMax, char *textDay,int x)
+void set_weather_one_data(int tempMin, int iconDay,int fxDate, int tempMax, char *textDay,int count)
{
OHOS::ONE_DAY_DATA data_t;
data_t.tempMax=tempMax;
memset((void*)data_t.textDay,0,16);
strcpy(data_t.textDay,textDay);
-
- return UI_set_weather_seven_day_data(data_t ,x);
+ printf("set_weather_one_data %d\n",count);
+ return UI_set_weather_seven_day_data(data_t ,count);
}
#else
void set_weather_one_data(int tempMin, int iconDay,int fxDate, int tempMax, char *textDay,int x)
void set_weather_now_data(int humidity, char* windScale, char* textNight,int uvIndex,int temp,int iconNight);
void set_weather_address_data(int lat, char* atm, char* city,char* subLocality,int lon);
-void set_weather_one_data(int tempMin, int iconDay,int fxDate, int tempMax, char *textDay,int x);
+void set_weather_one_data(int tempMin, int iconDay,int fxDate, int tempMax, char *textDay,int count);
uint8_t ble_is_ready(void);
void set_ble_falg(bool falg);
void addressbookToRead(char*);
void addressbookTowrite(void);
-const char *get_health_data_path(void);
-const char *get_health_OXYGEN_data_path(void);
+const char *get_health_HEART_data_path(uint8_t day);
+const char *get_health_OXYGEN_data_path(uint8_t day);
void add_addressbookToRead(char *data);
void set_goal_standupcount(uint32_t time);//设置目标战立次数
int get_goal_standupcount(void);//获取目标站立次数
-char* struct_to_json_buf_malloc_(void);
+char* struct_to_json_buf_malloc_(uint8_t day);
char * struct_to_json_buf_malloc_Alarm(void);
set_weather_one_data(tempMin,iconDay,fxDate,tempMax,textDay,i);\r
\r
}\r
- \r
cJSON_Delete(root);\r
*check = 1;\r
return 1;\r
\r
if(Check_CRC(data,len,crcvalue))\r
{\r
- //解析,传来的二进制数据\r
- // char *address_path = addressbook();\r
- // FILE *file = fopen(address_path, "wb+");\r
- // if (file)\r
- // {\r
- // size_t len_t = fwrite((void *)data,1,len,file);\r
- // fclose(file); \r
- // if(len_t == len){\r
- // WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "fwrite:%d",len_t);\r
- \r
- // }\r
- // }\r
addressbookToRead((char*)data);\r
value[17] = 0x01;\r
value[18] = Calculate_CRC(value,18);\r
if(Check_CRC(data,len,crcvalue))\r
{\r
uint16_t daila_type = 0;\r
- memcpy(&daila_type,&data[17],2);\r
- printf("switchDialCmd %d !!!!!!!!!!\r\n",daila_type);\r
+ memcpy(&daila_type,&data[0],2);\r
+ printf("switchDialCmd %d %s %d !!!!!!!!!!\r\n",daila_type,data,len);\r
\r
ble_set_dial_by_id(daila_type);\r
value[17] = 1;//校验成功\r
}\r
}\r
//同步基础训练历史数据 training history data\r
-static void Send_json_Data_Cmd(uint16_t pack_size,uint8_t id)\r
+static void Send_json_Data_Cmd(uint8_t day,uint16_t pack_size,uint8_t id)\r
{\r
\r
\r
switch (id)\r
{\r
case 0x49:\r
- json_format=struct_to_json_buf_malloc_();\r
+ json_format=struct_to_json_buf_malloc_(day);\r
break;\r
case 0x01:\r
json_format=struct_to_json_buf_malloc_Alarm();\r
\r
\r
\r
-void Read_JSON_file_buf_send_bin_Data(uint8_t num,uint16_t id,char *data_item)\r
+void Read_JSON_file_buf_send_bin_Data(uint8_t day, uint8_t num,uint16_t id,char *data_item)\r
{\r
sendbigDataBufState = true;//分包同步数据不允许打断\r
char *buf=NULL;\r
switch (id)\r
{\r
case 0x40://同步心率历史数据\r
- path=get_health_data_path();\r
+ path=get_health_HEART_data_path(day);\r
dataBit = 1;//心率数据字节1个字节 uint8_t\r
break;\r
case 0x41://同步血氧历史数据\r
- path=get_health_OXYGEN_data_path();\r
+ path=get_health_OXYGEN_data_path(day);\r
dataBit = 1;//血氧数据字节1个字节 uint8_t\r
break;\r
case 0x4b://睡眠历史数据\r
\r
}\r
\r
-void Read_BIN_file_buf_send_bin_Data(uint32_t pack_size,uint16_t id)\r
+void Read_BIN_file_buf_send_bin_Data(uint8_t day,uint32_t pack_size,uint16_t id)\r
{\r
sendbigDataBufState = true;//分包同步数据不允许打断\r
char *buf=NULL;\r
uint8_t dataBit = 1;//默认是1个字节的数据\r
uint32_t data_len = 0;\r
\r
- data=ble_sywee_history(0,&data_len,id);\r
+ data=ble_sywee_history(day,&data_len,id);\r
\r
if(data==NULL)\r
{\r
{\r
num=96;\r
}\r
- printf("同步心率数据,每包最多:%d 条数据 data:%d\r\n",num,data[0]);\r
- Read_JSON_file_buf_send_bin_Data(num,0x40,"heart_data_list");\r
+ printf("同步心率数据,每包最多:%d 条数据 data:%d %d\r\n",num,data[0],len);\r
+ Read_JSON_file_buf_send_bin_Data(data[0],num,0x40,"heart_data_list");\r
break;\r
case 0x41://同步血氧历史数据\r
printf("同步血氧数据\r\n");\r
EACH_DATA_LEN = SPO2_DATA_LEN;\r
num=(ble_nus_max_data_len-18)/EACH_DATA_LEN;\r
- Read_JSON_file_buf_send_bin_Data(num,0x41,"spo2_data_list");\r
+ Read_JSON_file_buf_send_bin_Data(data[0],num,0x41,"spo2_data_list");\r
break;\r
case 0x43: //同步步数历史数据\r
\r
{\r
num=482;\r
}\r
- Read_BIN_file_buf_send_bin_Data(num,0x43);\r
+ Read_BIN_file_buf_send_bin_Data(data[0],num,0x43);\r
\r
break;\r
case 0x44://同步燃脂时间数据\r
EACH_DATA_LEN = FATTIME_DATA_LEN;\r
num=(ble_nus_max_data_len-18)/EACH_DATA_LEN;\r
- Read_JSON_file_buf_send_bin_Data(num,0x44,"heart_data_list");\r
+ Read_JSON_file_buf_send_bin_Data(data[0],num,0x44,"heart_data_list");\r
break;\r
case 0x45://同步站立历史数据\r
\r
{\r
num=482;\r
}\r
- Read_BIN_file_buf_send_bin_Data(num,0x45);\r
+ Read_BIN_file_buf_send_bin_Data(data[0],num,0x45);\r
\r
break;\r
case 0x46://同步卡路里历史数据\r
{\r
num=482;\r
}\r
- Read_BIN_file_buf_send_bin_Data(num,0x46);\r
+ Read_BIN_file_buf_send_bin_Data(data[0],num,0x46);\r
break;\r
case 0x47://同步距离历史数据\r
num=(ble_nus_max_data_len-18);\r
{\r
num=482;\r
}\r
- Read_BIN_file_buf_send_bin_Data(num,0x47);\r
+ Read_BIN_file_buf_send_bin_Data(data[0],num,0x47);\r
break;\r
case 0x49://同步基础训练历史数据\r
EACH_DATA_LEN = DIS_DATA_LEN;\r
{\r
num=482;\r
}\r
- Send_json_Data_Cmd(num,0x49);\r
+ Send_json_Data_Cmd(data[0],num,0x49);\r
break;\r
case 0x01://同步闹钟\r
EACH_DATA_LEN = DIS_DATA_LEN;\r
{\r
num=482;\r
}\r
- Send_json_Data_Cmd(num,0x01);\r
+ Send_json_Data_Cmd(data[0],num,0x01);\r
break;\r
case 0x4b://睡眠历史数据\r
EACH_DATA_LEN = DIS_DATA_LEN;\r
num=(ble_nus_max_data_len-18)/EACH_DATA_LEN;\r
- Read_JSON_file_buf_send_bin_Data(num,0x4b,"heart_data_list");\r
+ Read_JSON_file_buf_send_bin_Data(data[0],num,0x4b,"heart_data_list");\r
\r
break;\r
default:\r
}
-#define CWM_HISTORY_DATA_PATH "/user/userdata/step_"
+#define CWM_HISTORY_DATA_PATH "/user/userdata/goal/step_"
-#define CWM_HISTORY_DATA_CALORIES_PATH "/user/userdata/calories_"
+#define CWM_HISTORY_DATA_CALORIES_PATH "/user/userdata/goal/calories_"
-#define CWM_HISTORY_DATA_DISTANCE_PATH "/user/userdata/distance_"
+#define CWM_HISTORY_DATA_DISTANCE_PATH "/user/userdata/goal/distance_"
+#define GOAL_DATA_CONFIG_DIR "/user/userdata/goal"
typedef enum {
CYWEE_SAVE_DATA_STEP,
CYWEE_SAVE_DATA_DISTANCE,
CYWEE_SAVE_DATA_CALORIES,
} CYWEE_SAVE_DATA_TYPE;
+#include <sys/stat.h>
void CWM_OS_saveData_history(int* new_data,int *history ,uint32_t len,uint8_t type){
+
+ struct stat info;
+
+ if (stat(GOAL_DATA_CONFIG_DIR, &info) != 0)
+ {
+ if (mkdir(GOAL_DATA_CONFIG_DIR, S_IRWXU | S_IRWXG | S_IROTH | S_IXOTH) != 0)
+ {
+ return ; // Failed to create folder
+ }
+ }
char path_[64]={0};
char timeday[12] = {0};
uapi_get_YYMMDD_Time(timeday, '_');
fclose(fp);
}
-#define CWM_HISTORY_STAND_DATA_PATH "/user/userdata/stand_"
+#define CWM_HISTORY_STAND_DATA_PATH "/user/userdata/goal/stand_"
void CWM_OS_saveData_STAND_history(uint8_t *falg,uint32_t len){
if(*falg)
{
+ struct stat info;
+
+ if (stat(GOAL_DATA_CONFIG_DIR, &info) != 0)
+ {
+ if (mkdir(GOAL_DATA_CONFIG_DIR, S_IRWXU | S_IRWXG | S_IROTH | S_IXOTH) != 0)
+ {
+ return ; // Failed to create folder
+ }
+ }
+
+
char path_[64]={0};
char timeday[12] = {0};
uapi_get_YYMMDD_Time(timeday, '_');
+
sprintf_s(path_,64,"%s%s.bin",CWM_HISTORY_STAND_DATA_PATH,timeday);
CWM_OS_dbgPrintf(" save path %s \n",path_);