CONFIFMOFEL_ITEM_NOTIFY,//消息通知开关
+ //喝水提醒相关
+ CONFIFMOFEL_ITEM_DRINK,//开关 0 关闭 1开始 2间隔提醒
+ CONFIFMOFEL_ITEM_DRINK_GOAL,//目标。ml
+ CONFIFMOFEL_ITEM_DRINK_START,//提醒开始时间 int类型 前16位小时,后16位分钟
+ CONFIFMOFEL_ITEM_DRINK_END,//提醒结束时间 int类型 前16位小时,后16位分钟
+ CONFIGMODEL_ITEM_DRINK_FREQ,//提醒频率 0:30分钟1:1小时2:2小时 3:3小时
+
+ //睡眠提醒相关
+ CONFIFMOFEL_ITEM_SLEEP, //开关
+ CONFIFMOFEL_ITEM_SLEEP_BEDTIME,//就寝时间
+ CONFIFMOFEL_ITEM_SLEEP_GET_UP,//起床时间
+ CONFIFMOFEL_ITEM_SLEEP_REMIND,//提前20分钟提醒开关
+
CONFIGMODEL_ITEM_MAX,
} ;
{ConfigDataType::DATATYPE_INT, "HeartRateDetected", "0" },// CONFIFMOFEL_ITEM_HEARTRATE_DETECTED//心率周期检测频率
{ConfigDataType::DATATYPE_INT, "HeartRateMax", "0" },// CONFIFMOFEL_ITEM_HEARTRATE_MAX//最大心率
{ConfigDataType::DATATYPE_INT, "HeartRateMin", "0" },// CONFIFMOFEL_ITEM_HEARTRATE_MIN//最小心率
+
+ {ConfigDataType::DATATYPE_BOOL, "NOTIFY", "false" },// CONFIFMOFEL_ITEM_HEARTRATE_MIN//最小心率
+
+ {ConfigDataType::DATATYPE_INT, "drink", "0" },// CONFIFMOFEL_ITEM_DRINK,//开关 0 关闭 1开始 2间隔提醒
+ {ConfigDataType::DATATYPE_INT, "drinkgoal", "0" },// CONFIFMOFEL_ITEM_DRINK_GOAL,//目标。ml
+ {ConfigDataType::DATATYPE_INT, "drinkstart", "0" }, // CONFIFMOFEL_ITEM_DRINK_START,//提醒开始时间 int类型 前16位小时,后16位分钟
+ {ConfigDataType::DATATYPE_INT, "drinkend", "0" }, // CONFIFMOFEL_ITEM_DRINK_END,//提醒结束时间 int类型 前16位小时,后16位分钟
+ {ConfigDataType::DATATYPE_INT, "drinkfreq", "0" }, // CONFIGMODEL_ITEM_DRINK_FREQ,//提醒频率
+
+
};
ConfigModel(); // 私有构造函数,确保无法在外部实例化
ConfigModel(const ConfigModel &) = delete; // 禁止拷贝构造
#include "bleService.h"
#include "bletest.h"
+void ble_set_sleep_remind(msg_get_sleep_param_info_t data)
+{
+ OHOS::ConfigModel *p_ConfigModel = OHOS::ConfigModel::GetInstance();
+ printf("开关:%d\r\n",data.schedule);
+ p_ConfigModel->set_condigData_Int(OHOS::ConfigModel::CONFIFMOFEL_ITEM_SLEEP,data.schedule);
+ if(data.schedule)
+ {
+
+ printf("开始时间:%d\r\n",data.bedtime_hour);
+ printf("开始时间:%d\r\n",data.bedtime_min);
+ p_ConfigModel->set_condigData_Int(OHOS::ConfigModel::CONFIFMOFEL_ITEM_SLEEP_BEDTIME,data.bedtime_hour<<16|data.bedtime_min);
+
+ printf("结束时间:%d\r\n",data.waketime_hour);
+ printf("结束时间:%d\r\n",data.waketime_min);
+ p_ConfigModel->set_condigData_Int(OHOS::ConfigModel::CONFIFMOFEL_ITEM_SLEEP_GET_UP,data.waketime_hour<<16|data.waketime_min);
+
+ printf("睡前提醒 %d\r\n",data.bedtime_alarm);
+ p_ConfigModel->set_condigData_Int(OHOS::ConfigModel::CONFIFMOFEL_ITEM_SLEEP_REMIND,data.bedtime_alarm);
+
+
+ }
+ return;
+}
+
+
+void ble_get_sleep_remind(msg_get_sleep_param_info_t *data)
+{
+ OHOS::ConfigModel *p_ConfigModel = OHOS::ConfigModel::GetInstance();
+
+ data->schedule = p_ConfigModel->get_configData_int(OHOS::ConfigModel::CONFIFMOFEL_ITEM_SLEEP);
+ printf("开关:%d\r\n",data->schedule);
+
+ uint32_t bedtime= p_ConfigModel->get_configData_int(OHOS::ConfigModel::CONFIFMOFEL_ITEM_SLEEP_BEDTIME);
+ data->bedtime_hour=bedtime>>16;
+ data->bedtime_min=bedtime&0x00ff;
+ printf("开始时间:%d\r\n",data->bedtime_hour);
+ printf("开始时间:%d\r\n",data->bedtime_min);
+
+ uint32_t wakettime= p_ConfigModel->get_configData_int(OHOS::ConfigModel::CONFIFMOFEL_ITEM_SLEEP_GET_UP);
+ data->waketime_hour=bedtime>>16;
+ data->waketime_min=bedtime&0x00ff;
+ printf("结束时间:%d\r\n",data->waketime_hour);
+ printf("结束时间:%d\r\n",data->waketime_min);
+
+ data->bedtime_alarm= p_ConfigModel->get_configData_int(OHOS::ConfigModel::CONFIFMOFEL_ITEM_SLEEP_REMIND);
+
+ printf("睡前提醒 %d\r\n",data->bedtime_alarm);
+
+ return;
+}
+
+
+
+
+
+void ble_set_drink_remind(msg_drink_info_t data)
+{
+ OHOS::ConfigModel *p_ConfigModel = OHOS::ConfigModel::GetInstance();
+ printf("开关:%d\r\n",data.drink_on);
+ p_ConfigModel->set_condigData_Int(OHOS::ConfigModel::CONFIFMOFEL_ITEM_DRINK,data.drink_on);
+ if(data.drink_on)
+ {
+ printf("目标:%d\r\n",data.goal);
+ p_ConfigModel->set_condigData_Int(OHOS::ConfigModel::CONFIFMOFEL_ITEM_DRINK_GOAL,(double)data.goal);
+ printf("开始时间:%d\r\n",data.time_start);
+ p_ConfigModel->set_condigData_Int(OHOS::ConfigModel::CONFIFMOFEL_ITEM_DRINK_START,data.time_start);
+ if(data.drink_on==2)
+ {
+ printf("结束时间:%d\r\n",data.time_end);
+ p_ConfigModel->set_condigData_Int(OHOS::ConfigModel::CONFIFMOFEL_ITEM_DRINK_END,data.time_end);
+ printf("频率:%d\r\n",data.freq);
+ p_ConfigModel->set_condigData_Int(OHOS::ConfigModel::CONFIGMODEL_ITEM_DRINK_FREQ,data.freq);
+
+ }
+ }
+ return;
+}
+
+void ble_get_drink_remind(msg_drink_info_t *data)
+{
+ OHOS::ConfigModel *p_ConfigModel = OHOS::ConfigModel::GetInstance();
+ data->drink_on = p_ConfigModel-> get_configData_int(OHOS::ConfigModel::CONFIFMOFEL_ITEM_DRINK);
+ if(data->drink_on)
+ data->drink_on=1;
+ printf("开关:%d\r\n",data->drink_on);
+
+ return;
+}
+
+
+
// 闹钟数据:
// {
// //"code":1,
}
void set_languaage(uint32_t id)
-{
- OHOS:: language language;
- language.ChangeLanguage(id);
+{//OHOS:: language language;
+ OHOS::language::GetInstance()->ChangeLanguage(id);
}
char *addressbook(void)//获取通讯录保存文件地址路径
struct ancs_data_info_t message_t[MAX_MESSAGE_NUM];
};
+typedef struct
+{
+ //对应数据的指令类型
+ uint32_t drink_on;//0 关闭 1 开启
+ uint32_t goal;
+ uint32_t time_start;
+ uint32_t time_end;
+ uint32_t freq;
+}msg_drink_info_t;
+
void read_message_data(void);//读内存信息数据开机读一次
struct message_infor_t *get_message_info(void);
void set_weather_now_data(int humidity, char* windScale, char* textNight,int uvIndex,int temp,int iconNight);
void ble_delet_all_AlarmInfo(void);
+void ble_set_drink_remind(msg_drink_info_t);
+
+void ble_get_drink_remind(msg_drink_info_t *data);
+
+
+void ble_get_sleep_remind(msg_get_sleep_param_info_t *data);
+
+void ble_set_sleep_remind(msg_get_sleep_param_info_t data);
#ifdef __cplusplus
#if __cplusplus
}
\r
}\r
\r
-void GetDrinkSetParamCmd(uint16_t cmd,uint8_t *crcnum,uint16_t len,uint8_t *totalData,uint8_t crcvalue)//获取喝水提醒s设置\r
+void SetsleepSetParamCmd(uint16_t cmd,uint8_t *crcnum,uint16_t len,uint8_t *totalData,uint8_t crcvalue)//设置睡眠\r
+{\r
+ uint32_t tmp = 1;\r
+ uint16_t tmp_data = 1;\r
+ uint8_t sendBuf[19];\r
+ memset(sendBuf,0,19);\r
+ sendBuf[0] = 0x72;\r
+ sendBuf[1] = 0x02;\r
+ sendBuf[2] = 0x15;\r
+ memcpy(sendBuf+3,&tmp,4);\r
+ memcpy(sendBuf+7,&tmp,4);\r
+ memcpy(sendBuf+11,&tmp,4);\r
+ memcpy(sendBuf+15,&tmp_data,2);\r
+\r
+ if(Check_CRC(crcnum,len,crcvalue))\r
+ {\r
+ msg_get_sleep_param_info_t sleep_info;\r
+ sleep_info.schedule = crcnum[0];\r
+ sleep_info.bedtime_hour= crcnum[1];\r
+ sleep_info.bedtime_min= crcnum[2];\r
+ sleep_info.waketime_hour= crcnum[3];\r
+ sleep_info.waketime_min= crcnum[4];\r
+ sleep_info.bedtime_alarm= crcnum[5];\r
+ ble_set_sleep_remind(sleep_info);\r
+\r
+ sendBuf[17] = 1;\r
+ sendBuf[18] = Calculate_CRC(sendBuf,18);\r
+ sendBleData(sendBuf,19);\r
+ }\r
+ else\r
+ {\r
+ sendBuf[17] = 0;\r
+ sendBuf[18] = Calculate_CRC(sendBuf,18);\r
+ sendBleData(sendBuf,19);\r
+ }\r
+}\r
+\r
+void SetDrinkSetParamCmd(uint16_t cmd,uint8_t *crcnum,uint16_t len,uint8_t *totalData,uint8_t crcvalue)//获取喝水提醒s设置\r
{\r
uint32_t tmp = 1;\r
uint16_t tmp_data = 1;\r
\r
if(Check_CRC(crcnum,len,crcvalue))\r
{\r
- ble_recv_msg_callback_t func = ble_recv_get_send_msg_callback_func();\r
- msg_drink_set_param_info_t drink_info;\r
- if(func != NULL)\r
- {\r
- func(READ_FLASH_DATA,SET_DRINK_PARAM_CMD,&drink_info,sizeof(msg_drink_set_param_info_t));\r
- }//读设备内存\r
- printf("drink_info:%d %d %d\r\n",drink_info.drink_on,drink_info.alarm_mode,drink_info.start_hour);\r
+ msg_drink_info_t drink_info;\r
drink_info.drink_on = crcnum[0];\r
- if(drink_info.drink_on == 0){\r
- drink_info.drink_on = 0;\r
- }else{\r
- drink_info.drink_on = crcnum[0];\r
- drink_info.alarm_mode = crcnum[1];\r
- drink_info.target_drink = crcnum[2]+crcnum[3]*256;\r
- drink_info.start_hour = crcnum[4];\r
- drink_info.startt_min = crcnum[5];\r
- drink_info.end_hour = crcnum[6];\r
- drink_info.end_min = crcnum[7];\r
- drink_info.frequenc = crcnum[8];\r
+ if(crcnum[1])\r
+ {\r
+ drink_info.drink_on=2;\r
}\r
- if(func != NULL)\r
+ // drink_info.drink_on = crcnum[1];\r
+ drink_info.goal = crcnum[2]+crcnum[3]*256;\r
+ drink_info.time_start = crcnum[4]<<16|crcnum[5];\r
+ if(crcnum[1])\r
{\r
- func(WRITE_FLASH_DATA,SET_DRINK_PARAM_CMD,&drink_info,sizeof(msg_drink_set_param_info_t));\r
+ drink_info.time_end = crcnum[6]<<16|crcnum[7];\r
+ drink_info.freq = crcnum[8];\r
+ \r
}\r
+ ble_set_drink_remind(drink_info);\r
\r
sendBuf[17] = 1;\r
sendBuf[18] = Calculate_CRC(sendBuf,18);\r
GetSpo2SetParamCmd(typeID,data,datalen,totalData,crcvalue);\r
break;\r
case SET_DRINK_PARAM_CMD://app下发的喝水提醒设置\r
- GetDrinkSetParamCmd(typeID,data,datalen,totalData,crcvalue);\r
+ SetDrinkSetParamCmd(typeID,data,datalen,totalData,crcvalue);\r
+ break;\r
+ case SET_SLEEP_PARAM_CMD://app下发的喝水提醒设置\r
+ SetsleepSetParamCmd(typeID,data,datalen,totalData,crcvalue);\r
break;\r
case SET_STEP_TARGET_CMD://app下发的步数目标设置\r
SetsteptargetParamCmd(typeID,data,datalen,totalData,crcvalue);\r
memcpy(value+15,&tmp_data,2);\r
if(1)\r
{\r
- msg_drink_param_info_t drink_on_t;\r
- memset(&drink_on_t,0,sizeof(msg_drink_param_info_t));\r
- ble_recv_msg_callback_t func = ble_recv_get_send_msg_callback_func();\r
- if(func != NULL){\r
- func(READ_FLASH_DATA,cmd,&drink_on_t,sizeof(msg_drink_param_info_t));\r
- }\r
- value[17] = drink_on_t.drink_on;// \r
+ msg_drink_info_t drink_on_;\r
+ ble_get_drink_remind(&drink_on_);\r
+ value[17] = drink_on_.drink_on;// \r
value[18] = Calculate_CRC(value,18);\r
sendBleData(value,19);\r
}\r
memcpy(value+15,&tmp_data,2);\r
if(1)\r
{\r
- uint8_t sleepTime = 0;//作息时间设定 0关闭 1开启\r
- uint8_t bedTimeHour = 0;//就寝时间\r
- uint8_t bedTimeMin = 0;//就寝时间\r
- uint8_t wakeTimeHour = 0;//起床时间\r
- uint8_t wakeTimeMin = 0;//起床时间\r
- uint8_t bedTimeOn = 0;//就寝前20分钟提醒时间\r
+ msg_get_sleep_param_info_t data;\r
+\r
+ ble_get_sleep_remind(&data);\r
+ uint8_t sleepTime = data.schedule;//作息时间设定 0关闭 1开启\r
+ uint8_t bedTimeHour = data.bedtime_hour;//就寝时间\r
+ uint8_t bedTimeMin = data.bedtime_min;//就寝时间\r
+ uint8_t wakeTimeHour = data.waketime_hour;//起床时间\r
+ uint8_t wakeTimeMin = data.waketime_min;//起床时间\r
+ uint8_t bedTimeOn = data.bedtime_alarm;//就寝前20分钟提醒时间\r
+\r
value[17] = sleepTime;\r
value[18] = bedTimeHour;\r
value[19] = bedTimeMin;\r
case KM_MILE_CMD://app设置手表公英制单位\r
GetMetricCmd(cmd,data,datalen,totaldata,crcvalue);\r
break;\r
- case SLEEP_SET_CMD://app获取睡眠设置\r
+ case SLEEP_GET_CMD://app获取睡眠设置\r
GetSleepParamCmd(cmd,data,datalen,totaldata,crcvalue);\r
break;\r
case DELETE_ALL_DILA_CMD://app所有表盘UID\r
#define RESET_WATCH_CMD 0x0126 //重新启动
#define POWER_OFF_CMD 0x0127 //关机
#define KM_MILE_CMD 0x0128 //公英制
-#define SLEEP_SET_CMD 0x0129 //app获取睡眠设置
+#define SLEEP_GET_CMD 0x0129 //app获取睡眠设置
#define DELETE_ALL_DILA_CMD 0x012A //删除所有表盘
#define GET_TARGET_STEP_CMD 0x012B //目标步数设置
#define GET_OTHER_TARGET_CMD 0x012C //其他目标设置
#define SET_WATCH_HR_SET_PARAM_CMD 0x0212 //app发送心率设置参数
#define SET_WATCH_SPO2_SET_PARAM_CMD 0x0213 //app发送血氧设置参数
#define SET_DRINK_PARAM_CMD 0x0214 //app发送喝水提醒设置
+#define SET_SLEEP_PARAM_CMD 0x0215 //app发送睡眠设置
#define SET_STEP_TARGET_CMD 0x0216 //app发送步数目标
#define SET_OTHER_TARGET_CMD 0x0217 //app发送其他目标
#define SET_WEATHER_DATA_CMD 0x0220 //发送天气数据
uint16_t fat_time;//燃脂时间目标
uint8_t target_stand;//目标站立
uint8_t timeformat;//时间制 0 24小时制 1 12小时制
+
}msg_user_info_t;//获取用户信息 身高体重
/******************************************