优化心率计算,添加天线测试蓝牙指令 357/1 357/head 358/target/1 359/target/1 360/target/1
authorpenglei <1624952103@qq.com>
Sat, 22 Jun 2024 07:29:23 +0000 (15:29 +0800)
committerpenglei <1624952103@qq.com>
Sat, 22 Jun 2024 07:29:23 +0000 (15:29 +0800)
code/sdk/application/wearable/service/factorytest_service/factorytest_protocol.c
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/ppg/hx3695/hx3695.c
code/sdk/drivers/peripheral/ppg/service/ppg_service.cpp

index 71a2fb8..2063770 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-06-20 15:31:42\r
+ * @LastEditTime: 2024-06-22 15:27:12\r
  * @FilePath: /FD230/code/sdk/application/wearable/service/factorytest_service/factorytest_protocol.c\r
  * @Description: \r
  * \r
@@ -1498,9 +1498,7 @@ void factorytest_protocol_soft_test_decode(uint8_t submode,uint8_t testitem,uint
                         0x08,\r
                         &send_data,\r
                         1);\r
-            }\r
-\r
-            else if(testitem == 0x09)\r
+            } else if(testitem == 0x09)\r
             {\r
                 //挂断电话\r
                 uint8_t send_data = 0x00;\r
@@ -1511,6 +1509,67 @@ void factorytest_protocol_soft_test_decode(uint8_t submode,uint8_t testitem,uint
                         0x09,\r
                         &send_data,\r
                         1);\r
+            } else if(testitem == 0x10)\r
+            {\r
+                //获取校准信息\r
+                uint8_t send_data = 0;\r
+                cat1_at_cmd("at*mrd_cdf=Q,LteCalData.nvm");\r
+                LOS_Msleep(500);\r
+                ble_get_cat1_at_msg((char *)&send_data,1);\r
+                if(atol(send_data) == 1)\r
+                    send_data = 1;\r
+                else\r
+                    send_data = 0;\r
+                factorytest_protocol_replymsg(BLE_TEST_CMD_MODE_SOFT_TEST,\r
+                        BLE_TEST_CMD_SOFT_TEST_SUB_MODE_CAT1,\r
+                        0x10,\r
+                        &send_data,\r
+                        1);\r
+            } else if(testitem == 0x11)\r
+            {\r
+                //设置强收模式\r
+                uint8_t send_data = 0;\r
+                cat1_at_cmd("at+QRFTESTMODE=1");\r
+                LOS_Msleep(500);\r
+                ble_get_cat1_at_msg((char *)&send_data,1);\r
+                if(atol(send_data) == 0)\r
+                    send_data = 1;\r
+                else\r
+                    send_data = 0;\r
+                factorytest_protocol_replymsg(BLE_TEST_CMD_MODE_SOFT_TEST,\r
+                        BLE_TEST_CMD_SOFT_TEST_SUB_MODE_CAT1,\r
+                        0x11,\r
+                        &send_data,\r
+                        1);\r
+            } else if(testitem == 0x12)\r
+            {\r
+                //查询信号值\r
+                char buf[20] = {0};\r
+                cat1_at_cmd("AT+QRXFTM=\"LTE BAND1\",300,\"on\",75");\r
+                LOS_Msleep(500);\r
+                ble_get_cat1_at_msg(buf,20);\r
+                PRINT("AT+QRXFTM buf : %s \r\n",buf);\r
+                factorytest_protocol_replymsg(BLE_TEST_CMD_MODE_SOFT_TEST,\r
+                        BLE_TEST_CMD_SOFT_TEST_SUB_MODE_CAT1,\r
+                        0x12,\r
+                        (uint8_t *)buf,\r
+                        strlen(buf));\r
+            } else if(testitem == 0x13)\r
+            {\r
+                //关闭强接受\r
+                uint8_t send_data = 0;\r
+                cat1_at_cmd("AT+QRXFTM=\"LTE BAND1\",300,\"off\",75");\r
+                LOS_Msleep(500);\r
+                ble_get_cat1_at_msg((char *)&send_data,1);\r
+                if(atol(send_data) == 0)\r
+                    send_data = 1;\r
+                else\r
+                    send_data = 0;\r
+                factorytest_protocol_replymsg(BLE_TEST_CMD_MODE_SOFT_TEST,\r
+                        BLE_TEST_CMD_SOFT_TEST_SUB_MODE_CAT1,\r
+                        0x13,\r
+                        &send_data,\r
+                        1);\r
             }\r
             \r
             break;\r
index 35b5b54..0b9393e 100644 (file)
@@ -536,6 +536,7 @@ void set_fat_time_data(void);
 
 void cywee_get_chipinfo(char *databuf,uint8_t len);
 void cywee_set_sedentary_interval(int time);
+void cywee_get_acc_switch(int cmd);
 
 extern uint8_t hrs_mode_state;
 
index 4f88d54..9b8e51b 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 20:06:06
+ * @LastEditTime: 2024-06-22 15:03:56
  * @FilePath: /FD230/code/sdk/drivers/peripheral/cywee/Inc/cywee_service.h
  * @Description: 
  * 
@@ -82,6 +82,10 @@ extern "C" {
 
 #define CYWEE_SERVICE_CMD_SET_USER_INFO 0x2E
 
+#define CYWEE_SERVICE_CMD_OPEN_GET_ACC 0x2F
+
+#define CYWEE_SERVICE_CMD_CLOSE_GET_ACC 0x30
+
 errcode_t uapi_cywee_service_init(void);
 void uapi_cywee_service_deinit(void);
 
index 0368f94..55890a7 100644 (file)
@@ -387,6 +387,15 @@ static void cywee_service_check_task(void const *arg)
             case CYWEE_SERVICE_CMD_SET_USER_INFO:
                 cywee_set_user_info();
             break;
+
+            case CYWEE_SERVICE_CMD_OPEN_GET_ACC:
+                cywee_get_acc_switch(1);
+            break;
+
+            case CYWEE_SERVICE_CMD_CLOSE_GET_ACC:
+                cywee_get_acc_switch(0);
+            break;
+
             default:
                 PRINT("unkonw cmd \r\n");
                 break;
index 4862297..36e8b06 100644 (file)
@@ -73,6 +73,11 @@ static int sedentary_interval_count = 0;
 int cm__hs1__init(void);
 int cm__hs1__deinit(void);
 
+void cywee_get_acc_switch(int cmd)
+{
+    get_acc_swtich = cmd;
+}
+
 void cywee_set_sedentary_interval(int time)
 {
     sedentary_interval = time;
@@ -303,13 +308,11 @@ void activity_mode_setstatus(int cmd)
     {
         send_ppg_cmd_msg(PPG_SERVICE_CMD_TYPE_DO_PPG_TEST);
         hrs_mode_state = 1;
-        get_acc_swtich = 1;
     }
     else
     {
         send_ppg_cmd_msg(PPG_SERVICE_CMD_TYPE_STOP_PPG_TEST);
         hrs_mode_state = 0;
-        get_acc_swtich = 0;
     }
 }
 
@@ -583,13 +586,11 @@ void CWM_AP_SensorListen(pSensorEVT_t sensorEVT) {
                 {
                     send_ppg_cmd_msg(PPG_SERVICE_CMD_TYPE_DO_PPG_TEST);
                     hrs_mode_state = 1;
-                    get_acc_swtich = 1;
                 }
                 else
                 {
                     send_ppg_cmd_msg(PPG_SERVICE_CMD_TYPE_STOP_PPG_TEST);
                     hrs_mode_state = 0;
-                    get_acc_swtich = 0;
                 }
             }
              break;
@@ -1009,28 +1010,31 @@ int cywee_main_dml(void)
     scl.iData[4] = 1;//extra info发送  0 打开,1关闭
     CWM_SettingControl(SCL_PEDO_CONFIG, &scl);
 
+    //设置运动模式
     memset(&scl, 0, sizeof(scl));
     scl.iData[0] = 1;
     CWM_SettingControl(SCL_ACTIVITY_CONFIG, &scl);
 
-
+    //设置睡眠
     memset(&scl, 0, sizeof(scl));
     scl.iData[0] = 1;
     CWM_SettingControl(SCL_SLEEP_CONFIG, &scl);
 
-
+    //设置久坐
     memset(&scl, 0, sizeof(scl));
     scl.iData[0] = 1;
     scl.iData[2] = 1;
     CWM_SettingControl(SCL_SEDENTARY, &scl);   
 
+    //设置静态模式
     memset(&scl, 0, sizeof(scl));
     scl.iData[0] = 1;
     CWM_SettingControl(SCL_INACTIVITY_CONFIG, &scl);
 
+    //设置运动识别
     memset(&scl, 0, sizeof(scl));
     scl.iData[0] = 1;
-    scl.iData[1] = 1;
+    scl.iData[1] = 1;// 0 关闭运动识别  1 打开运动识别
     CWM_SettingControl(SCL_AR_ALERT_CONFIG, &scl);
 
     // memset(&scl, 0, sizeof(scl));
index fd72614..da23b20 100644 (file)
@@ -2754,10 +2754,7 @@ void hx3695_hrs_ppg_Int_handle(void)
     {\r
         memset(gsensordata,0.0f,sizeof(gsenson_t) * 8);\r
 \r
-        if(hrs_mode_state == 1)\r
-        {\r
-            gsensor_get_n_data(8,gsensordata);  \r
-        }\r
+        gsensor_get_n_data(8,gsensordata);  \r
 \r
        for(ii=0; ii<*count; ii++)\r
        {\r
index d2d1b91..327194f 100644 (file)
@@ -309,7 +309,7 @@ static void ppg_service_check_task(void  *arg)
             wear_mode_timeout_handler(NULL);
             continue;
         }else if (mail == PPG_SERVICE_CMD_TYPE_DO_PPG_TEST){
-
+            do_cywee_service_check_msg(CYWEE_SERVICE_CMD_OPEN_GET_ACC,NULL);
             cmd = "hrs";
             enable = 1;
             uapi_pm_add_sleep_veto(PM_ID_HEART);
@@ -342,6 +342,7 @@ static void ppg_service_check_task(void  *arg)
             enable = 0;
             wear_mode_state = 0;
         }else if (mail == PPG_SERVICE_CMD_TYPE_STOP_PPG_TEST){
+            do_cywee_service_check_msg(CYWEE_SERVICE_CMD_CLOSE_GET_ACC,NULL);
             cmd = "hrs";
             enable = 0;
             uapi_pm_remove_sleep_veto(PM_ID_HEART);