优化cywee 设置用户信息 349/1 349/head
authorpenglei <1624952103@qq.com>
Fri, 21 Jun 2024 12:24:39 +0000 (20:24 +0800)
committerpenglei <1624952103@qq.com>
Fri, 21 Jun 2024 12:24:39 +0000 (20:24 +0800)
code/sdk/drivers/peripheral/config/include/ConfigModelC.h
code/sdk/drivers/peripheral/config/src/ConfigModel.cpp
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
code/sdk/drivers/peripheral/utils/custom_utils.c
code/sdk/drivers/peripheral/utils/custom_utils.h

index 1ea8649..8a5a2ef 100644 (file)
@@ -1,9 +1,9 @@
 /*
  * @Author: luozheng 1732036298@qq.com
  * @Date: 2024-04-17 09:32:03
- * @LastEditors: SnickerSun snickersun@163.com
- * @LastEditTime: 2024-06-21 10:37:35
- * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/config/include/ConfigModelC.h
+ * @LastEditors: penglei 1624952103@qq.com
+ * @LastEditTime: 2024-06-21 20:17:12
+ * @FilePath: /FD230/code/sdk/drivers/peripheral/config/include/ConfigModelC.h
  */
 #ifndef _CONFIG_MODEL_C_H_
 #define _CONFIG_MODEL_C_H_
@@ -92,6 +92,9 @@ void cm_set_hour_show_model(uint8_t showtype);
 
 uint8_t cm_get_vibmod(void);
 
+//cywee 获取用户信息
+void get_user_info_from_config_model(int user_info[5]);
+
 #ifdef __cplusplus
 #if __cplusplus
 }
index 2386f1c..fdf3f96 100644 (file)
@@ -1330,6 +1330,15 @@ void cm_set_hour_show_model(uint8_t showtype)
 {
     OHOS::ConfigModel::GetInstance()->set_condigData_Int(OHOS::ConfigModel::CONFIGMODEL_ITEM_24HOUR,showtype);
 }
+void get_user_info_from_config_model(int user_info[5])
+{
+    //1.age 2.sex 3.weight 4.height 5.method
+    user_info[0] = OHOS::ConfigModel::GetInstance()->get_configData_int(OHOS::ConfigModel::CONFIGMODEL_ITEM_CUSTOM_DATA_AGE);
+    user_info[1] = OHOS::ConfigModel::GetInstance()->get_configData_int(OHOS::ConfigModel::CONFIGMODEL_ITEM_CUSTOM_DATA_SEX);
+    user_info[2] = OHOS::ConfigModel::GetInstance()->get_configData_int(OHOS::ConfigModel::CONFIGMODEL_ITEM_CUSTOM_DATA_WEIGHT);
+    user_info[3] = OHOS::ConfigModel::GetInstance()->get_configData_int(OHOS::ConfigModel::CONFIGMODEL_ITEM_CUSTOM_DATA_HEIGHT);
+    user_info[4] = OHOS::ConfigModel::GetInstance()->get_configData_int(OHOS::ConfigModel::CONFIGMODEL_ITEM_CUSTOM_DATA_WEARING_MODE);
+}
 #ifdef __cplusplus
 #if __cplusplus
 }
index a2cf1dd..35b5b54 100644 (file)
@@ -507,7 +507,7 @@ void activity_mode_setstatus(int cmd);
 void cywee_oncharging_update(int oncharging_status);
 void cywee_wearstatus_update(int wearstatus);
 void cywee_hrs_wearstatus_update(int hrs_data,int wearstatus);
-void cywee_set_user_info(int user_info[5]);
+void cywee_set_user_info(void);
 void cywee_get_sleep_data(void);
 void cywee_reset_daily_data(void);
 void cywee_inactivity_mode_change(int mode);
index d383590..4f88d54 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-06-21 09:33:30
+ * @LastEditTime: 2024-06-21 20:06:06
  * @FilePath: /FD230/code/sdk/drivers/peripheral/cywee/Inc/cywee_service.h
  * @Description: 
  * 
@@ -80,6 +80,8 @@ extern "C" {
 
 #define CYWEE_SERVICE_CMD_SET_SEDENTARY_INTERVAL 0x2D
 
+#define CYWEE_SERVICE_CMD_SET_USER_INFO 0x2E
+
 errcode_t uapi_cywee_service_init(void);
 void uapi_cywee_service_deinit(void);
 
index eb36996..0368f94 100644 (file)
@@ -384,6 +384,9 @@ static void cywee_service_check_task(void const *arg)
                 cywee_set_sedentary_interval(mail.data[0]);
             break;
 
+            case CYWEE_SERVICE_CMD_SET_USER_INFO:
+                cywee_set_user_info();
+            break;
             default:
                 PRINT("unkonw cmd \r\n");
                 break;
@@ -433,7 +436,7 @@ errcode_t uapi_cywee_service_init(void)
 
     cywee_register_msg_callback(cywee_msg_callback);
     do_cywee_service_check_msg(CYWEE_SERVICE_CMD_START_CHECK, NULL);
-
+    
     return ERRCODE_SUCC;
 }
 
index 771b0f9..4862297 100644 (file)
@@ -16,6 +16,7 @@
 #include "time.h"
 #include "sys/time.h"
 #include "time.h"
+#include "ConfigModelC.h"
 
 #define AP_ENABLE_DML_SDO_LISTEN
 
@@ -206,8 +207,11 @@ void cywee_get_sleep_data(void)
     CWM_SettingControl(SCL_REQ_SLEEPING_DATA, &scl);
 }
 
-void cywee_set_user_info(int user_info[5])
+//1.age 2.sex 3.weight 4.height 5.method
+void cywee_set_user_info(void)
 {
+    int user_info[5] = {0};
+    get_user_info_from_config_model(user_info);
     memset(&scl, 0, sizeof(scl));
     scl.iData[0] = 1;
     scl.iData[1] = user_info[0];
@@ -215,6 +219,8 @@ void cywee_set_user_info(int user_info[5])
     scl.iData[3] = user_info[2];
     scl.iData[4] = user_info[3];
     scl.iData[5] = user_info[4];
+    CWM_OS_dbgPrintf("set user info : age[%d] , sex[%d] , weight[%d] , height[%d] , method[%d] \r\n",
+    user_info[0],user_info[1],user_info[2],user_info[3],user_info[4]);
     CWM_SettingControl(SCL_USER_INFO, &scl);
 }
 
@@ -1061,7 +1067,7 @@ int cywee_main_dml(void)
     //CWM_OS_dbgPrintf("[DBG] %s %d\n", __func__,__LINE__);
     cywee_restoreData();
 
-    
+    cywee_set_user_info();
 
     cywee_activity_mode_change(SPORT_ACTIVE_MODE_NORMAL);
     
index 890455f..c26ed32 100644 (file)
@@ -2165,19 +2165,6 @@ void uapi_cywee_get_sleep_data(void)
     do_cywee_service_check_msg(CYWEE_SERVICE_CMD_GET_SLEEP_DATA,NULL);
 }
 
-/*
-cywee设置用户信息
-0:gender;
-1:weight;
-2:height;
-3:Wearing_method;
-4:Wearing method (配戴方式) (default: 左手) (0: 左手  1: 右手) 
-*/
-void uapi_cywee_set_user_info(int user_info[5])
-{
-    cywee_set_user_info(user_info);
-}
-
 //cywee清空每日数据
 void uapi_cywee_reset_daily_data(void)
 {
index 4a1562d..10b0903 100644 (file)
@@ -198,7 +198,6 @@ void uapi_cywee_get_id(uint8_t *id);
 int custom_exit_lpm(void);
 
 void uapi_cywee_get_sleep_data(void);
-void uapi_cywee_set_user_info(int user_info[5]);
 void uapi_cywee_time_sync(void);
 void uapi_cywee_get_chipinfo(char *databuf,uint8_t len);
 void uapi_ppg_get_id(uint8_t *chip_id);