补交优化运动模式切换函数,添加静态模式切换函数
authorpenglei <1624952103@qq.com>
Thu, 11 Apr 2024 10:45:48 +0000 (18:45 +0800)
committerpenglei <1624952103@qq.com>
Thu, 11 Apr 2024 10:45:48 +0000 (18:45 +0800)
code/sdk/drivers/peripheral/cywee/Inc/cywee_hal.h
code/sdk/drivers/peripheral/cywee/Inc/cywee_service.h
code/sdk/drivers/peripheral/cywee/service/cywee_service.c
code/sdk/drivers/peripheral/cywee/src/main_dml.c

index aac08c6..8ed5e9e 100644 (file)
@@ -525,7 +525,7 @@ void activity_exit(void);
 
 
 
-int cywee_main_dml(void);
+int cywee_main_dml(int cmd);
 void cywee_int_handler(void);
 
 void watch_hand_updown(int fdata);
index d747bc7..b2b5c10 100644 (file)
@@ -2,7 +2,7 @@
  * @Author: penglei 1624952103@qq.com
  * @Date: 2024-03-26 20:29:58
  * @LastEditors: penglei 1624952103@qq.com
- * @LastEditTime: 2024-04-11 11:15:48
+ * @LastEditTime: 2024-04-11 18:40:09
  * @FilePath: /FD230/code/sdk/drivers/peripheral/cywee/Inc/cywee_service.h
  * @Description: 
  * 
@@ -45,7 +45,7 @@ extern "C" {
 
 #define CYWEE_SERVICE_CMD_PAUSE 0x15
 #define CYWEE_SERVICE_CMD_RESUME 0x16
-
+#define CYWEE_SERVICE_CMD_EXIT 0x17
 
 errcode_t uapi_cywee_service_init(void);
 void uapi_cywee_service_deinit(void);
index dc3a831..e1b99f4 100644 (file)
@@ -272,7 +272,7 @@ static void cywee_service_check_task(void const *arg)
             test_api();
         }else if (mail.cmd == CYWEE_SERVICE_CMD_START_CHECK){
             cywee_service_running_stat = true;
-            cywee_main_dml();
+            cywee_main_dml(SPORT_ACTIVE_MODE_NORMAL);
             cywee_service_timer_start_check(CYWEE_CHECK_MS);
         }else if (mail.cmd == CYWEE_SERVICE_CMD_STOP_CHECK){
             cywee_service_running_stat = false;
@@ -280,35 +280,50 @@ static void cywee_service_check_task(void const *arg)
         }
         
         else if (mail.cmd == SPORT_ACTIVE_MODE_NORMAL){
-            cyw_activity_mode_change(SPORT_ACTIVE_MODE_NORMAL);
+            cywee_service_running_stat = true;
+            cywee_main_dml(SPORT_ACTIVE_MODE_NORMAL);
+            cywee_service_timer_start_check(CYWEE_CHECK_MS);
         }else if(mail.cmd == SPORT_ACTIVE_MODE_TREADMILL){
-            cyw_activity_mode_change(SPORT_ACTIVE_MODE_TREADMILL);
+            cywee_service_running_stat = true;
+            cywee_main_dml(SPORT_ACTIVE_MODE_TREADMILL);
+            cywee_service_timer_start_check(CYWEE_CHECK_MS);
         }else if(mail.cmd == SPORT_ACTIVE_MODE_OUTDOOR_RUNNING){
-            cyw_activity_mode_change(SPORT_ACTIVE_MODE_OUTDOOR_RUNNING);
+            cywee_service_running_stat = true;
+            cywee_main_dml(SPORT_ACTIVE_MODE_OUTDOOR_RUNNING);
+            cywee_service_timer_start_check(CYWEE_CHECK_MS);
         }else if(mail.cmd == SPORT_ACTIVE_MODE_INDOOR_RUNNING){
-            cyw_activity_mode_change(SPORT_ACTIVE_MODE_INDOOR_RUNNING);
+            cywee_service_running_stat = true;
+            cywee_main_dml(SPORT_ACTIVE_MODE_INDOOR_RUNNING);
+            cywee_service_timer_start_check(CYWEE_CHECK_MS);
         }else if(mail.cmd == SPORT_ACTIVE_MODE_FITNESS_PEDOMETERR){
-            cyw_activity_mode_change(SPORT_ACTIVE_MODE_FITNESS_PEDOMETERR);
+            cywee_service_running_stat = true;
+            cywee_main_dml(SPORT_ACTIVE_MODE_FITNESS_PEDOMETERR);
+            cywee_service_timer_start_check(CYWEE_CHECK_MS);
         }else if(mail.cmd == SPORT_ACTIVE_MODE_FREE_TRAINING){
-            PRINT("111\r\n");
-            cyw_activity_mode_change(SPORT_ACTIVE_MODE_FREE_TRAINING);
+            cywee_service_running_stat = true;
+            cywee_main_dml(SPORT_ACTIVE_MODE_FREE_TRAINING);
+            cywee_service_timer_start_check(CYWEE_CHECK_MS);
         }else if(mail.cmd == SPORT_ACTIVE_MODE_AR_ALERT){
-            cyw_activity_mode_change(SPORT_ACTIVE_MODE_AR_ALERT);
+            cywee_service_running_stat = true;
+            cywee_main_dml(SPORT_ACTIVE_MODE_AR_ALERT);
+            cywee_service_timer_start_check(CYWEE_CHECK_MS);
         }else if(mail.cmd == CYWEE_SERVICE_CMD_PAUSE){
             activity_setstatus(1);
         }else if(mail.cmd == CYWEE_SERVICE_CMD_RESUME){
             activity_setstatus(0);
-        }else if(mail.cmd == INACTIVITY_MODE_NOTHING){
-            cyw_inactivity_mode_change(INACTIVITY_MODE_NOTHING);
-        }else if(mail.cmd == INACTIVITY_MODE_SEDENTARY){
-            cyw_inactivity_mode_change(INACTIVITY_MODE_SEDENTARY);
-        }else if(mail.cmd == INACTIVITY_MODE_SLEEPING){
-            cyw_inactivity_mode_change(INACTIVITY_MODE_SLEEPING);
-        }else if(mail.cmd == INACTIVITY_MODE_SEDENTARY_AND_NAP){
-            cyw_inactivity_mode_change(INACTIVITY_MODE_SEDENTARY_AND_NAP);
-        }else if(mail.cmd == INACTIVITY_MODE_NAP){
-            cyw_inactivity_mode_change(INACTIVITY_MODE_NAP);
-        }
+        }else if(mail.cmd == CYWEE_SERVICE_CMD_EXIT){
+            cywee_service_running_stat = false;
+            if (g_cywee_service_timer != NULL) osTimerStop(g_cywee_service_timer);
+            activity_exit();
+         }//else if(mail.cmd == INACTIVITY_MODE_SEDENTARY){
+        //     cyw_inactivity_mode_change(INACTIVITY_MODE_SEDENTARY);
+        // }else if(mail.cmd == INACTIVITY_MODE_SLEEPING){
+        //     cyw_inactivity_mode_change(INACTIVITY_MODE_SLEEPING);
+        // }else if(mail.cmd == INACTIVITY_MODE_SEDENTARY_AND_NAP){
+        //     cyw_inactivity_mode_change(INACTIVITY_MODE_SEDENTARY_AND_NAP);
+        // }else if(mail.cmd == INACTIVITY_MODE_NAP){
+        //     cyw_inactivity_mode_change(INACTIVITY_MODE_NAP);
+        //}
     }
 }
 #define CYWEE_APP_BOARD_MSG_COUNT 50
index e362b4e..70bfb78 100644 (file)
@@ -68,8 +68,6 @@ void time_sync(void)
     CWM_SettingControl(SCL_DATE_TIME, &scl);
 }
 
-
-
 void cywee_hrs_check_timer_callback(void)
 {
     uint8_t hrs,wearstatus;
@@ -162,7 +160,7 @@ void activity_setstatus(int cmd)
 }
 
 
-void cyw_inactivity_mode_change(int mode)
+void activity_exit(void)
 {
     memset(&scl, 0, sizeof(scl));
     scl.iData[0] = 1;
@@ -233,10 +231,6 @@ void cyw_inactivity_mode_change(int mode)
 
 void cyw_activity_mode_change(int mode)
 {
-    memset(&scl, 0, sizeof(scl));
-    scl.iData[0] = 1;
-    CWM_SettingControl(SCL_REQ_ACTIVITY_EXIT, &scl);
-    free_training_deinit();
     switch (mode)
     {
         //一般模式(生活模式)
@@ -663,7 +657,7 @@ void CWM_AP_dmlSensorDataOutput_listen(const dml_sensorData_t * pSdo) {
 #endif
 
 
-int cywee_main_dml(void) 
+int cywee_main_dml(int cmd) 
 {
 
     if (cywee_installized==0)
@@ -903,8 +897,6 @@ int cywee_main_dml(void)
     // CWM_SettingControl(SCL_SET_INACTIVITY_MODE, &scl);
     //CWM_OS_dbgPrintf("[DBG] %s %d\n", __func__,__LINE__);
 
-
-
     return 0;
 }