--- /dev/null
+/**
+ * Copyright (c) @CompanyNameMagicTag 2022-2022. All rights reserved. \n
+ *
+ * Description: Test adc source \n
+ * Author: @CompanyNameTag \n
+ * History: \n
+ * 2022-08-16, Create file. \n
+ */
+#include "pinctrl.h"
+#include "debug_print.h"
+#include "soc_osal.h"
+#include "tcxo.h"
+#include "irmalloc.h"
+#include "errcode.h"
+#include "common_def.h"
+
+#include "chip_core_irq.h"
+#include "chip_io.h"
+#include "gpio.h"
+#include "pm_veto.h"
+
+#include "rtc.h"
+#include "timer.h"
+#include "systick.h"
+
+#include "tcxo.h"
+
+#include "cmsis_os2.h"
+
+#include "los_printf.h"
+
+#include "custom_utils.h"
+
+#include "BluetoothModelC.h"
+
+#include "PhoneServiceC.h"
+
+#include "ui_serviceC.h"
+
+#include "bletest.h"
+
+#include "safemodemanager/include/SafeModeManagerModelC.h"
+
+typedef struct
+{
+ uint8_t cmd;
+ uint8_t data[5];
+} custom_fileoperate_cmd_t;
+/***
+ * 其他cmd在Header里定义,对外开放
+ */
+
+static bool g_bat_timer_is_running = false;
+static unsigned long g_custom_fileoperate_queue;
+static bool g_custom_fileoperate_queue_created = 0;
+static bool custom_fileoperate_service_running_stat = false;
+
+errcode_t do_custom_fileoperate_service_check_msg(int cmd, void *params, int paramlen)
+{
+ int ret;
+
+ if (g_custom_fileoperate_queue_created == 0 ) return ERRCODE_FAIL;
+ // 检查参数长度是否合法
+ if (paramlen > sizeof(custom_fileoperate_cmd_t) - sizeof(uint8_t))
+ {
+ PRINT("Error: 参数长度超过最大限制! \r\n");
+ return ERRCODE_FAIL;
+ }
+
+ custom_fileoperate_cmd_t mail = {0};
+ mail.cmd = (uint8_t)cmd;
+
+ // 将参数数据复制到结构体中
+ if (params && paramlen > 0)
+ {
+ memcpy(mail.data, params, paramlen);
+ }
+
+ ret = osal_msg_queue_write_copy(g_custom_fileoperate_queue, (void *)&mail, sizeof(custom_fileoperate_cmd_t), 0);
+ if (ret != OSAL_SUCCESS)
+ {
+ PRINT("Error custom_cmd Check MSG 0x%02X send failed! err=0x%x! \r\n", cmd, ret);
+ return ERRCODE_FAIL;
+ }
+ return ERRCODE_SUCC;
+}
+
+static void custom_fileoperate_service_check_task(void const *arg)
+{
+
+ int32_t ret;
+ custom_fileoperate_cmd_t mail;
+ uint32_t msgsize = (uint32_t)sizeof(custom_fileoperate_cmd_t);
+ custom_fileoperate_service_running_stat = true;
+ int code=0;
+
+ while (1)
+ {
+ ret = osal_msg_queue_read_copy(g_custom_fileoperate_queue, (void *)&mail, &msgsize,
+ OSAL_MSGQ_WAIT_FOREVER);
+ if (ret != OSAL_SUCCESS)
+ {
+ continue;
+ }
+
+ // 根据邮件中的命令进行相应的处理
+ switch (mail.cmd)
+ {
+ case CUSTOM_FILEOPERATE_MSG_TYPE_SPORTDATA_SAVE:
+ break;
+
+ default:
+ PRINT("Unknown CUSTOM_FILE_OPERATE_MSG cmd 0x%02X \r\n", mail.cmd);
+ break;
+ }
+ }
+}
+#define CUSTOM_FILE_OPERATE_APP_BOARD_MSG_COUNT 10
+#define CUSTOM_FILE_OPERATE_APP_BOARD_TASK_SIZE 0x1000
+#define CUSTOM_FILE_OPERATE_BOARD_TASK_PRIO 7
+void create_custom_fileoperate_queue(void)
+{
+ if (osal_msg_queue_create("custom_fileoperate_service_queue", CUSTOM_FILE_OPERATE_APP_BOARD_MSG_COUNT, &g_custom_fileoperate_queue,
+ 0, sizeof(custom_fileoperate_cmd_t)) != ERRCODE_SUCC)
+ {
+ printf("[custom_cmd][service] app create mail fail\n");
+ g_custom_fileoperate_queue_created = 0;
+ }else{
+ g_custom_fileoperate_queue_created = 1;
+ }
+}
+errcode_t uapi_custom_fileoperate_service_init(void)
+{
+
+ PRINT("uapi_custom_fileoperate_service_init !\r\n");
+ app_task_definition_t taskcfg = {0};
+ taskcfg.create_queue_handle = create_custom_fileoperate_queue;
+ taskcfg.attr.name = "custom_fileoperate_service";
+ taskcfg.attr.priority = osPriorityNormal;
+ taskcfg.attr.stack_size = CUSTOM_FILE_OPERATE_APP_BOARD_TASK_SIZE;
+ taskcfg.func = custom_fileoperate_service_check_task;
+ taskcfg.use_mem = USE_EXTEND_MEM;
+
+ errcode_t ret = uapi_create_osThread_custom(&taskcfg);
+ if (ret != ERRCODE_SUCC)
+ {
+ PRINT("create custom_fileoperate_service failed %d!\r\n", ret);
+ return ERRCODE_FAIL;
+ }
+
+ // g_custom_fileoperate_service_timer = osTimerNew((osTimerFunc_t)custom_fileoperate_service_check_timer_callback, osTimerPeriodic, NULL, NULL);
+
+ // do_custom_fileoperate_service_check_msg(CUSTOM_FILE_OPERATE_SERVICE_CMD_START_CHECK, NULL);
+
+ return ERRCODE_SUCC;
+}
+