\r
void clean_sleep_flag(void)\r
{\r
- uapi_dev_runtime_set_sleep_status(0);\r
- uapi_dev_runtime_set_nap_status(0);\r
+ uapi_dev_runtime_set_sleep_monitoring_status(0);\r
+ uapi_dev_runtime_set_nap_monitoring_status(0);\r
}\r
\r
void clean_sedentary_flag(void)\r
AlarmEventPublish(TOPIC_EVENT_SLEEPNOTE, (uint8_t *)sleep_notify_time, 4);\r
}\r
}\r
- // 退出睡眠模式\r
- if (WAKE_TIME_RANGE && (uapi_dev_runtime_get_nap_status() == 0))\r
+ // é\80\80å\87ºç\9d¡ç\9c æ£\80æµ\8b模å¼\8få¹¶è¿\9bå\85¥å°\8fç\9d¡æ£\80æµ\8b模å¼\8f\r
+ if (WAKE_TIME_RANGE && (uapi_dev_runtime_get_nap_monitoring_status() == 0))\r
{\r
// uapi_dev_runtime_set_sleep_status(0);\r
// do_cywee_service_check_msg(CYWEE_SERVICE_CMD_GET_SLEEP_DATA, NULL);\r
\r
OHOS::SleepModel::GetInstance().ExitSleepModeAction();\r
\r
+ //判断是否还在睡眠\r
if (uapi_dev_runtime_get_sleep_status() == 0)\r
{\r
// 设置状态为小睡\r
- uapi_dev_runtime_set_nap_status(1);\r
+ uapi_dev_runtime_set_nap_monitoring_status(1);\r
+ uapi_dev_runtime_set_sleep_monitoring_status(0);\r
OHOS::SleepModel::GetInstance().ReInitData(); // 更新睡眠数据\r
SendMsgToUIService(UI_UPDATE_SLEEP_DATA, 0, nullptr, 0);\r
- do_cywee_service_check_msg(CYWEE_SERVICE_CMD_NAP_SEDENTARY_MODE, NULL);\r
+ do_cywee_service_check_msg(CYWEE_SERVICE_CMD_NAP_SEDENTARY_MODE, NULL);//算法底层切换小睡监测模式\r
}\r
}\r
- // 进入睡眠模式\r
- else if ((!WAKE_TIME_RANGE) && (uapi_dev_runtime_get_sleep_status() == 0))\r
+ // è¿\9bå\85¥ç\9d¡ç\9c æ£\80æµ\8b模å¼\8få¹¶é\80\80å\87ºå°\8fç\9d¡æ£\80æµ\8b模å¼\8f\r
+ else if ((!WAKE_TIME_RANGE) && (uapi_dev_runtime_get_sleep_monitoring_status() == 0))\r
{\r
- uapi_dev_runtime_set_sleep_status(1);\r
- uapi_dev_runtime_set_nap_status(0);\r
- do_cywee_service_check_msg(CYWEE_SERVICE_CMD_GET_SLEEP_DATA, NULL);\r
+ uapi_dev_runtime_set_sleep_monitoring_status(1);\r
+ uapi_dev_runtime_set_nap_monitoring_status(0);\r
+ do_cywee_service_check_msg(CYWEE_SERVICE_CMD_GET_SLEEP_DATA, NULL);//强制获取小睡数据,结束小睡\r
// 睡眠弹窗\r
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "要睡觉啦!");\r
// 设置状态为睡眠\r
\r
OHOS::SleepModel::GetInstance().EnterSleepModeAction();\r
\r
- LOS_Msleep(1000);\r
- do_cywee_service_check_msg(CYWEE_SERVICE_CMD_SLEEPING_MODE, NULL);\r
+ //LOS_Msleep(1000);\r
+ do_cywee_service_check_msg(CYWEE_SERVICE_CMD_SLEEPING_MODE, NULL);//算法底层切换睡眠监测模式\r
}\r
}\r
// 久坐提醒\r
#endif
free(cywee_Inactivity_Accumulate_Time_Info);
cywee_Inactivity_Accumulate_Time_Info = NULL;
- uapi_dev_runtime_set_sleep_status(0);
+ //uapi_dev_runtime_set_sleep_status(0);
}
//APP运动相关
c_inactivity_result_t.hour = (int)sensorEVT->fData[5];
c_inactivity_result_t.minute = (int)sensorEVT->fData[6];
+ //0进入睡眠 1潜睡 2深睡 3清醒 4结束睡眠 6入睡 7出睡最后一笔输出 8未出睡最后一笔输出 12快速动眼 13取消入睡
+ if(c_inactivity_result_t.status == 6)
+ uapi_dev_runtime_set_sleep_status(1);
+ else if(c_inactivity_result_t.status == 4 || c_inactivity_result_t.status == 13)
+ uapi_dev_runtime_set_sleep_status(0);
+
cywee_func(CYWEE_MSG_TYPE_INACTIVITY_UPDATE,&c_inactivity_result_t,sizeof(cywee_inactivity_result_t));
}else if((int)sensorEVT->fData[0] == 31){
c_inactivity_result_t.hour = (int)sensorEVT->fData[5];
c_inactivity_result_t.minute = (int)sensorEVT->fData[6];
+ if(c_inactivity_result_t.status == 0)
+ uapi_dev_runtime_set_sleep_status(1);
+ else if(c_inactivity_result_t.status == 14)
+ uapi_dev_runtime_set_sleep_status(0);
+
cywee_func(CYWEE_MSG_TYPE_INACTIVITY_UPDATE,&c_inactivity_result_t,sizeof(cywee_inactivity_result_t));
}else if((int)sensorEVT->fData[0] == 32){
cat1_runtime_status_t cat1_runtime;
char current_dial_name[32];
uint8_t time_hour_show_model;
- uint8_t sleep_status;
- uint8_t nap_status;
+ uint8_t sleep_monitoring_status;//睡眠监测
+ uint8_t sleep_status;//睡眠状态
+ uint8_t nap_status;//小睡状态
+ uint8_t nap_monitoring_status;//小睡监测
uint8_t sedentary_status;
uint8_t drinkremind_status;
uint8_t train_status;//训练状态
return g_runtime.vibmod;
}
+void uapi_dev_runtime_set_sleep_monitoring_status(uint8_t status)
+{
+ g_runtime.sleep_monitoring_status=status;
+}
+uint8_t uapi_dev_runtime_get_sleep_monitoring_status(void)
+{
+ return g_runtime.sleep_monitoring_status;
+}
+
void uapi_dev_runtime_set_sleep_status(uint8_t status)
{
g_runtime.sleep_status=status;
return g_runtime.nap_status;
}
+void uapi_dev_runtime_set_nap_monitoring_status(uint8_t status)
+{
+ g_runtime.nap_monitoring_status=status;
+}
+uint8_t uapi_dev_runtime_get_nap_monitoring_status(void)
+{
+ return g_runtime.nap_monitoring_status;
+}
+
void uapi_dev_runtime_set_sedentary_status(uint8_t status)
{
g_runtime.sedentary_status=status;
uint8_t uapi_dev_runtime_get_sleep_status(void);
void uapi_dev_runtime_set_nap_status(uint8_t status);
uint8_t uapi_dev_runtime_get_nap_status(void);
+void uapi_dev_runtime_set_sleep_monitoring_status(uint8_t status);
+uint8_t uapi_dev_runtime_get_sleep_monitoring_status(void);
+void uapi_dev_runtime_set_nap_monitoring_status(uint8_t status);
+uint8_t uapi_dev_runtime_get_nap_monitoring_status(void);
void uapi_dev_runtime_set_sedentary_status(uint8_t status);
uint8_t uapi_dev_runtime_get_sedentary_status(void);
void uapi_dev_runtime_set_drinkremind_status(uint8_t status);