namespace OHOS
{
- /*主天气背景图片*/
- static constexpr int16_t WEATHER_BACKGROUND_IMAGE_X = 0;
- static constexpr int16_t WEATHER_BACKGROUND_IMAGE_Y = 0;
- static constexpr int16_t WEATHER_BACKGROUND_IMAGE_W = 466;
- static constexpr int16_t WEATHER_BACKGROUND_IMAGE_H = 466;
-
- /*天气图片*/
- static constexpr int16_t WEATHER_IMAGE_X = 77;
- static constexpr int16_t WEATHER_IMAGE_Y = 124;
- static constexpr int16_t WEATHER_IMAGE_W = 130;
- static constexpr int16_t WEATHER_IMAGE_H = 130;
-
- /*当前时间标签*/
- static constexpr int16_t CURRENT_TIME_LABEL_X = 133;
- static constexpr int16_t CURRENT_TIME_LABEL_Y = 52;
- static constexpr int16_t CURRENT_TIME_LABEL_W = 200;
- static constexpr int16_t CURRENT_TIME_LABEL_H = 47;
- static constexpr int16_t CURRENT_TIME_LABEL_TEXT_FONT = 40;
- static constexpr int16_t CURRENT_TIME_LABEL_LINE_HEIGHT = 47;
-
- /*温度标签*/
- static constexpr int16_t TEMPERATURE_LABEL_X = 211;
- static constexpr int16_t TEMPERATURE_LABEL_Y = 126;
- static constexpr int16_t TEMPERATURE_LABEL_W = 178;
- static constexpr int16_t TEMPERATURE_LABEL_H = 125;
- static constexpr int16_t TEMPERATURE_LABEL_TEXT_FONT = 100;
- static constexpr int16_t TEMPERATURE_LABEL_LINE_HEIGHT = 125;
-
- /*天气描述标签*/
- static constexpr int16_t WEATHER_DESCRIPTION_LABEL_X = 33;
- static constexpr int16_t WEATHER_DESCRIPTION_LABEL_Y = 264;
- static constexpr int16_t WEATHER_DESCRIPTION_LABEL_W = 400;
- static constexpr int16_t WEATHER_DESCRIPTION_LABEL_H = 43;
- static constexpr int16_t WEATHER_DESCRIPTION_LABEL_TEXT_FONT = 35;
- static constexpr int16_t WEATHER_DESCRIPTION_LABEL_LINE_HEIGHT = 41;
-
- /*天气地区标签*/
- static constexpr int16_t WEATHER_AREA_LABEL_X = 43;
- static constexpr int16_t WEATHER_AREA_LABEL_Y = 330;
- static constexpr int16_t WEATHER_AREA_LABEL_W = 380;
- static constexpr int16_t WEATHER_AREA_LABEL_H = 33;
- static constexpr int16_t WEATHER_AREA_LABEL_TEXT_FONT = 26;
- static constexpr int16_t WEATHER_AREA_LABEL_LINE_HEIGHT = 30;
-
- /*最高与最低气温标签*/
- static constexpr int16_t MAXANDMIN_TEMPERATURE_LABEL_X = 83;
- static constexpr int16_t MAXANDMIN_TEMPERATURE_LABEL_Y = 368;
- static constexpr int16_t MAXANDMIN_TEMPERATURE_LABEL_W = 300;
- static constexpr int16_t MAXANDMIN_TEMPERATURE_LABEL_H = 33;
- static constexpr int16_t MAXANDMIN_TEMPERATURE_LABEL_TEXT_FONT = 20;
- static constexpr int16_t MAXANDMIN_TEMPERATURE_LABEL_LINE_HEIGHT = 23;
+
static constexpr int16_t PULLUP_ANIMATOR_VIEW_X = 213;
static constexpr int16_t PULLUP_ANIMATOR_VIEW_Y = 430;
#include "bletest.h"
#include <cywee_hal.h>
+void set_sedent_param( msg_sedent_set_param_info_t * data)
+{
+ OHOS::ConfigModel *p_ConfigModel = OHOS::ConfigModel::GetInstance();
+
+ p_ConfigModel->set_condigData_Int(OHOS::ConfigModel::CONFIGMODEL_ITEM_SEDENTARY_SWITCH,data->sedent_on);
+
+ p_ConfigModel->set_condigData_Int(OHOS::ConfigModel::CONFIGMODEL_ITEM_SEDENTARY_REMINDERTIME,data->sedent_time );
+
+ p_ConfigModel->set_condigData_Int(OHOS::ConfigModel::CONFIGMODEL_ITEM_SEDENTARY_INTERVAL,data->frequenc);
+
+ return;
+}
+
+
+void get_sedent_param( msg_sedent_set_param_info_t * data)
+{
+ OHOS::ConfigModel *p_ConfigModel = OHOS::ConfigModel::GetInstance();
+
+ data->sedent_on = p_ConfigModel->get_configData_int(OHOS::ConfigModel::CONFIGMODEL_ITEM_SEDENTARY_SWITCH);
+
+ data->sedent_time = p_ConfigModel->get_configData_int(OHOS::ConfigModel::CONFIGMODEL_ITEM_SEDENTARY_REMINDERTIME);
+
+ data->frequenc = p_ConfigModel->get_configData_int(OHOS::ConfigModel::CONFIGMODEL_ITEM_SEDENTARY_INTERVAL);
+
+ return;
+}
+
+
+
void ble_set_dial_by_id(uint16_t id)
{
return OHOS::SetDialModel::GetInstance().UpdateDialSetting(id);
}
-
-
#define CWM_HISTORY_DATA_PATH "/user/userdata/goal/step_"
#define CWM_HISTORY_DATA_CALORIES_PATH "/user/userdata/goal/calories_"
p_ConfigModel->set_condigData_Int(OHOS::ConfigModel::CONFIGMODEL_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::CONFIGMODEL_ITEM_SLEEP_BEDTIME,data.bedtime_hour<<16|data.bedtime_min);
p_ConfigModel->set_condigData_Int(OHOS::ConfigModel::CONFIGMODEL_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;
return;
}
-
-
// 闹钟数据:
// {
// //"code":1,
void set_user_data(msg_user_info_t *data)
{
-
OHOS::ConfigModel *p_ConfigModel = OHOS::ConfigModel::GetInstance();
printf("高:%d\r\n",data->height);
p_ConfigModel->set_condigData_Int(OHOS::ConfigModel::CONFIGMODEL_ITEM_CUSTOM_DATA_HEIGHT,data->height);
bool dial_file_save(void);
+//////////////////////久坐提醒////////////////////////////
+void set_sedent_param( msg_sedent_set_param_info_t * data);
+
+void get_sedent_param( msg_sedent_set_param_info_t * data);
+
+
#ifdef __cplusplus
#if __cplusplus
}
}\r
\r
}\r
+\r
+void SetsedentarinessSetParamCmd(uint16_t cmd,uint8_t *data,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] = 0x1D;\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(data,len,crcvalue))\r
+ {\r
+ msg_sedent_set_param_info_t sedent_data={0};\r
+ sedent_data.sedent_on=data[0];\r
+\r
+ // uint32_t sedent_on_time=data[1];\r
+ // sedent_data.sedent_time |= sedent_on_time<<24;\r
+\r
+ // sedent_on_time=data[2];\r
+ // sedent_data.sedent_time |= sedent_on_time<<16;\r
+\r
+ // sedent_on_time=data[3];\r
+ // sedent_data.sedent_time |= sedent_on_time<<8;\r
+\r
+ // sedent_on_time=data[4];\r
+ // sedent_data.sedent_time |= sedent_on_time<<0;\r
+ memcpy_s( &sedent_data.sedent_time,4,&data[1],4);\r
+ \r
+\r
+ sedent_data.frequenc = data[5];\r
+\r
+ set_sedent_param(&sedent_data);\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
+\r
+\r
+\r
//APP设置步数目标\r
void SetsteptargetParamCmd(uint16_t cmd,uint8_t *data,uint16_t len,uint8_t *totalData,uint8_t crcvalue)\r
{\r
getAPPaddressbook(typeID,data,datalen,totalData,crcvalue);\r
break;\r
case SET_ALARM_DATA_CMD:\r
+\r
SetAlarmDataCmd(typeID,data,datalen,totalData,crcvalue);\r
- \r
break;\r
case SET_OTHER_TARGET_CMD:\r
GetOtherTarget(typeID,data,datalen,totalData,crcvalue);\r
break;\r
+ case SET_PASSWORD_CMD:\r
+\r
+ break;\r
+ case SET_SEDENTARINESS_PARAM_CMD:\r
+ SetsedentarinessSetParamCmd(typeID,data,datalen,totalData,crcvalue);\r
+ break;\r
case QUERY_DIAL_INSTALLED_PARAM_CMD:\r
query_dial_installed(buffer_handle,typeID,data,datalen,totalData,crcvalue);\r
break;\r
}\r
}\r
\r
-//app获取睡眠设置\r
+//app获取久坐设置\r
+static void GetSedentParamCmd(uint16_t cmd,uint8_t *data,uint16_t len,uint8_t *totaldata,uint8_t crcvalue)\r
+{\r
+ uint8_t value[24];\r
+ memset(value,0,24);\r
+ uint32_t tmp = 1;\r
+ uint32_t datalen = 6;\r
+ uint16_t tmp_data =6;\r
+ value[0] = 0x72;\r
+ value[1] = 0x01;\r
+ value[2] = 0x31;\r
+ memcpy(value+3,&tmp,4);\r
+ memcpy(value+7,&datalen,4);\r
+ memcpy(value+11,&tmp,4);\r
+ memcpy(value+15,&tmp_data,2);\r
+ if(1)\r
+ {\r
+ msg_sedent_set_param_info_t data;\r
+ get_sedent_param( &data);\r
+\r
+ uint8_t on = data.sedent_on;//作息时间设定 0关闭 1开启 1\r
+ uint32_t time = data.sedent_time;//时间 4\r
+ uint8_t frequenc = data.frequenc;//间隔 1\r
+ \r
+ printf("%04X %d %d\r\n",time,frequenc,on);\r
+ value[17] = on;\r
+ memcpy_s(&value[18],4,&time,4);\r
+ \r
+ value[22] = frequenc;\r
+ value[23] = Calculate_CRC(value,23);\r
+ sendBleData(value,24);\r
+ }else\r
+ {\r
+ value[17] = 0;\r
+ value[18] = Calculate_CRC(value,18);\r
+ sendBleData(value,19);\r
+ }\r
+}\r
+\r
+\r
static void GetSleepParamCmd(uint16_t cmd,uint8_t *data,uint16_t len,uint8_t *totaldata,uint8_t crcvalue)\r
{\r
uint8_t value[24];\r
case SLEEP_GET_CMD://app获取睡眠设置\r
GetSleepParamCmd(cmd,data,datalen,totaldata,crcvalue);\r
break;\r
+ case GET_SEDENT_CMD:\r
+ GetSedentParamCmd(cmd,data,datalen,totaldata,crcvalue);\r
+ break;\r
case DELETE_ALL_DILA_CMD://app所有表盘UID\r
GetAllDialUidCmd(cmd,data,datalen,totaldata,crcvalue);\r
break;\r
TRANSMIT_DATA= TRANS_DIAL_SUCC;\r
CustomEventPublish(TOPIC_EVENT_BLE_TRANSMIT,&TRANSMIT_DATA,1);\r
\r
-\r
+ //0504\r
ble_reply_cmd(DIAL_INSTALL_REPY_CMD,1);\r
+\r
+ // ble_reply_cmd(GET_TRANS_END_CMD,1);\r
+ \r
}\r
else\r
{\r
#define GET_UNPAIR_CMD 0x012D //发送解除配对消息
#define SYN_DATA_END_CMD 0x012E //app发送同步数据结束消息
#define ENTER_FACTORY_TEST_CMD 0x0130 //进入工厂测试模式
+#define GET_SEDENT_CMD 0x0131 //获取久坐提醒设置
#define SYN_HEART_HISTORY_DATA_CMD 0x0140 //同步心率历史数据
#define SYN_SPO2_HISTORY_DATA_CMD 0x0141 //同步血氧历史数据
#define SYN_STRESS_HISTORY_DATA_CMD 0x0142 //同步压力历史数据
#define SYN_BASIC_TRANIN_HISTORY_DATA_CMD 0x0149 //同步基础训练历史数据basic training
#define SYN_SLEEP_HISTORY_DATA_CMD 0x014B //同步睡眠历史数据
-#define SET_DMP_MODE_CMD 0x0131
-#define GET_DMP_MODE_CMD 0x0132
+#define SET_DMP_MODE_CMD 0x0135
+#define GET_DMP_MODE_CMD 0x0136
#define FIND_PHONE_CMD 0x0501 //同步睡眠历史数据
#define SET_SLEEP_PARAM_CMD 0x0215 //app发送睡眠设置
#define SET_STEP_TARGET_CMD 0x0216 //app发送步数目标
#define SET_OTHER_TARGET_CMD 0x0217 //app发送其他目标
+#define SET_PASSWORD_CMD 0x021C //APP设置手表密码password
+#define SET_SEDENTARINESS_PARAM_CMD 0x021D //APP设置久坐提醒
#define SET_WEATHER_DATA_CMD 0x0220 //发送天气数据
#define SET_ALARM_DATA_CMD 0x0221 //发送闹钟数据
#define DELETE_FILE_CMD 0x0222 //删除指定文件
#define SYN_BASIC_REAL_HEATR_CMD 0x024B //同步基础训练试试心率记录
#define SYN_TODAY_BASIC_TRAIN_TXT_CMD 0x024D //同步当天任意时间之后的基础训练记录
+
#pragma pack(1)
typedef struct {
uint8_t drink_on;//提醒开关 0关闭 1开启
uint8_t timeformat;//时间制 0 24小时制 1 12小时制
}msg_user_info_t;//获取用户信息 身高体重
+
+typedef struct {
+ uint8_t sedent_on;//提醒开关 0关闭 1开启
+ uint32_t sedent_time;//时间
+ uint8_t frequenc;//提醒频率
+}msg_sedent_set_param_info_t;
+
+
#pragma pack()
/******************************************
*
{ConfigDataType::DATATYPE_INT, "sleep_remide", "0" }, // CONFIGMODEL_ITEM_SLEEP_REMIND,//提前20分钟提醒开关
{ConfigDataType::DATATYPE_BOOL, "sedentary_switch", "false" }, // CONFIGMODEL_ITEM_SEDENTARY_SWITCH,//久坐提醒开关
{ConfigDataType::DATATYPE_INT, "sedentary_interval", "1" }, // CONFIGMODEL_ITEM_SEDENTARY_INTERVAL,//久坐提醒时间间隔
- {ConfigDataType::DATATYPE_STRING, "sedentary_reminderTime ", "10:00-22:00" }, // CONFIGMODEL_ITEM_SEDENTARY_REMINDERTIME,//久坐提醒时间段
+ {ConfigDataType::DATATYPE_INT, "sedentary_reminderTime", "0" }, // CONFIGMODEL_ITEM_SEDENTARY_REMINDERTIME,//久坐提醒时间段 前16位是开始时间 前8 为小时 后8为分钟 后16位为结束时间规则同前 例: 1600 0B00 11点开始到 22点结束
{ConfigDataType::DATATYPE_STRING, "sim_iccid", "" },//CONFIGMODEL_ITEM_SIM_ICCID cat1的iccid
{ConfigDataType::DATATYPE_STRING, "telecom_regist_timesec", "" },//CONFIGMODEL_ITEM_TELECOM_DMP_TIMESEC
{ConfigDataType::DATATYPE_INT, "dmp_factory_status", "0" },//CONFIGMODEL_ITEM_DMP_FACTORY_STATUS默认是0