static int wake_time_hour = 0;\r
static int wake_time_min = 0;\r
static int sedentary_switch = 0;\r
+ static int sedentary_interval = 1;\r
static int sedentary_time = 0;\r
static int sedentary_start_hour = 0;\r
static int sedentary_start_min = 0;\r
{\r
sedentary_switch = get_sedentary_switch_from_config_model();\r
sedentary_time = get_sedentary_time_from_config_model();\r
+ sedentary_interval = get_sedentary_interval_from_config_model();\r
+ do_cywee_service_check_msg(CYWEE_SERVICE_CMD_SET_SEDENTARY_INTERVAL,&sedentary_interval);//设置久坐提醒间隔\r
+ \r
// sedentary_start_hour = (sedentary_time & 0XFF000000) >> 24;\r
// sedentary_start_min = (sedentary_time & 0X00FF0000) >> 16;\r
// sedentary_stop_hour = (sedentary_time & 0X0000FF00) >> 8;\r
{\r
// uapi_dev_runtime_set_sleep_status(0);\r
// do_cywee_service_check_msg(CYWEE_SERVICE_CMD_GET_SLEEP_DATA, NULL);\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "起床啦!");\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "起床啦!");\r
if (curTime.tm_hour == wake_time_hour && curTime.tm_min == wake_time_min && curTime.tm_sec == 0)\r
{\r
OHOS::SleepModel::GetInstance().set_sleep_state(OHOS::SLEEPSTATE::WAKE);\r
TOPIC_EVENT_NEXTDAY_UPDATE,
TOPIC_EVENT_WEARSTATE_UPDATE,
TOPIC_EVENT_STEPDATA_UPDATE,
- TOPIC_EVENT_AR_ALERT_TYPE_UPDATE,
TOPIC_EVENT_SHUTDOWN,
TOPIC_EVENT_HEARTRATE_UPDATA,
TOPIC_EVENT_STATIC_HEARTRATE_UPDATA,
#ifdef CYWEE_SPORT
TOPIC_EVENT_ACTIVITY_UPDATE,
TOPIC_EVENT_ACTIVITY_EXTRA_INFO_UPDATE,
+ TOPIC_EVENT_AR_ALERT_TYPE_UPDATE,
TOPIC_EVENT_INACTIVITY_UPDATE,
TOPIC_EVENT_INACTIVITY_ACCUMULATE_TIME_UPDATE,
TOPIC_EVENT_BLE_TRAINING,
{TOPIC_EVENT_NEXTDAY_UPDATE, A_CORE_MASK, 1},
{TOPIC_EVENT_WEARSTATE_UPDATE, A_CORE_MASK, 1},
{TOPIC_EVENT_STEPDATA_UPDATE, A_CORE_MASK, 1},
- {TOPIC_EVENT_AR_ALERT_TYPE_UPDATE, A_CORE_MASK, 1},
{TOPIC_EVENT_SHUTDOWN, A_CORE_MASK, 1},
{TOPIC_EVENT_HEARTRATE_UPDATA, A_CORE_MASK, 1},
{TOPIC_EVENT_STATIC_HEARTRATE_UPDATA, A_CORE_MASK, 1},
#ifdef CYWEE_SPORT
{TOPIC_EVENT_ACTIVITY_UPDATE, A_CORE_MASK, 1},
{TOPIC_EVENT_ACTIVITY_EXTRA_INFO_UPDATE, A_CORE_MASK, 1},
+ {TOPIC_EVENT_AR_ALERT_TYPE_UPDATE, A_CORE_MASK, 1},
{TOPIC_EVENT_INACTIVITY_UPDATE, A_CORE_MASK, 1},
{TOPIC_EVENT_INACTIVITY_ACCUMULATE_TIME_UPDATE, A_CORE_MASK, 1},
{TOPIC_EVENT_BLE_TRAINING,A_CORE_MASK,1},
{TOPIC_EVENT_NEXTDAY_UPDATE, PRIORITY_TWO},
{TOPIC_EVENT_ACTIVITY_UPDATE,PRIORITY_TWO},
{TOPIC_EVENT_ACTIVITY_EXTRA_INFO_UPDATE,PRIORITY_TWO},
+ {TOPIC_EVENT_AR_ALERT_TYPE_UPDATE,PRIORITY_TWO},
{TOPIC_EVENT_STEPDATA_UPDATE,PRIORITY_TWO},
{TOPIC_EVENT_INACTIVITY_UPDATE,PRIORITY_TWO},
{TOPIC_EVENT_INACTIVITY_ACCUMULATE_TIME_UPDATE,PRIORITY_TWO},
#ifdef CYWEE_SPORT
MsgCenterSubscribeTopic(TOPIC_EVENT_ACTIVITY_UPDATE);
MsgCenterSubscribeTopic(TOPIC_EVENT_ACTIVITY_EXTRA_INFO_UPDATE);
+ MsgCenterSubscribeTopic(TOPIC_EVENT_AR_ALERT_TYPE_UPDATE);
MsgCenterSubscribeTopic(TOPIC_EVENT_INACTIVITY_UPDATE);
MsgCenterSubscribeTopic(TOPIC_EVENT_INACTIVITY_ACCUMULATE_TIME_UPDATE);
MsgCenterSubscribeTopic(TOPIC_EVENT_BLE_TRAINING);
unused(topic);
}
+void MsgCenterNotifyArAlertProc(const Topic topic, Request* req)
+{
+ unused(topic);
+ NotificationManager::GetInstance()->ShowNotify(showSedentaryReminderNotify, (uint16_t)topic, true);
+}
+
void MsgCenterNotifyInactivityProc(const Topic topic, Request *req)
{
WEARABLE_LOGI(WEARABLE_LOG_MODULE_APP, "MsgCenterNotifyInactivityProc !");
#ifdef FD230
if(state_num < 20)
{
- sleep_data.sleep_status[state_num].timestamp = day_timestamp + cywee_Inactivity_Info->day * 24 * 60 * 60 + cywee_Inactivity_Info->hour * 60 * 60 + cywee_Inactivity_Info->minute * 60;
+ sleep_data.sleep_status[state_num].timestamp = day_timestamp + cywee_Inactivity_Info->hour * 60 * 60 + cywee_Inactivity_Info->minute * 60;
sleep_data.sleep_status[state_num].stat = cywee_Inactivity_Info->status;
fall_asleep_state_num = state_num;
state_num ++;
#ifdef CYWEE_SPORT
{TOPIC_EVENT_ACTIVITY_UPDATE, MsgCenterNotifyActivityProc},
{TOPIC_EVENT_ACTIVITY_EXTRA_INFO_UPDATE, MsgCenterNotifyActivityExtraInfoProc},
+ {TOPIC_EVENT_AR_ALERT_TYPE_UPDATE, MsgCenterNotifyArAlertProc},
{TOPIC_EVENT_INACTIVITY_UPDATE, MsgCenterNotifyInactivityProc},
{TOPIC_EVENT_INACTIVITY_ACCUMULATE_TIME_UPDATE, MsgCenterNotifyInactivityAccumulateTimeProc},
{TOPIC_EVENT_BLE_TRAINING, MsgCenterNotifybleAPPtraining},
* @Author: luozheng 1732036298@qq.com
* @Date: 2024-04-17 09:32:03
* @LastEditors: penglei 1624952103@qq.com
- * @LastEditTime: 2024-07-04 20:08:17
+ * @LastEditTime: 2024-08-15 18:23:37
* @FilePath: /FD230/code/sdk/drivers/peripheral/config/include/ConfigModelC.h
*/
#ifndef _CONFIG_MODEL_C_H_
int get_sedentary_switch_from_config_model(void);
int get_sedentary_time_from_config_model(void);
+int get_sedentary_interval_from_config_model(void);
+bool get_motion_recognition_from_config_model(void);
//设置睡眠频率
void set_config_heart(int heartRateDetectionFreq);
return sedentary_time;
}
+//获取久坐提醒间隔
+int get_sedentary_interval_from_config_model(void)
+{
+ int sedentary_interval = 0;
+ sedentary_interval = OHOS::ConfigModel::GetInstance()->get_configData_int(OHOS::ConfigModel::CONFIGMODEL_ITEM_SEDENTARY_INTERVAL);
+ return sedentary_interval;
+}
+
+//获取运动识别开关
+bool get_motion_recognition_from_config_model(void)
+{
+ bool flag = false;
+ flag = OHOS::ConfigModel::GetInstance()->get_configData_bool(OHOS::ConfigModel::CONFIGMODEL_ITEM_MOTIONRECOGNITION);
+ printf("get_motion_recognition_from_config_model flag : %d \n",flag);
+ return flag;
+}
+
// get flip wrist switch for c file
bool mmi_flip_wrist_switch_get(void)
{
int get_fat_time_data(void);
void cywee_get_chipinfo(char *databuf,uint8_t len);
-void cywee_set_sedentary_interval(int time);
+void cywee_set_sedentary_interval(int interval);
void cywee_set_sedentary_switch(int cmd);
void cywee_get_acc_switch(int cmd);
void cywee_stop(void);
CWM_SettingControl(SCL_SEDENTARY, &scl);
}
-void cywee_set_sedentary_interval(int time)
+void cywee_set_sedentary_interval(int interval)
{
- sedentary_interval = time;
+ sedentary_interval = interval;
}
void cywee_get_chipinfo(char *databuf,uint8_t len)
//设置睡眠
memset(&scl, 0, sizeof(scl));
scl.iData[0] = 1;
- scl.iData[2] = 0; // 0.不使用心率 1.使用心率 (暂时关闭,不使用心率数据输入算法)
+ scl.iData[2] = 1; // 0.不使用心率 1.使用心率 (暂时关闭,不使用心率数据输入算法)
CWM_SettingControl(SCL_SLEEP_CONFIG, &scl);
memset(&scl, 0, sizeof(scl));
if((int)sensorEVT->fData[1] == CUSTOM_OFFBODY_DETECT)
{
CWM_OS_dbgPrintf("CUSTOM_OFFBODY_DETECT !!! \r\n");
+#if 0
if((int)sensorEVT->fData[2] == 1)
send_ppg_cmd_msg(PPG_SERVICE_CMD_TYPE_DO_WEAR_MODE_TEST);
else
send_ppg_cmd_msg(PPG_SERVICE_CMD_TYPE_STOP_WEAR_MODE_TEST);
-
+#endif
}
if((int)sensorEVT->fData[1] == CUSTOM_ON_CHARGING)
{
CWM_SettingControl(SCL_INACTIVITY_CONFIG, &scl);
//设置运动识别
- memset(&scl, 0, sizeof(scl));
- scl.iData[0] = 1;
- scl.iData[1] = 1;// 0 关闭运动识别 1 打开运动识别
- CWM_SettingControl(SCL_AR_ALERT_CONFIG, &scl);
+ cywee_ar_alert_switch(get_motion_recognition_from_config_model());
#if 0
memset(&scl, 0, sizeof(scl));
func(HX3695_MSG_TYPE_STATIC_HRS_UPDATE,&hrsresult,sizeof(FT_CUSTOM_RESULTS_t));\r
}\r
}\r
- \r
- // if(hrs_mode_state || uapi_dev_runtime_get_sleep_status() == 1)\r
- if(hrs_mode_state)\r
+ //if(hrs_mode_state)\r
+ if(hrs_mode_state || uapi_dev_runtime_get_sleep_status() == 1)\r
{\r
cywee_data = hrsresult.lastesthrs;\r
do_cywee_service_check_msg(CYWEE_SERVICE_CMD_HRS_CHANGE,&cywee_data);\r