From d37e79269c483b645d7f98f12b09f68c9c0d3fe8 Mon Sep 17 00:00:00 2001 From: penglei <1624952103@qq.com> Date: Thu, 15 Aug 2024 20:29:34 +0800 Subject: [PATCH] =?utf8?q?=E8=A7=A3=E5=86=B3=E7=9D=A1=E7=9C=A0=E6=A8=A1?= =?utf8?q?=E5=BC=8F=E6=97=B6=E9=97=B4=E6=88=B3=E8=8E=B7=E5=8F=96BUG,?= =?utf8?q?=E7=9D=A1=E7=9C=A0=E6=A8=A1=E5=BC=8F=E8=BE=93=E5=85=A5=E5=BF=83?= =?utf8?q?=E7=8E=87=E6=95=B0=E6=8D=AE=20=E4=BC=98=E5=8C=96=E8=AE=BE?= =?utf8?q?=E7=BD=AE=E4=B9=85=E5=9D=90=E9=97=B4=E9=9A=94=20=E4=BC=98?= =?utf8?q?=E5=8C=96=E5=BC=80=E6=9C=BA=E8=AE=BE=E7=BD=AE=E8=BF=90=E5=8A=A8?= =?utf8?q?=E8=AF=86=E5=88=AB,=E6=B7=BB=E5=8A=A0TOPIC=E6=8E=A5=E6=94=B6?= =?utf8?q?=E6=B6=88=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- .../src/AlarmClockTimerConfig.cpp | 6 +++++- .../broadcast/include/broadcast_feature.h | 2 +- .../service/broadcast/src/broadcast_implement.c | 2 +- .../msg_center/src/msg_center_customer.cpp | 11 ++++++++++- .../peripheral/config/include/ConfigModelC.h | 4 +++- .../peripheral/config/src/ConfigModel.cpp | 17 +++++++++++++++++ .../drivers/peripheral/cywee/Inc/cywee_hal.h | 2 +- .../sdk/drivers/peripheral/cywee/src/main_dml.c | 14 ++++++-------- code/sdk/drivers/peripheral/ppg/hx3695/hx3695.c | 5 ++--- 9 files changed, 46 insertions(+), 17 deletions(-) diff --git a/code/sdk/application/wearable/fd230app/nativeui/alarmclocktimerconfig/src/AlarmClockTimerConfig.cpp b/code/sdk/application/wearable/fd230app/nativeui/alarmclocktimerconfig/src/AlarmClockTimerConfig.cpp index 958b07293..9b96853a7 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/alarmclocktimerconfig/src/AlarmClockTimerConfig.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/alarmclocktimerconfig/src/AlarmClockTimerConfig.cpp @@ -52,6 +52,7 @@ extern "C" static int wake_time_hour = 0; static int wake_time_min = 0; static int sedentary_switch = 0; + static int sedentary_interval = 1; static int sedentary_time = 0; static int sedentary_start_hour = 0; static int sedentary_start_min = 0; @@ -103,6 +104,9 @@ extern "C" { sedentary_switch = get_sedentary_switch_from_config_model(); sedentary_time = get_sedentary_time_from_config_model(); + sedentary_interval = get_sedentary_interval_from_config_model(); + do_cywee_service_check_msg(CYWEE_SERVICE_CMD_SET_SEDENTARY_INTERVAL,&sedentary_interval);//设置久坐提醒间隔 + // sedentary_start_hour = (sedentary_time & 0XFF000000) >> 24; // sedentary_start_min = (sedentary_time & 0X00FF0000) >> 16; // sedentary_stop_hour = (sedentary_time & 0X0000FF00) >> 8; @@ -378,7 +382,7 @@ extern "C" { // uapi_dev_runtime_set_sleep_status(0); // do_cywee_service_check_msg(CYWEE_SERVICE_CMD_GET_SLEEP_DATA, NULL); - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "起床啦!"); + WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "起床啦!"); if (curTime.tm_hour == wake_time_hour && curTime.tm_min == wake_time_min && curTime.tm_sec == 0) { OHOS::SleepModel::GetInstance().set_sleep_state(OHOS::SLEEPSTATE::WAKE); diff --git a/code/sdk/application/wearable/service/broadcast/include/broadcast_feature.h b/code/sdk/application/wearable/service/broadcast/include/broadcast_feature.h index 79371f8b8..fcadf344e 100644 --- a/code/sdk/application/wearable/service/broadcast/include/broadcast_feature.h +++ b/code/sdk/application/wearable/service/broadcast/include/broadcast_feature.h @@ -38,7 +38,6 @@ typedef enum { TOPIC_EVENT_NEXTDAY_UPDATE, TOPIC_EVENT_WEARSTATE_UPDATE, TOPIC_EVENT_STEPDATA_UPDATE, - TOPIC_EVENT_AR_ALERT_TYPE_UPDATE, TOPIC_EVENT_SHUTDOWN, TOPIC_EVENT_HEARTRATE_UPDATA, TOPIC_EVENT_STATIC_HEARTRATE_UPDATA, @@ -51,6 +50,7 @@ typedef enum { #ifdef CYWEE_SPORT TOPIC_EVENT_ACTIVITY_UPDATE, TOPIC_EVENT_ACTIVITY_EXTRA_INFO_UPDATE, + TOPIC_EVENT_AR_ALERT_TYPE_UPDATE, TOPIC_EVENT_INACTIVITY_UPDATE, TOPIC_EVENT_INACTIVITY_ACCUMULATE_TIME_UPDATE, TOPIC_EVENT_BLE_TRAINING, diff --git a/code/sdk/application/wearable/service/broadcast/src/broadcast_implement.c b/code/sdk/application/wearable/service/broadcast/src/broadcast_implement.c index 0e1b01109..bb1897514 100644 --- a/code/sdk/application/wearable/service/broadcast/src/broadcast_implement.c +++ b/code/sdk/application/wearable/service/broadcast/src/broadcast_implement.c @@ -25,13 +25,13 @@ static const TopicToCore topicToCoreArray[] = { {TOPIC_EVENT_NEXTDAY_UPDATE, A_CORE_MASK, 1}, {TOPIC_EVENT_WEARSTATE_UPDATE, A_CORE_MASK, 1}, {TOPIC_EVENT_STEPDATA_UPDATE, A_CORE_MASK, 1}, - {TOPIC_EVENT_AR_ALERT_TYPE_UPDATE, A_CORE_MASK, 1}, {TOPIC_EVENT_SHUTDOWN, A_CORE_MASK, 1}, {TOPIC_EVENT_HEARTRATE_UPDATA, A_CORE_MASK, 1}, {TOPIC_EVENT_STATIC_HEARTRATE_UPDATA, A_CORE_MASK, 1}, #ifdef CYWEE_SPORT {TOPIC_EVENT_ACTIVITY_UPDATE, A_CORE_MASK, 1}, {TOPIC_EVENT_ACTIVITY_EXTRA_INFO_UPDATE, A_CORE_MASK, 1}, + {TOPIC_EVENT_AR_ALERT_TYPE_UPDATE, A_CORE_MASK, 1}, {TOPIC_EVENT_INACTIVITY_UPDATE, A_CORE_MASK, 1}, {TOPIC_EVENT_INACTIVITY_ACCUMULATE_TIME_UPDATE, A_CORE_MASK, 1}, {TOPIC_EVENT_BLE_TRAINING,A_CORE_MASK,1}, diff --git a/code/sdk/application/wearable/service/msg_center/src/msg_center_customer.cpp b/code/sdk/application/wearable/service/msg_center/src/msg_center_customer.cpp index 1967f25d3..8dd532932 100644 --- a/code/sdk/application/wearable/service/msg_center/src/msg_center_customer.cpp +++ b/code/sdk/application/wearable/service/msg_center/src/msg_center_customer.cpp @@ -78,6 +78,7 @@ const PriorityMapper PRI_MAPPER[] = { {TOPIC_EVENT_NEXTDAY_UPDATE, PRIORITY_TWO}, {TOPIC_EVENT_ACTIVITY_UPDATE,PRIORITY_TWO}, {TOPIC_EVENT_ACTIVITY_EXTRA_INFO_UPDATE,PRIORITY_TWO}, + {TOPIC_EVENT_AR_ALERT_TYPE_UPDATE,PRIORITY_TWO}, {TOPIC_EVENT_STEPDATA_UPDATE,PRIORITY_TWO}, {TOPIC_EVENT_INACTIVITY_UPDATE,PRIORITY_TWO}, {TOPIC_EVENT_INACTIVITY_ACCUMULATE_TIME_UPDATE,PRIORITY_TWO}, @@ -155,6 +156,7 @@ void MsgCenterSubscribe() #ifdef CYWEE_SPORT MsgCenterSubscribeTopic(TOPIC_EVENT_ACTIVITY_UPDATE); MsgCenterSubscribeTopic(TOPIC_EVENT_ACTIVITY_EXTRA_INFO_UPDATE); + MsgCenterSubscribeTopic(TOPIC_EVENT_AR_ALERT_TYPE_UPDATE); MsgCenterSubscribeTopic(TOPIC_EVENT_INACTIVITY_UPDATE); MsgCenterSubscribeTopic(TOPIC_EVENT_INACTIVITY_ACCUMULATE_TIME_UPDATE); MsgCenterSubscribeTopic(TOPIC_EVENT_BLE_TRAINING); @@ -1109,6 +1111,12 @@ void MsgCenterNotifyActivityExtraInfoProc(const Topic topic, Request* req) unused(topic); } +void MsgCenterNotifyArAlertProc(const Topic topic, Request* req) +{ + unused(topic); + NotificationManager::GetInstance()->ShowNotify(showSedentaryReminderNotify, (uint16_t)topic, true); +} + void MsgCenterNotifyInactivityProc(const Topic topic, Request *req) { WEARABLE_LOGI(WEARABLE_LOG_MODULE_APP, "MsgCenterNotifyInactivityProc !"); @@ -1169,7 +1177,7 @@ void MsgCenterNotifyInactivityProc(const Topic topic, Request *req) #ifdef FD230 if(state_num < 20) { - sleep_data.sleep_status[state_num].timestamp = day_timestamp + cywee_Inactivity_Info->day * 24 * 60 * 60 + cywee_Inactivity_Info->hour * 60 * 60 + cywee_Inactivity_Info->minute * 60; + sleep_data.sleep_status[state_num].timestamp = day_timestamp + cywee_Inactivity_Info->hour * 60 * 60 + cywee_Inactivity_Info->minute * 60; sleep_data.sleep_status[state_num].stat = cywee_Inactivity_Info->status; fall_asleep_state_num = state_num; state_num ++; @@ -1327,6 +1335,7 @@ static MsgCenterNotifyTable g_msgCenterNotifyTable[] = { #ifdef CYWEE_SPORT {TOPIC_EVENT_ACTIVITY_UPDATE, MsgCenterNotifyActivityProc}, {TOPIC_EVENT_ACTIVITY_EXTRA_INFO_UPDATE, MsgCenterNotifyActivityExtraInfoProc}, + {TOPIC_EVENT_AR_ALERT_TYPE_UPDATE, MsgCenterNotifyArAlertProc}, {TOPIC_EVENT_INACTIVITY_UPDATE, MsgCenterNotifyInactivityProc}, {TOPIC_EVENT_INACTIVITY_ACCUMULATE_TIME_UPDATE, MsgCenterNotifyInactivityAccumulateTimeProc}, {TOPIC_EVENT_BLE_TRAINING, MsgCenterNotifybleAPPtraining}, diff --git a/code/sdk/drivers/peripheral/config/include/ConfigModelC.h b/code/sdk/drivers/peripheral/config/include/ConfigModelC.h index 1eeff598d..6ab78b721 100644 --- a/code/sdk/drivers/peripheral/config/include/ConfigModelC.h +++ b/code/sdk/drivers/peripheral/config/include/ConfigModelC.h @@ -2,7 +2,7 @@ * @Author: luozheng 1732036298@qq.com * @Date: 2024-04-17 09:32:03 * @LastEditors: penglei 1624952103@qq.com - * @LastEditTime: 2024-07-04 20:08:17 + * @LastEditTime: 2024-08-15 18:23:37 * @FilePath: /FD230/code/sdk/drivers/peripheral/config/include/ConfigModelC.h */ #ifndef _CONFIG_MODEL_C_H_ @@ -106,6 +106,8 @@ void mmi_sleep_mode_flag_set(bool value); int get_sedentary_switch_from_config_model(void); int get_sedentary_time_from_config_model(void); +int get_sedentary_interval_from_config_model(void); +bool get_motion_recognition_from_config_model(void); //设置睡眠频率 void set_config_heart(int heartRateDetectionFreq); diff --git a/code/sdk/drivers/peripheral/config/src/ConfigModel.cpp b/code/sdk/drivers/peripheral/config/src/ConfigModel.cpp index 181bb6149..87bc8892d 100644 --- a/code/sdk/drivers/peripheral/config/src/ConfigModel.cpp +++ b/code/sdk/drivers/peripheral/config/src/ConfigModel.cpp @@ -1534,6 +1534,23 @@ int get_sedentary_time_from_config_model(void) return sedentary_time; } +//获取久坐提醒间隔 +int get_sedentary_interval_from_config_model(void) +{ + int sedentary_interval = 0; + sedentary_interval = OHOS::ConfigModel::GetInstance()->get_configData_int(OHOS::ConfigModel::CONFIGMODEL_ITEM_SEDENTARY_INTERVAL); + return sedentary_interval; +} + +//获取运动识别开关 +bool get_motion_recognition_from_config_model(void) +{ + bool flag = false; + flag = OHOS::ConfigModel::GetInstance()->get_configData_bool(OHOS::ConfigModel::CONFIGMODEL_ITEM_MOTIONRECOGNITION); + printf("get_motion_recognition_from_config_model flag : %d \n",flag); + return flag; +} + // get flip wrist switch for c file bool mmi_flip_wrist_switch_get(void) { diff --git a/code/sdk/drivers/peripheral/cywee/Inc/cywee_hal.h b/code/sdk/drivers/peripheral/cywee/Inc/cywee_hal.h index 2e05d19a8..959d55891 100644 --- a/code/sdk/drivers/peripheral/cywee/Inc/cywee_hal.h +++ b/code/sdk/drivers/peripheral/cywee/Inc/cywee_hal.h @@ -556,7 +556,7 @@ void set_fat_time_data(void); int get_fat_time_data(void); void cywee_get_chipinfo(char *databuf,uint8_t len); -void cywee_set_sedentary_interval(int time); +void cywee_set_sedentary_interval(int interval); void cywee_set_sedentary_switch(int cmd); void cywee_get_acc_switch(int cmd); void cywee_stop(void); diff --git a/code/sdk/drivers/peripheral/cywee/src/main_dml.c b/code/sdk/drivers/peripheral/cywee/src/main_dml.c index f2b7bd39b..c1e1766f1 100644 --- a/code/sdk/drivers/peripheral/cywee/src/main_dml.c +++ b/code/sdk/drivers/peripheral/cywee/src/main_dml.c @@ -108,9 +108,9 @@ void cywee_set_sedentary_switch(int cmd) CWM_SettingControl(SCL_SEDENTARY, &scl); } -void cywee_set_sedentary_interval(int time) +void cywee_set_sedentary_interval(int interval) { - sedentary_interval = time; + sedentary_interval = interval; } void cywee_get_chipinfo(char *databuf,uint8_t len) @@ -458,7 +458,7 @@ void cywee_inactivity_mode_change(int mode) //设置睡眠 memset(&scl, 0, sizeof(scl)); scl.iData[0] = 1; - scl.iData[2] = 0; // 0.不使用心率 1.使用心率 (暂时关闭,不使用心率数据输入算法) + scl.iData[2] = 1; // 0.不使用心率 1.使用心率 (暂时关闭,不使用心率数据输入算法) CWM_SettingControl(SCL_SLEEP_CONFIG, &scl); memset(&scl, 0, sizeof(scl)); @@ -688,11 +688,12 @@ void CWM_AP_SensorListen(pSensorEVT_t sensorEVT) { if((int)sensorEVT->fData[1] == CUSTOM_OFFBODY_DETECT) { CWM_OS_dbgPrintf("CUSTOM_OFFBODY_DETECT !!! \r\n"); +#if 0 if((int)sensorEVT->fData[2] == 1) send_ppg_cmd_msg(PPG_SERVICE_CMD_TYPE_DO_WEAR_MODE_TEST); else send_ppg_cmd_msg(PPG_SERVICE_CMD_TYPE_STOP_WEAR_MODE_TEST); - +#endif } if((int)sensorEVT->fData[1] == CUSTOM_ON_CHARGING) { @@ -1120,10 +1121,7 @@ int cywee_main_dml(void) CWM_SettingControl(SCL_INACTIVITY_CONFIG, &scl); //设置运动识别 - memset(&scl, 0, sizeof(scl)); - scl.iData[0] = 1; - scl.iData[1] = 1;// 0 关闭运动识别 1 打开运动识别 - CWM_SettingControl(SCL_AR_ALERT_CONFIG, &scl); + cywee_ar_alert_switch(get_motion_recognition_from_config_model()); #if 0 memset(&scl, 0, sizeof(scl)); diff --git a/code/sdk/drivers/peripheral/ppg/hx3695/hx3695.c b/code/sdk/drivers/peripheral/ppg/hx3695/hx3695.c index 641c7416c..a826903cc 100644 --- a/code/sdk/drivers/peripheral/ppg/hx3695/hx3695.c +++ b/code/sdk/drivers/peripheral/ppg/hx3695/hx3695.c @@ -2716,9 +2716,8 @@ static void get_avg_hrs(int32_t hrs) func(HX3695_MSG_TYPE_STATIC_HRS_UPDATE,&hrsresult,sizeof(FT_CUSTOM_RESULTS_t)); } } - - // if(hrs_mode_state || uapi_dev_runtime_get_sleep_status() == 1) - if(hrs_mode_state) + //if(hrs_mode_state) + if(hrs_mode_state || uapi_dev_runtime_get_sleep_status() == 1) { cywee_data = hrsresult.lastesthrs; do_cywee_service_check_msg(CYWEE_SERVICE_CMD_HRS_CHANGE,&cywee_data); -- 2.17.1