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
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
{
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)
+/*
+ * @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
*
#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);
* @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
\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
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
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
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
}\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
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(¤t_time);\r
// uapi_get_timestampe_ss(&enter_time);\r
custom_VibratorFunc_int(4);\r
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(¤t_time);\r
uapi_check_spk(1);\r
LOS_Msleep(2000);\r
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(¤t_time);\r
send_ppg_cmd_msg(PPG_SERVICE_CMD_TYPE_DO_SINGLE_CHECK_MODE_TEST);\r
LOS_Msleep(200);\r
\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
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(¤t_time);\r
get_gsonsen_xyz(&g);\r
if(g.x == 0 && g.y == 0 && g.z == 0)\r
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(¤t_time);\r
mmc5603_getdata(&fAzimuth,&fPitch,&fRoll);\r
if(fAzimuth < 0)\r
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
} 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
}\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
{\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
#include "mmc5603_hal.h"
#include "cywee_hal.h"
+
+#include "factorytest_protocol.h"
+
typedef struct
{
uint8_t cmd;
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;
#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);