From a9ff206417dbc785e621cec00526960561de0ef7 Mon Sep 17 00:00:00 2001 From: penglei <1624952103@qq.com> Date: Fri, 1 Nov 2024 21:01:56 +0800 Subject: [PATCH] =?utf8?q?=E4=BC=98=E5=8C=96=E8=80=81=E5=8C=96=E6=B5=8B?= =?utf8?q?=E8=AF=95=E6=B5=81=E7=A8=8B=EF=BC=8C=E6=B7=BB=E5=8A=A0=E6=96=87?= =?utf8?q?=E4=BB=B6=E8=AF=BB=E5=86=99=E4=B8=8E=E5=85=85=E7=94=B5=E9=99=90?= =?utf8?q?=E5=88=B6=20=E9=99=8D=E4=BD=8E=E8=93=9D=E7=89=99=E9=80=9A?= =?utf8?q?=E8=AF=9D=E9=9F=B3=E9=87=8F1db=E9=98=B2=E6=AD=A2=E7=A0=B4?= =?utf8?q?=E9=9F=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- .../config/aw88166/mono/16bit/aw_params.h | 8 +-- .../battery/service/battery_service.cpp | 8 +++ .../battery/service/battery_service.h | 10 +++ .../factorytest_protocol.c | 61 +++++++++++++++---- .../utils/custom_fileoperate_service.c | 12 ++++ .../drivers/peripheral/utils/custom_utils.h | 3 + 6 files changed, 87 insertions(+), 15 deletions(-) diff --git a/code/sdk/application/audio/vendor/aw88166/config/aw88166/mono/16bit/aw_params.h b/code/sdk/application/audio/vendor/aw88166/config/aw88166/mono/16bit/aw_params.h index 5666ae228..7f54f0e09 100755 --- a/code/sdk/application/audio/vendor/aw88166/config/aw88166/mono/16bit/aw_params.h +++ b/code/sdk/application/audio/vendor/aw88166/config/aw88166/mono/16bit/aw_params.h @@ -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, 0x03,0x00,0x00,0x55,0x06,0xce,0x00,0x00,0x04,0x8a,0x00,0x00,0xd5,0x00,0x00,0x00, 0x02,0x80,0x00,0x00,0x06,0xce,0x00,0x00,0x06,0xce,0x00,0x00,0xd5,0x00,0x03,0x00, -0x03,0x00,0x00,0x55,0x06,0xce,0x00,0x00,0x04,0x8a,0x00,0x00,0xd8,0x00,0x0a,0x00, -0x06,0x00,0x00,0x47,0x00,0xaf,0x00,0x00,0x01,0x5d,0x00,0x00,0x00,0x0c,0x00,0x00, +0x03,0x00,0x00,0x55,0x06,0xce,0x00,0x00,0x04,0x8a,0x00,0x00,0xd8,0x00,0x09,0x00, +0x06,0x00,0x00,0x40,0x00,0xaf,0x00,0x00,0x01,0x5d,0x00,0x00,0x00,0x0c,0x00,0x00, 0xfe,0xab,0x02,0x80,0xff,0xde,0xf5,0x00,0x00,0x3c,0x00,0x00,0x11,0x11,0x00,0x01, 0x00,0x1e,0x00,0x00,0xee,0xef,0xff,0xfe,0x00,0x2d,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0xc9,0x02,0xb8,0x02,0xa7,0x02,0x96, @@ -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, 0x4f,0x94,0xfc,0x0b,0x58,0x36,0x01,0xfa,0xa0,0x6e,0x03,0xf4,0x3f,0x96,0xfe,0x0b, 0x00,0x0a,0x00,0x1b,0x05,0xdc,0x00,0x00,0x00,0x0a,0x00,0x16,0x02,0xee,0x00,0x00, -0x00,0x0f,0x00,0xc9,0x06,0x24,0x00,0x01,0x0f,0xac,0x00,0x00,0xf5,0xd0,0x36,0x33, -0x58,0xd5,0xb8,0x1c, +0x00,0x0f,0x00,0xc9,0x06,0x24,0x00,0x01,0x0f,0xac,0x00,0x00,0xf5,0xd0,0x19,0x22, +0x88,0x59,0x94,0xfd, }; struct aw_prof_desc g_dev0_prof[] = { diff --git a/code/sdk/application/battery/service/battery_service.cpp b/code/sdk/application/battery/service/battery_service.cpp index 821d5ff63..cdfa54996 100644 --- a/code/sdk/application/battery/service/battery_service.cpp +++ b/code/sdk/application/battery/service/battery_service.cpp @@ -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) diff --git a/code/sdk/application/battery/service/battery_service.h b/code/sdk/application/battery/service/battery_service.h index 340fdb822..d96ced764 100644 --- a/code/sdk/application/battery/service/battery_service.h +++ b/code/sdk/application/battery/service/battery_service.h @@ -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); diff --git a/code/sdk/application/wearable/service/factorytest_service/factorytest_protocol.c b/code/sdk/application/wearable/service/factorytest_service/factorytest_protocol.c index f56c05501..daea9a437 100644 --- a/code/sdk/application/wearable/service/factorytest_service/factorytest_protocol.c +++ b/code/sdk/application/wearable/service/factorytest_service/factorytest_protocol.c @@ -2,7 +2,7 @@ * @Author: penglei 1624952103@qq.com * @Date: 2024-06-17 14:31:08 * @LastEditors: penglei 1624952103@qq.com - * @LastEditTime: 2024-11-01 11:35:05 + * @LastEditTime: 2024-11-01 20:49:51 * @FilePath: /FD230/code/sdk/application/wearable/service/factorytest_service/factorytest_protocol.c * @Description: * @@ -79,6 +79,8 @@ static int factorytest_mode_flag = 0; ble_aging_t aging_t = {0}; +ble_aging_t aging_result_t = {0}; + static osTimerId_t g_ble_vibrator_timer = NULL; static osTimerId_t g_ble_acc_timer = NULL; @@ -165,6 +167,18 @@ void ble_acc_check_timer_callback(void) 6); } +void factorytest_save_aging_data(void) +{ + uapi_save_file_data("user/userdata/aging_test.bin",&aging_t,sizeof(ble_aging_t),"wb"); +} + +void factorytest_read_aging_data(void) +{ + int size = sizeof(ble_aging_t); + memset(&aging_result_t, 0, sizeof(ble_aging_t)); + uapi_get_file_data("user/userdata/aging_test.bin",&aging_result_t,&size); +} + void aging_task(void) { errcode_t ret = 0; @@ -172,6 +186,8 @@ void aging_task(void) uint32_t current_aging_time = 0; int cmd = 0; uapi_get_timestampe_ss(&enter_aging_time); + send_battery_svr_cmd_msg(BATTERY_CMD_START_AGING_TEST); //老化限制充电 + PRINT("aging_t.flag : %d \n",aging_t.flag); while(aging_t.flag == 1) //while(aging_t.flag == 0xfdfd0002) { @@ -206,7 +222,11 @@ void aging_task(void) for(int i = 1; i < 120 ; i++) { if(aging_t.flag != 1) + { + send_battery_svr_cmd_msg(BATTERY_CMD_STOP_AGING_TEST); //恢复充电 + do_custom_fileoperate_service_check_msg(CUSTOM_FILEOPERATE_MSG_TYPE_AGING_DATA_SAVE, NULL, 0); return; + } do_custom_cmd_service_check_msg(CUSTOM_CMD_MSG_TYPE_LCD_COLOR_TEST,&cmd,sizeof(cmd)); cmd ++; cmd = cmd % 5; @@ -216,7 +236,7 @@ void aging_task(void) } cmd = 5; do_custom_cmd_service_check_msg(CUSTOM_CMD_MSG_TYPE_LCD_COLOR_TEST,&cmd,sizeof(cmd)); -/*********************TP 老化测试*****************************/ +// /*********************TP 老化测试*****************************/ //读TP ID uint16_t tp_id; touch_getid(&tp_id); @@ -258,7 +278,11 @@ void aging_task(void) do { if(aging_t.flag != 1) + { + send_battery_svr_cmd_msg(BATTERY_CMD_STOP_AGING_TEST); //恢复充电 + do_custom_fileoperate_service_check_msg(CUSTOM_FILEOPERATE_MSG_TYPE_AGING_DATA_SAVE, NULL, 0); return; + } uapi_get_timestampe_ss(¤t_time); // uapi_get_timestampe_ss(&enter_time); custom_VibratorFunc_int(4); @@ -287,7 +311,11 @@ void aging_task(void) do { if(aging_t.flag != 1) + { + send_battery_svr_cmd_msg(BATTERY_CMD_STOP_AGING_TEST); //恢复充电 + do_custom_fileoperate_service_check_msg(CUSTOM_FILEOPERATE_MSG_TYPE_AGING_DATA_SAVE, NULL, 0); return; + } uapi_get_timestampe_ss(¤t_time); uapi_check_spk(1); LOS_Msleep(2000); @@ -305,7 +333,11 @@ void aging_task(void) do { if(aging_t.flag != 1) + { + send_battery_svr_cmd_msg(BATTERY_CMD_STOP_AGING_TEST); //恢复充电 + do_custom_fileoperate_service_check_msg(CUSTOM_FILEOPERATE_MSG_TYPE_AGING_DATA_SAVE, NULL, 0); return; + } uapi_get_timestampe_ss(¤t_time); send_ppg_cmd_msg(PPG_SERVICE_CMD_TYPE_DO_SINGLE_CHECK_MODE_TEST); LOS_Msleep(200); @@ -322,12 +354,6 @@ void aging_task(void) PRINT("aging_t.ppg_error : %d \r\n",aging_t.ppg_error); - // if(ft_result.gr_data_final > 5000 || ft_result.red_data_final > 5000 || ft_result.ir_data_final > 5000) - // { - // aging_t.ppg_error++; - // aging_t.fail_num++; - // } - // PRINT("aging_t.ppg_error : %d \r\n",aging_t.ppg_error); /*********************gsensor 老化测试*****************************/ gsenson_t g; @@ -338,7 +364,11 @@ void aging_task(void) do { if(aging_t.flag != 1) + { + send_battery_svr_cmd_msg(BATTERY_CMD_STOP_AGING_TEST); //恢复充电 + do_custom_fileoperate_service_check_msg(CUSTOM_FILEOPERATE_MSG_TYPE_AGING_DATA_SAVE, NULL, 0); return; + } uapi_get_timestampe_ss(¤t_time); get_gsonsen_xyz(&g); if(g.x == 0 && g.y == 0 && g.z == 0) @@ -361,7 +391,11 @@ void aging_task(void) do { if(aging_t.flag != 1) + { + send_battery_svr_cmd_msg(BATTERY_CMD_STOP_AGING_TEST); //恢复充电 + do_custom_fileoperate_service_check_msg(CUSTOM_FILEOPERATE_MSG_TYPE_AGING_DATA_SAVE, NULL, 0); return; + } uapi_get_timestampe_ss(¤t_time); mmc5603_getdata(&fAzimuth,&fPitch,&fRoll); if(fAzimuth < 0) @@ -382,10 +416,13 @@ void aging_task(void) aging_time = 0; aging_t.left_time = 0; PRINT("老化完成\n"); + send_battery_svr_cmd_msg(BATTERY_CMD_STOP_AGING_TEST); //恢复充电 + do_custom_fileoperate_service_check_msg(CUSTOM_FILEOPERATE_MSG_TYPE_AGING_DATA_SAVE, NULL, 0); return; } aging_time = aging_t.target_time - (current_aging_time - enter_aging_time); - PRINT("aging_time : %d \r\n",aging_time); + PRINT("aging_time : %d flag : %d\r\n",aging_time,aging_t.flag); + do_custom_fileoperate_service_check_msg(CUSTOM_FILEOPERATE_MSG_TYPE_AGING_DATA_SAVE, NULL, 0); } } @@ -936,6 +973,8 @@ void factorytest_protocol_soft_test_decode(uint8_t submode,uint8_t testitem,uint } else if(testitem == 0x04) { //查询老化结果 + do_custom_fileoperate_service_check_msg(CUSTOM_FILEOPERATE_MSG_TYPE_AGING_DATA_READ, NULL, 0); + LOS_Msleep(500); int size = sizeof(ble_aging_t); uint8_t *databuf = (uint8_t *)malloc(size); if (databuf == NULL) @@ -945,7 +984,7 @@ void factorytest_protocol_soft_test_decode(uint8_t submode,uint8_t testitem,uint } uint8_t *buf = databuf; - const uint8_t *structBytes = (const uint8_t *)&aging_t; + const uint8_t *structBytes = (const uint8_t *)&aging_result_t; for (int i = 0; i < size; i++) buf[size - 1 - i] = structBytes[i]; @@ -962,8 +1001,8 @@ void factorytest_protocol_soft_test_decode(uint8_t submode,uint8_t testitem,uint { //清除老化结果 uint8_t send_data = 0x00; - memset(&aging_t, 0, sizeof(ble_aging_t)); + uapi_delete_files("user/userdata/aging_test.bin"); factorytest_protocol_replymsg(BLE_TEST_CMD_MODE_SOFT_TEST, BLE_TEST_CMD_SOFT_TEST_SUB_MODE_AGING_TEST, 0x05, diff --git a/code/sdk/drivers/peripheral/utils/custom_fileoperate_service.c b/code/sdk/drivers/peripheral/utils/custom_fileoperate_service.c index def59e40d..da6428f86 100644 --- a/code/sdk/drivers/peripheral/utils/custom_fileoperate_service.c +++ b/code/sdk/drivers/peripheral/utils/custom_fileoperate_service.c @@ -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; diff --git a/code/sdk/drivers/peripheral/utils/custom_utils.h b/code/sdk/drivers/peripheral/utils/custom_utils.h index 4d9bb552b..e2b9a91fb 100644 --- a/code/sdk/drivers/peripheral/utils/custom_utils.h +++ b/code/sdk/drivers/peripheral/utils/custom_utils.h @@ -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); -- 2.17.1