补交 444/1 444/head
authorpenglei <1624952103@qq.com>
Wed, 3 Jul 2024 10:18:39 +0000 (18:18 +0800)
committerpenglei <1624952103@qq.com>
Wed, 3 Jul 2024 10:18:39 +0000 (18:18 +0800)
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 625779c..67cf142 100644 (file)
@@ -1126,26 +1126,26 @@ void MsgCenterNotifyInactivityAccumulateTimeProc(const Topic topic, Request* req
         return;
     }
 
-    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 ;
+    }
+    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;
     }
 
-    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;
     free(cywee_Inactivity_Accumulate_Time_Info);
     cywee_Inactivity_Accumulate_Time_Info = NULL;
 }
index f9d8d53..6067736 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               // 久坐、有效站立和小睡
 #define   INACTIVITY_MODE_NAP_OUTPUT                  22               // 小睡
-#define   INACTIVITY_MODE_NAP_ACCUMULATE_TIME_OUTPUT    32
+#define   INACTIVITY_MODE_SLEEPING_ACCUMULATE_TIME_OUTPUT    31        // 睡眠累计
+#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 3bab5bf..a0711d0 100644 (file)
@@ -663,6 +663,7 @@ void CWM_AP_SensorListen(pSensorEVT_t sensorEVT) {
 
                 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];
@@ -688,6 +689,7 @@ void CWM_AP_SensorListen(pSensorEVT_t sensorEVT) {
 
                 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];