优化蓝牙产测老化测试
authorpenglei <1624952103@qq.com>
Fri, 10 Jan 2025 04:14:21 +0000 (12:14 +0800)
committerpenglei <1624952103@qq.com>
Fri, 10 Jan 2025 04:14:21 +0000 (12:14 +0800)
code/sdk/application/wearable/service/factorytest_service/factorytest_protocol.c
code/sdk/drivers/peripheral/rotary_encoder/hx3507/hx3507.c
code/sdk/drivers/peripheral/rotary_encoder/hx3507/hx3507.h
code/sdk/drivers/peripheral/utils/custom_utils.c

index 8c070da..df38eeb 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: 2025-01-08 18:28:52\r
+ * @LastEditTime: 2025-01-10 11:19:35\r
  * @FilePath: /FD230/code/sdk/application/wearable/service/factorytest_service/factorytest_protocol.c\r
  * @Description: \r
  * \r
@@ -266,8 +266,9 @@ void aging_task(void)
 \r
 /*********************表冠 老化测试*****************************/\r
         //读crown ID\r
-        PRINT("crown_read_reg : %X \n",crown_read_reg(0x00));\r
-        if(!(crown_read_reg(0x00) == 0x30))\r
+        uint8_t crown_id = 0;\r
+        crown_read_id(&crown_id);\r
+        if(crown_id != 0x30)\r
         {\r
             aging_t.crown_error++;\r
             aging_t.fail_num++;\r
@@ -276,10 +277,7 @@ void aging_task(void)
 \r
 \r
 /*********************充电 老化测试*****************************/\r
-        bool state;\r
-        state = uapi_get_charger_plug_status();\r
-        PRINT("充电 uapi_get_charger_plug_status() : %d \r\n",uapi_get_charger_plug_status());\r
-        if(!uapi_get_charger_plug_status())\r
+        if(!get_charge_stat())\r
         {\r
             aging_t.charge_error++;\r
             aging_t.fail_num++;\r
@@ -305,7 +303,7 @@ void aging_task(void)
             custom_VibratorFunc_int(4);\r
             LOS_Msleep(4000);\r
             // uapi_get_timestampe_ss(&age_time);\r
-            PRINT("current_time -  enter_time[%d]\n",current_time -  enter_time);\r
+            // PRINT("current_time - enter_time[%d]\n",current_time -  enter_time);\r
         }while(current_time - enter_time <= 2 * 60);\r
         PRINT("马达失败次数 : %d \r\n",aging_t.motor_error);\r
 \r
@@ -338,7 +336,7 @@ void aging_task(void)
             LOS_Msleep(2000);\r
             uapi_check_spk(0);\r
             aging_t.speaker_error = 0;\r
-            PRINT("current_time -  enter_time[%d]\n",current_time -  enter_time);\r
+            // PRINT("current_time - enter_time[%d]\n",current_time -  enter_time);\r
         }while(current_time - enter_time <= 2 * 60);\r
         PRINT("spk失败次数 : %d \r\n",aging_t.speaker_error);\r
 /*********************ppg 老化测试*****************************/\r
@@ -357,7 +355,7 @@ void aging_task(void)
             }\r
             uapi_get_timestampe_ss(&current_time);\r
             send_ppg_cmd_msg(PPG_SERVICE_CMD_TYPE_DO_SINGLE_CHECK_MODE_TEST);\r
-            LOS_Msleep(500);\r
+            LOS_Msleep(1000);\r
             FT_RESULTS_t ft_result = hx3695_factroy_test(SINGLE_CHECK_TEST);\r
             send_ppg_cmd_msg(PPG_SERVICE_CMD_TYPE_STOP_PPG_TEST);\r
             PRINT("ft_result.gr_data_final : %d , ft_result.red_data_final : %d , ft_result.ir_data_final : %d\r\n",ft_result.gr_data_final,ft_result.red_data_final,ft_result.ir_data_final);\r
@@ -366,7 +364,7 @@ void aging_task(void)
                 aging_t.ppg_error++;\r
                 aging_t.fail_num++;\r
             }\r
-            PRINT("current_time -  enter_time[%d]\n",current_time -  enter_time);\r
+            // PRINT("current_time - enter_time[%d]\n",current_time -  enter_time);\r
         }while(current_time - enter_time <= 2 * 60);\r
 \r
         PRINT("aging_t.ppg_error : %d \r\n",aging_t.ppg_error);\r
@@ -394,7 +392,7 @@ void aging_task(void)
                 aging_t.fail_num++;\r
             }\r
             LOS_Msleep(1000);\r
-            PRINT("current_time -  enter_time[%d]\n",current_time -  enter_time);\r
+            // PRINT("current_time - enter_time[%d]\n",current_time -  enter_time);\r
         }while(current_time - enter_time <= 2 * 60);\r
         PRINT("gsensor失败次数 : %d \r\n",aging_t.gsensor_error);\r
 \r
@@ -414,14 +412,17 @@ void aging_task(void)
                 return;\r
             }\r
             uapi_get_timestampe_ss(&current_time);\r
+            do_mag_service_check_msg(MAG_SERVICE_CMD_START_CHECK);\r
+            LOS_Msleep(1000);\r
             mmc5603_getdata(&fAzimuth,&fPitch,&fRoll);\r
+            do_mag_service_check_msg(MAG_SERVICE_CMD_STOP_CHECK);\r
             if(fAzimuth < 0)\r
             {\r
                 aging_t.mag_error++;\r
                 aging_t.fail_num++;\r
             }\r
             LOS_Msleep(1000);\r
-            PRINT("current_time -  enter_time[%d]\n",current_time -  enter_time);\r
+            // PRINT("current_time - enter_time[%d]\n",current_time -  enter_time);\r
         }while(current_time - enter_time <= 2 * 60);\r
 \r
         PRINT("磁力计失败次数 : %d \r\n",aging_t.mag_error);\r
@@ -1469,7 +1470,7 @@ void factorytest_protocol_soft_test_decode(uint8_t submode,uint8_t testitem,uint
             {\r
                 //漏光测试\r
                 send_ppg_cmd_msg(PPG_SERVICE_CMD_TYPE_DO_LEAKLIGHT_TEST);\r
-                LOS_Msleep(200);\r
+                LOS_Msleep(500);\r
                 FT_RESULTS_t ft_result = hx3695_factroy_test(LEAK_LIGHT_TEST);\r
                 send_ppg_cmd_msg(PPG_SERVICE_CMD_TYPE_STOP_PPG_TEST);\r
                 uint8_t databuf[12] = {0};\r
@@ -1521,7 +1522,11 @@ void factorytest_protocol_soft_test_decode(uint8_t submode,uint8_t testitem,uint
             {\r
                 //地磁sensor测试\r
                 float fAzimuth,fPitch,fRoll;\r
+                \r
+                do_mag_service_check_msg(MAG_SERVICE_CMD_START_CHECK);\r
+                LOS_Msleep(500);\r
                 mmc5603_getdata(&fAzimuth,&fPitch,&fRoll);\r
+                do_mag_service_check_msg(MAG_SERVICE_CMD_STOP_CHECK);\r
                 \r
                 uint8_t databuf[6] = {0};\r
 \r
@@ -1690,6 +1695,11 @@ void factorytest_protocol_soft_test_decode(uint8_t submode,uint8_t testitem,uint
                 //查看sim卡插入状态\r
                 uint8_t send_data = 0;\r
                 send_data = uapi_dev_runtime_get_cat1_simstat();\r
+                if(!send_data)\r
+                {\r
+                    LOS_Msleep(1000);\r
+                    send_data = uapi_dev_runtime_get_cat1_simstat();\r
+                }\r
                 factorytest_protocol_replymsg(BLE_TEST_CMD_MODE_SOFT_TEST,\r
                         BLE_TEST_CMD_SOFT_TEST_SUB_MODE_CAT1,\r
                         0x03,\r
@@ -1774,7 +1784,7 @@ void factorytest_protocol_soft_test_decode(uint8_t submode,uint8_t testitem,uint
                 //获取校准信息\r
                 uint8_t send_data = 0;\r
                 cat1_at_cmd("at*mrd_cdf=Q,LteCalData.nvm");\r
-                LOS_Msleep(500);\r
+                LOS_Msleep(1000);\r
                 ble_get_cat1_at_msg((char *)&send_data,1);\r
                 if(send_data == '1')\r
                     send_data = 1;\r
index 4096463..3c4250b 100644 (file)
@@ -602,5 +602,34 @@ int16_t get_crown_result(void)
     return resulttemp;
 }
 
+void crown_read_id(uint8_t *id)
+{
+    uapi_gpio_set_dir(PIN_TYHX_SDIO,GPIO_DIRECTION_OUTPUT);
+    // uapi_pin_set_pull(PIN_TYHX_SDIO, (pin_pull_t)HAL_PIO_PULL_UP);
+    // uapi_pin_set_ie(PIN_TYHX_SDIO,HAL_PIO_IE_ENBALE);
+    uapi_gpio_set_val(PIN_TYHX_SDIO,GPIO_LEVEL_LOW);
+
+    uapi_gpio_set_dir(PIN_TYHX_SCLK,GPIO_DIRECTION_OUTPUT);
+    // uapi_pin_set_ie(PIN_TYHX_SCLK,HAL_PIO_IE_DISABLE);
+    uapi_gpio_set_val(PIN_TYHX_SCLK,GPIO_LEVEL_LOW);
+
+    LOS_Udelay(COM_DELAY);
+    crown_com_resync();
+    for(int i=0; i<10; i++)
+    {
+        if(crown_read_reg(HX3507_DID) == 0x30)
+        {
+            TYHX_LOG("read chip id is 0x30\r\n",i);
+            *id = crown_read_reg(HX3507_DID);
+            break;
+        }
+        if(i<7)//读到ID不对, 复位通信
+        {
+            crown_com_resync();
+        }
+    }
+}
+
+
 // #endif
 
index 565d54d..27581ab 100644 (file)
@@ -90,4 +90,7 @@ void report_zero_data_for_start_stop_flag(void);
 
 //把角度结果上报的函数
 int16_t get_crown_result(void);
+
+void crown_read_id(uint8_t *id);
+
 #endif //_TYHX_CROWN_CUSTOM_H_
index e3b2ad3..ace51df 100644 (file)
@@ -1942,14 +1942,15 @@ void mmc5603_getid(unsigned char *id)
 
 void mmc5603_getdata(float *fAzimuth,float *fPitch,float *fRoll)
 {
-    mmc5603_check();
+    // mmc5603_check();
     *fAzimuth = mag_service_get_fAzimuth();
     *fPitch = mag_service_get_fPitch();
     *fRoll = mag_service_get_fRoll();
-    PRINT("Azimuth : %f, fPitch : %f , fRoll : %f \r\n",*fAzimuth,*fPitch,*fRoll);
+    // PRINT("Azimuth : %f, fPitch : %f , fRoll : %f \r\n",*fAzimuth,*fPitch,*fRoll);
 }
 
 
+
 #include "battery_hal.h"
 void charge_getstate(void)
 {