/*---------------------------------------------------------------------------- * Copyright (c) TJD Technologies Co., Ltd. 2020. All rights reserved. * * Description: service_ancillary.c * * Author: saimen * * Create: 2024-7-11 *--------------------------------------------------------------------------*/ //lib #include #include #include //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); }