141 lines
4.4 KiB
C
141 lines
4.4 KiB
C
/*----------------------------------------------------------------------------
|
|
* Copyright (c) TJD Technologies Co., Ltd. 2020. All rights reserved.
|
|
*
|
|
* Description: service_ancillary.c
|
|
*
|
|
* Author: saimen
|
|
*
|
|
* Create: 2024-7-11
|
|
*--------------------------------------------------------------------------*/
|
|
//lib
|
|
#include <stdint.h>
|
|
#include <stdlib.h>
|
|
#include <string.h>
|
|
//os
|
|
#include "securec.h"
|
|
#include "common_def.h"
|
|
#include "debug_print.h"
|
|
#include "soc_osal.h"
|
|
#include "cmsis_os2.h"
|
|
//sdk
|
|
//drv
|
|
//user
|
|
#include "sys_config.h"
|
|
#include "sys_typedef.h"
|
|
#include "sys_restart.h"
|
|
#include "task_ancillary.h"
|
|
#include "service_ancillary.h"
|
|
|
|
/**********************************************************************************************************************
|
|
* DEFINE
|
|
*/
|
|
#define ENABLE_STATIC_PRINT_INFO false
|
|
#define ENABLE_STATIC_PRINT_WARN true
|
|
#define ENABLE_STATIC_PRINT_ERROR true
|
|
#if ENABLE_STATIC_PRINT_INFO
|
|
#define static_print_debug(...) sys_service_log_d(__VA_ARGS__)
|
|
#else
|
|
#define static_print_debug(...)
|
|
#endif
|
|
#if ENABLE_STATIC_PRINT_WARN
|
|
#define static_print_warn(...) sys_service_log_w(__VA_ARGS__)
|
|
#else
|
|
#define static_print_warn(...)
|
|
#endif
|
|
#if ENABLE_STATIC_PRINT_ERROR
|
|
#define static_print_error(...) sys_service_log_e(__VA_ARGS__)
|
|
#else
|
|
#define static_print_error(...)
|
|
#endif
|
|
/**********************************************************************************************************************
|
|
* VARIABLES
|
|
*/
|
|
|
|
|
|
/**********************************************************************************************************************
|
|
* PUBLIC FUNCTIONS
|
|
*/static signed int tjd_service_ancillary_device_restart_handle(void *param)
|
|
{
|
|
tjd_sys_restart(0);
|
|
return RET_SUCCESS;
|
|
}
|
|
|
|
void tjd_service_ancillary_device_restart(void)
|
|
{
|
|
queue_default_info_t msg_data = { tjd_service_ancillary_device_restart_handle, NULL, 0, NULL};
|
|
osal_msg_queue_write_copy(tjd_task_ancillary_get_queue_id(), (void *)&msg_data, sizeof(queue_default_info_t), 0);
|
|
}
|
|
|
|
void tjd_service_ancillary_data_save_process(uint32_t save_type)
|
|
{
|
|
#if 1
|
|
int ret;
|
|
uint8_t *p_save_data;
|
|
uint32_t len;
|
|
char* path;
|
|
|
|
if(sql_setting_get_save_flag())
|
|
{
|
|
sql_setting_set_save_flag(false);
|
|
p_save_data = sql_setting_get_info(&len,&path);
|
|
ret = tjd_fs_api_file_store(path, 0, p_save_data, len);
|
|
static_print_warn("[%s] ret=%d len=%d",path,ret,len);
|
|
}
|
|
|
|
if(sql_weather_get_save_flag())
|
|
{
|
|
sql_weather_set_save_flag(false);
|
|
p_save_data = sql_weather_get_info(&len,&path);
|
|
ret = tjd_fs_api_file_store(path, 0, p_save_data, len);
|
|
static_print_warn("[%s] ret=%d len=%d",path,ret,len);
|
|
}
|
|
|
|
if(sql_fit_get_save_flag())
|
|
{
|
|
sql_fit_set_save_flag(false);
|
|
p_save_data = sql_fit_get_info(&len, &path);
|
|
ret = tjd_fs_api_file_store(path, 0, p_save_data, len);
|
|
static_print_warn("[%s] ret=%d len=%d",path,ret,len);
|
|
}
|
|
|
|
if(sql_bt_get_save_flag())
|
|
{
|
|
sql_bt_set_save_flag(false);
|
|
p_save_data = sql_bt_get_info(&len, &path);
|
|
ret = tjd_fs_api_file_store(path, 0, p_save_data, len);
|
|
static_print_warn("[%s] ret=%d len=%d",path,ret,len);
|
|
}
|
|
|
|
if(sql_alarm_get_save_flag())
|
|
{
|
|
sql_alarm_set_save_flag(false);
|
|
p_save_data = sql_alarm_get_info(&len, &path);
|
|
ret = tjd_fs_api_file_store(path, 0, p_save_data, len);
|
|
static_print_warn("[%s] ret=%d len=%d",path,ret,len);
|
|
}
|
|
|
|
if(sql_message_get_save_flag())
|
|
{
|
|
sql_message_set_save_flag(false);
|
|
p_save_data = sql_message_get_info(&len, &path);
|
|
ret = tjd_fs_api_file_store(path, 0, p_save_data, len);
|
|
static_print_warn("[%s] ret=%d len=%d",path,ret,len);
|
|
}
|
|
|
|
//log_api_save_at_power_off();
|
|
#endif
|
|
}
|
|
|
|
signed int tjd_service_ancillary_data_save_handle(void *param)
|
|
{
|
|
tjd_service_ancillary_data_save_process(*((uint32_t *)param));
|
|
return RET_SUCCESS;
|
|
}
|
|
|
|
void tjd_service_ancillary_data_save(uint32_t save_type)
|
|
{
|
|
static uint32_t g_data_save_flag = 0;
|
|
g_data_save_flag = save_type;
|
|
queue_default_info_t msg_data = { tjd_service_ancillary_data_save_handle, &g_data_save_flag, 0, NULL};
|
|
osal_msg_queue_write_copy(tjd_task_ancillary_get_queue_id(), (void *)&msg_data, sizeof(queue_default_info_t), 0);
|
|
} |