Merge #441 into sdk602patch0626 from refs/changes/441/head 445/target/1
author彭磊 <1624952103@qq.com>
Wed, 3 Jul 2024 06:54:49 +0000 (06:54 +0000)
committersnickersun@163.com <accounts_62b90f7fcf51ade33b6f628e@mail.teambition.com>
Wed, 3 Jul 2024 06:54:49 +0000 (06:54 +0000)
优化小睡与睡眠消息接收

* refs/changes/441/head: (1 commits squashed)

  - 优化小睡与睡眠消息接收

Signed-off-by: aliyun6865282430 <1624952103@qq.com>
Reviewed-by: snickersun@163.com <accounts_62b90f7fcf51ade33b6f628e@mail.teambition.com>
Merged-by: snickersun@163.com <accounts_62b90f7fcf51ade33b6f628e@mail.teambition.com>
link: https://codeup.aliyun.com/64191456b9581d62e8f81ac0/FD230/change/441
code/sdk/application/wearable/service/msg_center/src/msg_center_customer.cpp
code/sdk/drivers/peripheral/cywee/Inc/cywee_hal.h
code/sdk/drivers/peripheral/cywee/src/main_dml.c

index 5d09432..78450fc 100644 (file)
@@ -1137,26 +1137,25 @@ void MsgCenterNotifyInactivityAccumulateTimeProc(const Topic topic, Request* req
         return;
     }
 #ifdef FD230
-    if(nap_data.wake_up_timestamp != 0)
+    if(cywee_Inactivity_Accumulate_Time_Info->output_number == INACTIVITY_MODE_NAP_ACCUMULATE_TIME_OUTPUT)
     {
         nap_data.total_time = cywee_Inactivity_Accumulate_Time_Info->total_time;
         set_nap_data(&nap_data);
         memset(&nap_data,0,sizeof(NAP_T));
-        free(cywee_Inactivity_Accumulate_Time_Info);
-        cywee_Inactivity_Accumulate_Time_Info = NULL;
-        return ;
     }
-
-    sleep_data.total_time = cywee_Inactivity_Accumulate_Time_Info->total_time;
-    sleep_data.total_deep_sleep_time = cywee_Inactivity_Accumulate_Time_Info->total_deep_sleep_time;
-    sleep_data.total_mild_sleep_time = cywee_Inactivity_Accumulate_Time_Info->total_mild_sleep_time;
-    sleep_data.total_wake_time = cywee_Inactivity_Accumulate_Time_Info->total_wake_time;
-    sleep_data.total_rem_sleep_time = cywee_Inactivity_Accumulate_Time_Info->total_rem_sleep_time;
-    sleep_data.status_num = state_num;
-
-    set_sleep_data(&sleep_data);
-    memset(&sleep_data,0,sizeof(SLEEP_T));
-    state_num = 0;
+    else if(cywee_Inactivity_Accumulate_Time_Info->output_number == INACTIVITY_MODE_SLEEPING_ACCUMULATE_TIME_OUTPUT)
+    {
+        sleep_data.total_time = cywee_Inactivity_Accumulate_Time_Info->total_time;
+        sleep_data.total_deep_sleep_time = cywee_Inactivity_Accumulate_Time_Info->total_deep_sleep_time;
+        sleep_data.total_mild_sleep_time = cywee_Inactivity_Accumulate_Time_Info->total_mild_sleep_time;
+        sleep_data.total_wake_time = cywee_Inactivity_Accumulate_Time_Info->total_wake_time;
+        sleep_data.total_rem_sleep_time = cywee_Inactivity_Accumulate_Time_Info->total_rem_sleep_time;
+        sleep_data.status_num = state_num;
+
+        set_sleep_data(&sleep_data);
+        memset(&sleep_data,0,sizeof(SLEEP_T));
+        state_num = 0;
+    }
 #endif
     free(cywee_Inactivity_Accumulate_Time_Info);
     cywee_Inactivity_Accumulate_Time_Info = NULL;
index f9d8d53..9a1dea5 100644 (file)
@@ -62,9 +62,9 @@ extern void CWM_OS_restoreData(int* data, uint32_t len,uint8_t type);
 
 #define   INACTIVITY_MODE_SEDENTARY_OUTPUT          20               // 久坐和有效站立
 #define   INACTIVITY_MODE_SLEEPING_OUTPUT             21               // 睡眠
-#define   INACTIVITY_MODE_SLEEPING_ACCUMULATE_TIME_OUTPUT    31               // ä¹\85å\9d\90ã\80\81æ\9c\89æ\95\88ç«\99ç«\8bå\92\8cå°\8fç\9d¡
+#define   INACTIVITY_MODE_SLEEPING_ACCUMULATE_TIME_OUTPUT    31        // ç\9d¡ç\9c ç´¯è®¡
 #define   INACTIVITY_MODE_NAP_OUTPUT                  22               // 小睡
-#define   INACTIVITY_MODE_NAP_ACCUMULATE_TIME_OUTPUT    32
+#define   INACTIVITY_MODE_NAP_ACCUMULATE_TIME_OUTPUT    32             // 小睡累计
 
 #pragma pack(1)
 
@@ -490,6 +490,7 @@ typedef struct
 
 typedef struct 
 {
+    int output_number;
     int total_time;//总共睡眠时间
     int total_mild_sleep_time;//总共浅睡时间
     int total_deep_sleep_time;//总共深睡时间
index de3bc37..de474af 100644 (file)
@@ -666,7 +666,8 @@ void CWM_AP_SensorListen(pSensorEVT_t sensorEVT) {
             }else if((int)sensorEVT->fData[0] == 31){
 
                 memset(&c_inactivity_accumulate_time_t,0,sizeof(cywee_inactivity_accumulate_time_t));
-
+                
+                c_inactivity_accumulate_time_t.output_number = (int)sensorEVT->fData[0];
                 c_inactivity_accumulate_time_t.total_time = (int)sensorEVT->fData[1];
                 c_inactivity_accumulate_time_t.total_mild_sleep_time = (int)sensorEVT->fData[2];
                 c_inactivity_accumulate_time_t.total_deep_sleep_time = (int)sensorEVT->fData[3];
@@ -691,7 +692,8 @@ void CWM_AP_SensorListen(pSensorEVT_t sensorEVT) {
             }else if((int)sensorEVT->fData[0] == 32){
 
                 memset(&c_inactivity_accumulate_time_t,0,sizeof(cywee_inactivity_accumulate_time_t));
-
+                
+                c_inactivity_accumulate_time_t.output_number = (int)sensorEVT->fData[0];
                 c_inactivity_accumulate_time_t.total_time = (int)sensorEVT->fData[1];
                 c_inactivity_accumulate_time_t.total_mild_sleep_time = (int)sensorEVT->fData[2];
                 c_inactivity_accumulate_time_t.total_deep_sleep_time = (int)sensorEVT->fData[3];