优化睡眠消息接收 449/1 449/head 451/target/1
authorpenglei <1624952103@qq.com>
Thu, 4 Jul 2024 09:03:24 +0000 (17:03 +0800)
committerpenglei <1624952103@qq.com>
Thu, 4 Jul 2024 09:03:24 +0000 (17:03 +0800)
code/sdk/application/wearable/fd230app/nativeui/alarmclocktimerconfig/src/AlarmClockTimerConfig.cpp
code/sdk/application/wearable/service/ble_service/blemoder/bletest.cpp
code/sdk/application/wearable/service/ble_service/bleservice/bleEvent.c
code/sdk/application/wearable/service/msg_center/src/msg_center_customer.cpp
code/sdk/drivers/peripheral/cywee/src/board_yh601s.c
code/sdk/drivers/peripheral/cywee/src/main_dml.c

index 0f072b2..53f27d4 100644 (file)
@@ -56,8 +56,8 @@ extern "C"
     // 设置睡眠提醒时间\r
     void get_sleep_time_notify(void)\r
     {\r
-        int goal_hour = sleep_time >> 16;\r
-        int goal_min = (sleep_time & 0X00FF);\r
+        int goal_hour = (sleep_time & 0XFFFF0000) >> 16;\r
+        int goal_min = (sleep_time & 0X0000FFFF);\r
         WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "goal_hour:%d goal_min:%d", goal_hour, goal_min);\r
 \r
         sleep_time_min = (goal_min >= SLEPPNOTIFY) ? goal_min - SLEPPNOTIFY : ((goal_min + 60) - SLEPPNOTIFY); // 避免分钟数为负\r
@@ -256,22 +256,26 @@ extern "C"
             // 进入睡眠模式\r
             if (curTime.tm_hour == ((sleep_time & 0XFFFF0000) >> 16) && curTime.tm_min == (sleep_time & 0X0000FFFF) && curTime.tm_sec == 0)\r
             {\r
-                do_cywee_service_check_msg(CYWEE_SERVICE_CMD_SLEEPING_MODE, NULL);\r
+                do_cywee_service_check_msg(CYWEE_SERVICE_CMD_GET_SLEEP_DATA, NULL);\r
                 // 睡眠弹窗\r
                 printf("要睡觉啦!\r\n");\r
                 AlarmEventPublish(TOPIC_EVENT_SLEEPNOTE, (uint8_t *)sleep_notify_time, 4);\r
                 // 设置状态为睡眠\r
                 OHOS::SleepModel::GetInstance().set_sleep_state(OHOS::SLEEPSTATE::SLEPP);\r
+                LOS_Msleep(1000);\r
+                do_cywee_service_check_msg(CYWEE_SERVICE_CMD_SLEEPING_MODE, NULL);\r
             }\r
             // 退出睡眠模式\r
             if (curTime.tm_hour == ((wake_up_time & 0XFFFF0000) >> 16) && curTime.tm_min == (wake_up_time & 0X0000FFFF) && curTime.tm_sec == 0)\r
             {\r
+                do_cywee_service_check_msg(CYWEE_SERVICE_CMD_GET_SLEEP_DATA, NULL);\r
                 printf("起床啦!\r\n");\r
-                do_cywee_service_check_msg(CYWEE_SERVICE_CMD_NAP_SEDENTARY_MODE, NULL);\r
                 // 早安提醒\r
                 AlarmEventPublish(TOPIC_EVENT_SLEEPNOTE, (uint8_t *)sleep_notify_time, 4);\r
-                // 设置状态为睡眠\r
+                // 设置状态为小睡\r
                 OHOS::SleepModel::GetInstance().set_sleep_state(OHOS::SLEEPSTATE::WALK);\r
+                LOS_Msleep(1000);\r
+                do_cywee_service_check_msg(CYWEE_SERVICE_CMD_NAP_MODE, NULL);\r
             }\r
         }\r
 \r
@@ -348,7 +352,7 @@ extern "C"
             g_alarmCtrB.info.week = week;\r
             g_alarmCtrB.info.hour = hour;\r
             g_alarmCtrB.info.minute = minute;\r
-            g_alarmCtrB.info.second = 1;\r
+            g_alarmCtrB.info.second = 5;\r
         }\r
         else\r
         {\r
index a0d491f..f14abfd 100644 (file)
@@ -534,9 +534,10 @@ char * ble_sywee_history(uint8_t day,uint16_t *len ,uint8_t type)
     printf("fread %d \r\n",ret);
     for(int i=0;i<ret;i++)
     {
-        printf(" %X",buf[i]);
+        printf(" %02X",(uint8_t)buf[i]);
     }
     *len=size;
+    fclose(fp);
     return buf;
 }
 
index 4139825..6aba681 100644 (file)
@@ -5014,7 +5014,7 @@ void readDevDataBle(uint16_t cmd,uint8_t *data,uint16_t len,uint8_t *totalData,u
                 EACH_DATA_LEN = DIS_DATA_LEN;\r
                 num=(ble_nus_max_data_len-18);\r
                 if(num>482)num=482;\r
-                Send_Sleep_Bin_Data(data[0],50);\r
+                Send_Sleep_Bin_Data(data[0],num);\r
                 break;\r
             case 0x21://文件目录\r
                 EACH_DATA_LEN = DIS_DATA_LEN;\r
index 215de73..7c46644 100644 (file)
@@ -1027,7 +1027,7 @@ void MsgCenterNotifyInactivityProc(const Topic topic, Request *req)
             {
                 sleep_data.fall_asleep_timestamp = timestamp;
             }
-            else if(cywee_Inactivity_Info->status == 14)
+            else if(cywee_Inactivity_Info->status == 4)
             {
                 sleep_data.wake_up_timestamp = timestamp;
             }
index 3b33728..4ad3ad1 100644 (file)
@@ -391,10 +391,14 @@ void CWM_OS_saveData_history(int* new_data,int *history ,uint32_t len,uint8_t ty
     }
     uint32_t creationTime;
     int ret =uapi_get_timestampe_ss(&creationTime);
+    uint8_t creationTime_[4]={0};
+    memcpy(creationTime_,&creationTime,4);
+     CWM_OS_dbgPrintf("uapi_get_timestampe_ss %02X %02X %02X %02X\n",creationTime_[0],creationTime_[1],creationTime_[2],creationTime_[3]);
 
-    CWM_OS_dbgPrintf("uapi_get_timestampe_ss %d\n",ret);
 
-    ret =fwrite(&creationTime,1,len,fp);
+    CWM_OS_dbgPrintf("uapi_get_timestampe_ss %d %d\n",ret,creationTime);
+
+    ret =fwrite(&creationTime,1,4,fp);
     if(ret==0)
     {
         CWM_OS_dbgPrintf("fwrite failed %d\n",ret);
index a0711d0..a5f69bf 100644 (file)
@@ -179,7 +179,7 @@ void distances_history_save(void)
 void fat_history_save(void)
 {
      int data= get_fat_time_data();
-    CWM_OS_saveData_history(&data,&history_fat_,sizeof(int),CYWEE_SAVE_DATA_FAT);
+    CWM_OS_saveData_history(&data,&history_fat_,sizeof(uint16_t),CYWEE_SAVE_DATA_FAT);
 }
 
 void cywee_goal_history_save(void)
@@ -214,14 +214,18 @@ void cywee_reset_daily_data(void)
     memset(&scl, 0, sizeof(scl));
     CWM_SettingControl(SCL_RESET_DAILY_INFO, &scl);
     history_step = 0;
+    history_calories=0; //一小时前卡路里数据
+    history_distances=0; //历史数据
+    history_fat=0; //历史数据
 }
 
 //INT[1] : 0 立即输出,但不中止睡眠。 1 立即输出且中止睡眠
 void cywee_get_sleep_data(void)
 {
+    CWM_OS_dbgPrintf("cywee_get_sleep_data\n");
     memset(&scl, 0, sizeof(scl));
     scl.iData[0] = 1;
-    scl.iData[1] = 0;
+    scl.iData[1] = 1;
     CWM_SettingControl(SCL_REQ_SLEEPING_DATA, &scl);
 }
 
@@ -1060,7 +1064,7 @@ int cywee_main_dml(void)
 
     cywee_activity_mode_change(SPORT_ACTIVE_MODE_NORMAL);
     
-    cywee_inactivity_mode_change(INACTIVITY_MODE_SEDENTARY_AND_NAP);
+    cywee_inactivity_mode_change(INACTIVITY_MODE_NAP);
 
     //cywee_inactivity_mode_change(INACTIVITY_MODE_SLEEPING);