添加久坐提醒闹钟,优化cat1蓝牙产测 455/1 455/head 456/target/1
authorpenglei <1624952103@qq.com>
Thu, 4 Jul 2024 12:42:38 +0000 (20:42 +0800)
committerpenglei <1624952103@qq.com>
Thu, 4 Jul 2024 12:42:38 +0000 (20:42 +0800)
code/sdk/application/wearable/fd230app/nativeui/alarmclocktimerconfig/include/AlarmClockTimerConfig.h
code/sdk/application/wearable/fd230app/nativeui/alarmclocktimerconfig/src/AlarmClockTimerConfig.cpp
code/sdk/application/wearable/fd230app/nativeui/sleep/include/SleepModel.h
code/sdk/application/wearable/service/ble_service/blemoder/bletest.cpp
code/sdk/application/wearable/service/factorytest_service/factorytest_protocol.c
code/sdk/application/wearable/service/msg_center/src/notify/sleep_notification.cpp
code/sdk/drivers/peripheral/config/include/ConfigModelC.h
code/sdk/drivers/peripheral/config/src/ConfigModel.cpp

index 978755c..c386bad 100644 (file)
@@ -2,7 +2,7 @@
  * @Author: penglei 1624952103@qq.com\r
  * @Date: 2024-06-07 11:18:25\r
  * @LastEditors: penglei 1624952103@qq.com\r
- * @LastEditTime: 2024-06-29 14:34:23\r
+ * @LastEditTime: 2024-07-04 20:35:41\r
  * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/alarmclocktimerconfig/include/AlarmClockTimerConfig.h\r
  * @Description: \r
  * \r
@@ -67,6 +67,7 @@ int32_t SetZeroAlarm(void);
 int32_t SetAlarm(AlarmType type, uint8_t week, uint8_t hour, uint8_t minute);\r
 int32_t AlarmGetCurrentTimeInfo(struct tm *timeInfo);\r
 void set_sleep_and_wake_time(void);\r
+void set_sedentary_data(void);\r
 void get_sleep_time_notify(void);\r
 #ifdef __cplusplus\r
 }\r
index 53f27d4..8aa3e0a 100644 (file)
@@ -46,13 +46,21 @@ extern "C"
     static int sleep_notify_time = 0;\r
     static int sleep_time_hour = 0;\r
     static int sleep_time_min = 0;\r
-\r
+    static int sedentary_switch = 0;\r
+    static int sedentary_time = 0;\r
     // 设置目标睡眠时间\r
     void set_sleep_and_wake_time(void)\r
     {\r
         sleep_time = get_sleep_time_from_config_model();\r
         wake_up_time = get_wake_up_time_from_config_model();\r
     }\r
+\r
+    void set_sedentary_data(void)\r
+    {\r
+        sedentary_switch = get_sedentary_switch_from_config_model();\r
+        sedentary_time = get_sedentary_time_from_config_model();\r
+    }\r
+\r
     // 设置睡眠提醒时间\r
     void get_sleep_time_notify(void)\r
     {\r
@@ -266,17 +274,33 @@ extern "C"
                 do_cywee_service_check_msg(CYWEE_SERVICE_CMD_SLEEPING_MODE, NULL);\r
             }\r
             // 退出睡眠模式\r
-            if (curTime.tm_hour == ((wake_up_time & 0XFFFF0000) >> 16) && curTime.tm_min == (wake_up_time & 0X0000FFFF) && curTime.tm_sec == 0)\r
+            else if (curTime.tm_hour == ((wake_up_time & 0XFFFF0000) >> 16) && curTime.tm_min == (wake_up_time & 0X0000FFFF) && curTime.tm_sec == 0)\r
             {\r
                 do_cywee_service_check_msg(CYWEE_SERVICE_CMD_GET_SLEEP_DATA, NULL);\r
                 printf("起床啦!\r\n");\r
                 // 早安提醒\r
                 AlarmEventPublish(TOPIC_EVENT_SLEEPNOTE, (uint8_t *)sleep_notify_time, 4);\r
                 // 设置状态为小睡\r
-                OHOS::SleepModel::GetInstance().set_sleep_state(OHOS::SLEEPSTATE::WALK);\r
+                OHOS::SleepModel::GetInstance().set_sleep_state(OHOS::SLEEPSTATE::WAKE);\r
                 LOS_Msleep(1000);\r
                 do_cywee_service_check_msg(CYWEE_SERVICE_CMD_NAP_MODE, NULL);\r
             }\r
+\r
+            if(sedentary_switch)\r
+            {\r
+                if (curTime.tm_hour == ((sedentary_time & 0XFF000000) >> 24) && curTime.tm_min == ((sedentary_time & 0X00FF0000) >> 16) && curTime.tm_sec == 0)\r
+                {\r
+                    do_cywee_service_check_msg(CYWEE_SERVICE_CMD_GET_SLEEP_DATA, NULL);\r
+                    LOS_Msleep(1000);\r
+                    do_cywee_service_check_msg(CYWEE_SERVICE_CMD_NAP_SEDENTARY_MODE, NULL);\r
+                }\r
+                else if (curTime.tm_hour == ((sedentary_time & 0X0000FF00) >> 8) && curTime.tm_min == (sedentary_time & 0X000000FF) && curTime.tm_sec == 0)\r
+                {\r
+                    do_cywee_service_check_msg(CYWEE_SERVICE_CMD_GET_SLEEP_DATA, NULL);\r
+                    LOS_Msleep(1000);\r
+                    do_cywee_service_check_msg(CYWEE_SERVICE_CMD_NAP_MODE, NULL);\r
+                }\r
+            }\r
         }\r
 \r
         // 心率周期检测 [0 1 5 10]\r
@@ -333,6 +357,7 @@ extern "C"
             return ERRCODE_FAIL;\r
         }\r
         set_sleep_and_wake_time();\r
+        set_sedentary_data();\r
         get_sleep_time_notify();\r
         return ERRCODE_SUCC;\r
     }\r
index bedeebd..64a3af5 100644 (file)
@@ -2,7 +2,7 @@
  * @Author: penglei 1624952103@qq.com
  * @Date: 2024-06-26 19:36:48
  * @LastEditors: penglei 1624952103@qq.com
- * @LastEditTime: 2024-06-28 15:51:01
+ * @LastEditTime: 2024-07-04 20:12:47
  * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/sleep/include/SleepModel.h
  * @Description:
  *
@@ -71,7 +71,7 @@ namespace OHOS
     // 睡眠状态
     enum class SLEEPSTATE
     {
-        WALK = 0,
+        WAKE = 0,
         SLEEPNOTIFY,
         SLEPP,
     };
@@ -125,7 +125,7 @@ namespace OHOS
         uint8_t sleep_total_time = 0;
         uint8_t goal_total_time = 0;
 
-        SLEEPSTATE sleepstate_ = SLEEPSTATE::WALK;
+        SLEEPSTATE sleepstate_ = SLEEPSTATE::WAKE;
     };
 }
 
index 36d6eed..3b9c7c8 100644 (file)
@@ -556,6 +556,8 @@ void set_sedent_param(  msg_sedent_set_param_info_t * data)
        
     p_ConfigModel->set_condigData_Int(OHOS::ConfigModel::CONFIGMODEL_ITEM_SEDENTARY_INTERVAL,data->frequenc);
     
+    set_sedentary_data();
+
     return;
 }
 
index 1cd748d..698408c 100644 (file)
@@ -2,7 +2,7 @@
  * @Author: penglei 1624952103@qq.com\r
  * @Date: 2024-06-17 14:31:08\r
  * @LastEditors: penglei 1624952103@qq.com\r
- * @LastEditTime: 2024-07-02 17:31:37\r
+ * @LastEditTime: 2024-07-04 17:33:35\r
  * @FilePath: /FD230/code/sdk/application/wearable/service/factorytest_service/factorytest_protocol.c\r
  * @Description: \r
  * \r
@@ -84,6 +84,8 @@ static uint32_t aging_time = 0;
 static uint8_t pwr_button_result = 0;\r
 static uint8_t func_button_result = 1;\r
 \r
+static uint8_t hx3695_chip_id = 0;\r
+\r
 static int CRC16_XMODEM(uint8_t *bytes,uint16_t length) {\r
     int crc = 0x0000;          // initial value\r
     int polynomial = 0x1021;\r
@@ -529,22 +531,10 @@ void factorytest_protocol_soft_test_decode(uint8_t submode,uint8_t testitem,uint
             if (testitem == 0x02)\r
             {\r
                 //获取蓝牙地址\r
-                uint8_t btaddr[64]={0};\r
-                uint32_t len = 64;\r
                 uint8_t send_data[7] = {0};\r
-                uint8_t i = 1;\r
-                char *buf;\r
-\r
-                uapi_get_btaddr((uint8_t*)btaddr,&len);\r
+                uint32_t len = 6;\r
 \r
-                PRINT("btaddr : %s \r\n",btaddr);\r
-                buf=  strtok((char *)btaddr,":");\r
-\r
-                while(buf != NULL)\r
-                {\r
-                    send_data[i++] = strtoul(buf,NULL,16);\r
-                    buf = strtok(NULL,":");\r
-                }\r
+                uapi_get_nv_btaddr(&send_data[1], &len);\r
 \r
                 factorytest_protocol_replymsg(BLE_TEST_CMD_MODE_SOFT_TEST,\r
                         BLE_TEST_CMD_SOFT_TEST_SUB_MODE_BLE,\r
@@ -1151,12 +1141,13 @@ void factorytest_protocol_soft_test_decode(uint8_t submode,uint8_t testitem,uint
                 //获取 ppg_id\r
                 uint8_t ppg_id;\r
                 uapi_ppg_get_id(&ppg_id);\r
-\r
+                if(ppg_id == 0x65)\r
+                    hx3695_chip_id = ppg_id;\r
                 factorytest_protocol_replymsg(BLE_TEST_CMD_MODE_SOFT_TEST,\r
                         BLE_TEST_CMD_SOFT_TEST_SUB_MODE_HRS,\r
                         0x01,\r
-                        &ppg_id,\r
-                        sizeof(ppg_id));\r
+                        &hx3695_chip_id,\r
+                        sizeof(hx3695_chip_id));\r
 \r
             } else if(testitem == 0x02)\r
             {\r
@@ -1466,38 +1457,36 @@ void factorytest_protocol_soft_test_decode(uint8_t submode,uint8_t testitem,uint
             } else if(testitem == 0x03)\r
             {\r
                 //查看sim卡插入状态\r
-                uint8_t send_data[2] = {0};\r
-                uint16_t len = sizeof(send_data);\r
-\r
-                send_data[1] = uapi_dev_runtime_get_cat1_simstat();\r
+                uint8_t send_data = 0;\r
+                send_data = uapi_dev_runtime_get_cat1_simstat();\r
                 factorytest_protocol_replymsg(BLE_TEST_CMD_MODE_SOFT_TEST,\r
                         BLE_TEST_CMD_SOFT_TEST_SUB_MODE_CAT1,\r
                         0x03,\r
-                        send_data,\r
-                        2);\r
+                        &send_data,\r
+                        1);\r
             } else if(testitem == 0x04)\r
             {\r
                 //查看信号强度\r
-                uint8_t send_data[2] = {0};\r
+                uint8_t send_data = 0;\r
 \r
-                send_data[1] = uapi_dev_runtime_get_cat1_signal();\r
+                send_data = uapi_dev_runtime_get_cat1_signal();\r
 \r
                 factorytest_protocol_replymsg(BLE_TEST_CMD_MODE_SOFT_TEST,\r
                         BLE_TEST_CMD_SOFT_TEST_SUB_MODE_CAT1,\r
                         0x04,\r
-                        send_data,\r
-                        2);\r
+                        &send_data,\r
+                        1);\r
             } else if(testitem == 0x05)\r
             {\r
                 //查看网络类型\r
-                uint8_t send_data[2] = {0};\r
-                send_data[1] = uapi_dev_runtime_get_cat1_networtype();\r
+                uint8_t send_data = 0;\r
+                send_data = uapi_dev_runtime_get_cat1_networtype();\r
                  \r
                 factorytest_protocol_replymsg(BLE_TEST_CMD_MODE_SOFT_TEST,\r
                         BLE_TEST_CMD_SOFT_TEST_SUB_MODE_CAT1,\r
                         0x05,\r
-                        send_data,\r
-                        2);\r
+                        &send_data,\r
+                        1);\r
             } else if(testitem == 0x06)\r
             {\r
                 //查看iMei号\r
@@ -1514,8 +1503,12 @@ void factorytest_protocol_soft_test_decode(uint8_t submode,uint8_t testitem,uint
                 //拨打电话\r
                 \r
                 uint8_t send_data = 0x00;\r
+                char phone_number[12] = {0}; \r
+                for(int i = 0; i < 11; i++) \r
+                    phone_number[i] = data[i] + '0';\r
+                phone_number[11] = '\0';\r
 \r
-                cat1_call_dial((char *)data);\r
+                cat1_call_dial(phone_number);      \r
                 factorytest_protocol_replymsg(BLE_TEST_CMD_MODE_SOFT_TEST,\r
                         BLE_TEST_CMD_SOFT_TEST_SUB_MODE_CAT1,\r
                         0x07,\r
index 9f955f9..4a3a3c4 100644 (file)
@@ -81,7 +81,7 @@ namespace OHOS
             textId = STR_DISTURBNOTE; // 开启勿扰
             ConfigModel::GetInstance()->SetDnotdisturb(true);
             break;
-        case SLEEPSTATE::WALK:
+        case SLEEPSTATE::WAKE:
             titleStr = SleepModel::GetInstance().get_walk_notifiy();
             textId = STR_MORNNING;
             ConfigModel::GetInstance()->SetDnotdisturb(false); // 关闭勿扰
index dbcd212..92f0412 100644 (file)
@@ -2,7 +2,7 @@
  * @Author: luozheng 1732036298@qq.com
  * @Date: 2024-04-17 09:32:03
  * @LastEditors: penglei 1624952103@qq.com
- * @LastEditTime: 2024-06-28 18:27:45
+ * @LastEditTime: 2024-07-04 20:08:17
  * @FilePath: /FD230/code/sdk/drivers/peripheral/config/include/ConfigModelC.h
  */
 #ifndef _CONFIG_MODEL_C_H_
@@ -97,7 +97,8 @@ void get_user_info_from_config_model(int user_info[5]);
 
 int get_sleep_time_from_config_model(void);
 int get_wake_up_time_from_config_model(void);
-
+int get_sedentary_switch_from_config_model(void);
+int get_sedentary_time_from_config_model(void);
 //设置睡眠频率
 void set_config_heart(int heartRateDetectionFreq);
 
index 7223f9d..d95e91f 100644 (file)
@@ -1465,6 +1465,21 @@ void set_config_heart(int heartRateDetectionFreq)
      // 设置心率检测频率
     OHOS::ConfigModel::GetInstance()->set_condigData_Int(OHOS::ConfigModel::CONFIGMODEL_ITEM_HEARTRATE_DETECTED, heartRateDetectionFreq);
 }
+//获取久坐提醒开关
+int get_sedentary_switch_from_config_model(void)
+{
+    int sedentary_switch = 0;
+    sedentary_switch = OHOS::ConfigModel::GetInstance()->get_configData_int(OHOS::ConfigModel::CONFIGMODEL_ITEM_SEDENTARY_SWITCH);
+    return sedentary_switch;
+}
+//获取久坐提醒时间
+int get_sedentary_time_from_config_model(void)
+{
+    int sedentary_time = 0;
+    sedentary_time = OHOS::ConfigModel::GetInstance()->get_configData_int(OHOS::ConfigModel::CONFIGMODEL_ITEM_SEDENTARY_REMINDERTIME);
+    return sedentary_time;
+}
+
 #ifdef __cplusplus
 #if __cplusplus
 }