优化老化测试流程,添加文件读写与充电限制 1318/1 1318/head 1319/target/1 1320/target/1 1321/target/1
authorpenglei <1624952103@qq.com>
Fri, 1 Nov 2024 13:01:56 +0000 (21:01 +0800)
committerpenglei <1624952103@qq.com>
Fri, 1 Nov 2024 13:01:56 +0000 (21:01 +0800)
降低蓝牙通话音量1db防止破音

code/sdk/application/audio/vendor/aw88166/config/aw88166/mono/16bit/aw_params.h
code/sdk/application/battery/service/battery_service.cpp
code/sdk/application/battery/service/battery_service.h
code/sdk/application/wearable/service/factorytest_service/factorytest_protocol.c
code/sdk/drivers/peripheral/utils/custom_fileoperate_service.c
code/sdk/drivers/peripheral/utils/custom_utils.h

index 5666ae2..7f54f0e 100755 (executable)
@@ -562,8 +562,8 @@ const unsigned char dev0_Receiver_dsp_cfg[] = {
 0x0d,0x0d,0x0d,0x0d,0x0c,0x0c,0x0b,0x0b,0x0a,0x0a,0x0a,0x0a,0xd5,0x00,0x03,0x00,\r
 0x03,0x00,0x00,0x55,0x06,0xce,0x00,0x00,0x04,0x8a,0x00,0x00,0xd5,0x00,0x00,0x00,\r
 0x02,0x80,0x00,0x00,0x06,0xce,0x00,0x00,0x06,0xce,0x00,0x00,0xd5,0x00,0x03,0x00,\r
-0x03,0x00,0x00,0x55,0x06,0xce,0x00,0x00,0x04,0x8a,0x00,0x00,0xd8,0x00,0x0a,0x00,\r
-0x06,0x00,0x00,0x47,0x00,0xaf,0x00,0x00,0x01,0x5d,0x00,0x00,0x00,0x0c,0x00,0x00,\r
+0x03,0x00,0x00,0x55,0x06,0xce,0x00,0x00,0x04,0x8a,0x00,0x00,0xd8,0x00,0x09,0x00,\r
+0x06,0x00,0x00,0x40,0x00,0xaf,0x00,0x00,0x01,0x5d,0x00,0x00,0x00,0x0c,0x00,0x00,\r
 0xfe,0xab,0x02,0x80,0xff,0xde,0xf5,0x00,0x00,0x3c,0x00,0x00,0x11,0x11,0x00,0x01,\r
 0x00,0x1e,0x00,0x00,0xee,0xef,0xff,0xfe,0x00,0x2d,0x00,0x00,0x00,0x00,0x00,0x00,\r
 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0xc9,0x02,0xb8,0x02,0xa7,0x02,0x96,\r
@@ -580,8 +580,8 @@ const unsigned char dev0_Receiver_dsp_cfg[] = {
 0x3b,0x53,0x00,0x00,0xbb,0x3d,0x03,0xe0,0x57,0x78,0xfe,0x1e,0x58,0x36,0x01,0xfa,\r
 0x4f,0x94,0xfc,0x0b,0x58,0x36,0x01,0xfa,0xa0,0x6e,0x03,0xf4,0x3f,0x96,0xfe,0x0b,\r
 0x00,0x0a,0x00,0x1b,0x05,0xdc,0x00,0x00,0x00,0x0a,0x00,0x16,0x02,0xee,0x00,0x00,\r
-0x00,0x0f,0x00,0xc9,0x06,0x24,0x00,0x01,0x0f,0xac,0x00,0x00,0xf5,0xd0,0x36,0x33,\r
-0x58,0xd5,0xb8,0x1c,\r
+0x00,0x0f,0x00,0xc9,0x06,0x24,0x00,0x01,0x0f,0xac,0x00,0x00,0xf5,0xd0,0x19,0x22,\r
+0x88,0x59,0x94,0xfd,\r
 };\r
 \r
 struct aw_prof_desc g_dev0_prof[] = {\r
index 821d5ff..cdfa549 100644 (file)
@@ -400,6 +400,14 @@ static void battery_check_task(void *arg)
         {
             battery_save_percent();
         }
+        else if (mail.comm.event == BATTERY_CMD_START_AGING_TEST)
+        {
+            enable_02c();
+        }
+        else if (mail.comm.event == BATTERY_CMD_STOP_AGING_TEST)
+        {
+            disable_02c();
+        }
 
     }// while (1) 
 
index 340fdb8..d96ced7 100644 (file)
@@ -1,3 +1,11 @@
+/*
+ * @Author: penglei 1624952103@qq.com
+ * @Date: 2024-10-25 14:42:28
+ * @LastEditors: penglei 1624952103@qq.com
+ * @LastEditTime: 2024-11-01 17:44:34
+ * @FilePath: /FD230/code/sdk/application/battery/service/battery_service.h
+ * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
+ */
 /**
  * Copyright (c) @CompanyNameMagicTag 2022-2022. All rights reserved. \n
  *
@@ -21,6 +29,8 @@ extern "C" {
 
 
 #define BATTERY_CMD_SAVE_PERCENT 0x16
+#define BATTERY_CMD_START_AGING_TEST 0x17
+#define BATTERY_CMD_STOP_AGING_TEST 0x18
 
 uint8_t batteryservice_get_battery_temp(float *temp);
 uint8_t batteryservice_get_pcb_temp(float *temp);
index f56c055..daea9a4 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-11-01 11:35:05\r
+ * @LastEditTime: 2024-11-01 20:49:51\r
  * @FilePath: /FD230/code/sdk/application/wearable/service/factorytest_service/factorytest_protocol.c\r
  * @Description: \r
  * \r
@@ -79,6 +79,8 @@ static int factorytest_mode_flag = 0;
 \r
 ble_aging_t aging_t = {0};\r
 \r
+ble_aging_t aging_result_t = {0};\r
+\r
 static osTimerId_t g_ble_vibrator_timer = NULL;\r
 \r
 static osTimerId_t g_ble_acc_timer = NULL;\r
@@ -165,6 +167,18 @@ void ble_acc_check_timer_callback(void)
             6);\r
 }\r
 \r
+void factorytest_save_aging_data(void)\r
+{\r
+    uapi_save_file_data("user/userdata/aging_test.bin",&aging_t,sizeof(ble_aging_t),"wb");\r
+}\r
+\r
+void factorytest_read_aging_data(void)\r
+{\r
+    int size = sizeof(ble_aging_t);\r
+    memset(&aging_result_t, 0, sizeof(ble_aging_t));\r
+    uapi_get_file_data("user/userdata/aging_test.bin",&aging_result_t,&size);\r
+}\r
+\r
 void aging_task(void)\r
 {\r
     errcode_t ret = 0;\r
@@ -172,6 +186,8 @@ void aging_task(void)
     uint32_t current_aging_time = 0;\r
     int cmd = 0;\r
     uapi_get_timestampe_ss(&enter_aging_time);\r
+    send_battery_svr_cmd_msg(BATTERY_CMD_START_AGING_TEST); //老化限制充电\r
+    PRINT("aging_t.flag : %d \n",aging_t.flag);\r
     while(aging_t.flag == 1)\r
     //while(aging_t.flag == 0xfdfd0002)\r
     {\r
@@ -206,7 +222,11 @@ void aging_task(void)
         for(int i = 1; i < 120 ; i++)\r
         {\r
             if(aging_t.flag != 1)\r
+            {\r
+                send_battery_svr_cmd_msg(BATTERY_CMD_STOP_AGING_TEST); //恢复充电\r
+                do_custom_fileoperate_service_check_msg(CUSTOM_FILEOPERATE_MSG_TYPE_AGING_DATA_SAVE, NULL, 0);\r
                 return;\r
+            }\r
             do_custom_cmd_service_check_msg(CUSTOM_CMD_MSG_TYPE_LCD_COLOR_TEST,&cmd,sizeof(cmd));\r
             cmd ++;\r
             cmd = cmd % 5;         \r
@@ -216,7 +236,7 @@ void aging_task(void)
         }\r
         cmd = 5;\r
         do_custom_cmd_service_check_msg(CUSTOM_CMD_MSG_TYPE_LCD_COLOR_TEST,&cmd,sizeof(cmd));\r
-/*********************TP 老化测试*****************************/\r
+// /*********************TP 老化测试*****************************/\r
         //读TP ID\r
         uint16_t tp_id;\r
         touch_getid(&tp_id);\r
@@ -258,7 +278,11 @@ void aging_task(void)
         do\r
         {\r
             if(aging_t.flag != 1)\r
+            {\r
+                send_battery_svr_cmd_msg(BATTERY_CMD_STOP_AGING_TEST); //恢复充电\r
+                do_custom_fileoperate_service_check_msg(CUSTOM_FILEOPERATE_MSG_TYPE_AGING_DATA_SAVE, NULL, 0);\r
                 return;\r
+            }\r
             uapi_get_timestampe_ss(&current_time);\r
             // uapi_get_timestampe_ss(&enter_time);\r
             custom_VibratorFunc_int(4);\r
@@ -287,7 +311,11 @@ void aging_task(void)
         do\r
         {\r
             if(aging_t.flag != 1)\r
+            {\r
+                send_battery_svr_cmd_msg(BATTERY_CMD_STOP_AGING_TEST); //恢复充电\r
+                do_custom_fileoperate_service_check_msg(CUSTOM_FILEOPERATE_MSG_TYPE_AGING_DATA_SAVE, NULL, 0);\r
                 return;\r
+            }\r
             uapi_get_timestampe_ss(&current_time);\r
             uapi_check_spk(1);\r
             LOS_Msleep(2000);\r
@@ -305,7 +333,11 @@ void aging_task(void)
         do\r
         {\r
             if(aging_t.flag != 1)\r
+            {\r
+                send_battery_svr_cmd_msg(BATTERY_CMD_STOP_AGING_TEST); //恢复充电\r
+                do_custom_fileoperate_service_check_msg(CUSTOM_FILEOPERATE_MSG_TYPE_AGING_DATA_SAVE, NULL, 0);\r
                 return;\r
+            }\r
             uapi_get_timestampe_ss(&current_time);\r
             send_ppg_cmd_msg(PPG_SERVICE_CMD_TYPE_DO_SINGLE_CHECK_MODE_TEST);\r
             LOS_Msleep(200);\r
@@ -322,12 +354,6 @@ void aging_task(void)
 \r
         PRINT("aging_t.ppg_error : %d \r\n",aging_t.ppg_error);\r
 \r
-        // if(ft_result.gr_data_final > 5000 || ft_result.red_data_final > 5000 || ft_result.ir_data_final > 5000)\r
-        // {\r
-        //     aging_t.ppg_error++;\r
-        //     aging_t.fail_num++;\r
-        // }\r
-        // PRINT("aging_t.ppg_error : %d \r\n",aging_t.ppg_error);\r
 \r
 /*********************gsensor 老化测试*****************************/\r
         gsenson_t g;\r
@@ -338,7 +364,11 @@ void aging_task(void)
         do\r
         {\r
             if(aging_t.flag != 1)\r
+            {\r
+                send_battery_svr_cmd_msg(BATTERY_CMD_STOP_AGING_TEST); //恢复充电\r
+                do_custom_fileoperate_service_check_msg(CUSTOM_FILEOPERATE_MSG_TYPE_AGING_DATA_SAVE, NULL, 0);\r
                 return;\r
+            }\r
             uapi_get_timestampe_ss(&current_time);\r
             get_gsonsen_xyz(&g);\r
             if(g.x == 0 && g.y == 0 && g.z == 0)\r
@@ -361,7 +391,11 @@ void aging_task(void)
         do\r
         {\r
             if(aging_t.flag != 1)\r
+            {\r
+                send_battery_svr_cmd_msg(BATTERY_CMD_STOP_AGING_TEST); //恢复充电\r
+                do_custom_fileoperate_service_check_msg(CUSTOM_FILEOPERATE_MSG_TYPE_AGING_DATA_SAVE, NULL, 0);\r
                 return;\r
+            }\r
             uapi_get_timestampe_ss(&current_time);\r
             mmc5603_getdata(&fAzimuth,&fPitch,&fRoll);\r
             if(fAzimuth < 0)\r
@@ -382,10 +416,13 @@ void aging_task(void)
             aging_time = 0;\r
             aging_t.left_time = 0;\r
             PRINT("老化完成\n");\r
+            send_battery_svr_cmd_msg(BATTERY_CMD_STOP_AGING_TEST); //恢复充电\r
+            do_custom_fileoperate_service_check_msg(CUSTOM_FILEOPERATE_MSG_TYPE_AGING_DATA_SAVE, NULL, 0);\r
             return;\r
         }\r
         aging_time = aging_t.target_time - (current_aging_time - enter_aging_time);\r
-        PRINT("aging_time : %d \r\n",aging_time);\r
+        PRINT("aging_time : %d flag : %d\r\n",aging_time,aging_t.flag);\r
+        do_custom_fileoperate_service_check_msg(CUSTOM_FILEOPERATE_MSG_TYPE_AGING_DATA_SAVE, NULL, 0);\r
 \r
     }\r
 }\r
@@ -936,6 +973,8 @@ void factorytest_protocol_soft_test_decode(uint8_t submode,uint8_t testitem,uint
             } else if(testitem == 0x04)\r
             {\r
                 //查询老化结果\r
+                do_custom_fileoperate_service_check_msg(CUSTOM_FILEOPERATE_MSG_TYPE_AGING_DATA_READ, NULL, 0);\r
+                LOS_Msleep(500);\r
                 int size = sizeof(ble_aging_t);\r
                 uint8_t *databuf = (uint8_t *)malloc(size);\r
                 if (databuf == NULL) \r
@@ -945,7 +984,7 @@ void factorytest_protocol_soft_test_decode(uint8_t submode,uint8_t testitem,uint
                 }\r
 \r
                 uint8_t *buf = databuf;\r
-                const uint8_t *structBytes = (const uint8_t *)&aging_t;\r
+                const uint8_t *structBytes = (const uint8_t *)&aging_result_t;\r
 \r
                 for (int i = 0; i < size; i++) \r
                     buf[size - 1 - i] = structBytes[i];\r
@@ -962,8 +1001,8 @@ void factorytest_protocol_soft_test_decode(uint8_t submode,uint8_t testitem,uint
             {\r
                 //清除老化结果\r
                 uint8_t send_data = 0x00;\r
-\r
                 memset(&aging_t, 0, sizeof(ble_aging_t));\r
+                uapi_delete_files("user/userdata/aging_test.bin");\r
                 factorytest_protocol_replymsg(BLE_TEST_CMD_MODE_SOFT_TEST,\r
                         BLE_TEST_CMD_SOFT_TEST_SUB_MODE_AGING_TEST,\r
                         0x05,\r
index def59e4..da6428f 100644 (file)
@@ -49,6 +49,9 @@
 #include "mmc5603_hal.h"
 
 #include "cywee_hal.h"
+
+#include "factorytest_protocol.h"
+
 typedef struct
 {
     uint8_t cmd;
@@ -157,6 +160,15 @@ static void custom_fileoperate_service_check_task(void const *arg)
         case CUSTOM_FILEOPERATE_MSG_TYPE_HEART_DATA_LIST:
             save_heart_rate_data();
             break;
+
+        case CUSTOM_FILEOPERATE_MSG_TYPE_AGING_DATA_READ:
+            factorytest_read_aging_data();
+            break;
+
+        case CUSTOM_FILEOPERATE_MSG_TYPE_AGING_DATA_SAVE:
+            factorytest_save_aging_data();
+            break;
+
         default:
             PRINT("Unknown CUSTOM_FILE_OPERATE_MSG cmd 0x%02X \r\n", mail.cmd);
             break;
index 4d9bb55..e2b9a91 100644 (file)
@@ -265,6 +265,9 @@ errcode_t do_custom_cmd_service_check_msg_head(int cmd, void *params, int paraml
 #define CUSTOM_FILEOPERATE_MSG_TYPE_RECORDING_SPACE_READ 0x0D //读取录音空间
 #define CUSTOM_FILEOPERATE_MSG_TYPE_HEART_DATA_LIST 0x0E //存储心率数据列表
 
+#define CUSTOM_FILEOPERATE_MSG_TYPE_AGING_DATA_READ 0x0F //读取老化数据
+#define CUSTOM_FILEOPERATE_MSG_TYPE_AGING_DATA_SAVE 0x10 //存储老化数据
+
 errcode_t uapi_custom_fileoperate_service_init(void);
 errcode_t do_custom_fileoperate_service_check_msg(int cmd, void *params, int paramlen);