From: penglei <1624952103@qq.com> Date: Thu, 11 Apr 2024 10:45:48 +0000 (+0800) Subject: 补交优化运动模式切换函数,添加静态模式切换函数 X-Git-Tag: release_V1.2.70_20241020_135402~1212 X-Git-Url: http://git.snicker.com.cn/Users/apple/Desktop/static/gitweb.css?a=commitdiff_plain;h=09767f60b99a67fceeebe9b265275134f01440bf;p=mirrors%2FFD230.git 补交优化运动模式切换函数,添加静态模式切换函数 --- diff --git a/code/sdk/drivers/peripheral/cywee/Inc/cywee_hal.h b/code/sdk/drivers/peripheral/cywee/Inc/cywee_hal.h index aac08c6e7..8ed5e9e4d 100644 --- a/code/sdk/drivers/peripheral/cywee/Inc/cywee_hal.h +++ b/code/sdk/drivers/peripheral/cywee/Inc/cywee_hal.h @@ -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); diff --git a/code/sdk/drivers/peripheral/cywee/Inc/cywee_service.h b/code/sdk/drivers/peripheral/cywee/Inc/cywee_service.h index d747bc760..b2b5c100a 100644 --- a/code/sdk/drivers/peripheral/cywee/Inc/cywee_service.h +++ b/code/sdk/drivers/peripheral/cywee/Inc/cywee_service.h @@ -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); diff --git a/code/sdk/drivers/peripheral/cywee/service/cywee_service.c b/code/sdk/drivers/peripheral/cywee/service/cywee_service.c index dc3a83168..e1b99f4bb 100644 --- a/code/sdk/drivers/peripheral/cywee/service/cywee_service.c +++ b/code/sdk/drivers/peripheral/cywee/service/cywee_service.c @@ -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 diff --git a/code/sdk/drivers/peripheral/cywee/src/main_dml.c b/code/sdk/drivers/peripheral/cywee/src/main_dml.c index e362b4e39..70bfb785b 100644 --- a/code/sdk/drivers/peripheral/cywee/src/main_dml.c +++ b/code/sdk/drivers/peripheral/cywee/src/main_dml.c @@ -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; }