112 lines
3.0 KiB
C
112 lines
3.0 KiB
C
|
|
#include "sysconfig.h"
|
|||
|
|
#include "at32a423.h"
|
|||
|
|
#include "bsp_flash.h"
|
|||
|
|
#include "app_get_json.h"
|
|||
|
|
#include "string.h"
|
|||
|
|
|
|||
|
|
|
|||
|
|
flash_para_struct g_flash_para;
|
|||
|
|
json_data_struct g_json_data;
|
|||
|
|
sys_config_struct g_sys_config;
|
|||
|
|
sys_staus_struct g_sys_staus;
|
|||
|
|
|
|||
|
|
const sys_config_struct default_config =
|
|||
|
|
{
|
|||
|
|
.output_mode = 1,
|
|||
|
|
.output_ax = 12,
|
|||
|
|
.output_ay = 12,
|
|||
|
|
.min_trigger_res_value = 3000,
|
|||
|
|
.max_trigger_res_value = 40000,
|
|||
|
|
.div_trigger_res =2700
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
int save_sys_config(sys_config_struct *sys_config)
|
|||
|
|
{
|
|||
|
|
g_flash_para.output_mode = sys_config->output_mode;
|
|||
|
|
g_flash_para.output_ax = sys_config->output_ax;
|
|||
|
|
g_flash_para.output_ay = sys_config->output_ay;
|
|||
|
|
g_flash_para.min_trigger_res_value = sys_config->min_trigger_res_value;
|
|||
|
|
g_flash_para.max_trigger_res_value = sys_config->max_trigger_res_value;
|
|||
|
|
g_flash_para.div_trigger_res = sys_config->div_trigger_res;
|
|||
|
|
return save_config_params(&g_flash_para);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
void init_sys_config(sys_config_struct *sys_config)
|
|||
|
|
{
|
|||
|
|
//save_sys_config(&default_config);
|
|||
|
|
if(load_config_params(&g_flash_para) != 1)
|
|||
|
|
{
|
|||
|
|
memcpy((uint8_t *)sys_config,(uint8_t *)&default_config,sizeof(sys_config_struct));
|
|||
|
|
save_sys_config(sys_config);
|
|||
|
|
return ;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
if(g_flash_para.min_trigger_res_value == 0xffff)
|
|||
|
|
{
|
|||
|
|
sys_config->min_trigger_res_value = default_config.min_trigger_res_value;
|
|||
|
|
}
|
|||
|
|
else
|
|||
|
|
{
|
|||
|
|
sys_config->min_trigger_res_value = g_flash_para.min_trigger_res_value;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
if(g_flash_para.max_trigger_res_value == 0xffff)
|
|||
|
|
{
|
|||
|
|
sys_config->max_trigger_res_value = default_config.max_trigger_res_value;
|
|||
|
|
}
|
|||
|
|
else
|
|||
|
|
{
|
|||
|
|
sys_config->max_trigger_res_value = g_flash_para.max_trigger_res_value;
|
|||
|
|
}
|
|||
|
|
if(g_flash_para.div_trigger_res == 0xffff)
|
|||
|
|
{
|
|||
|
|
sys_config->div_trigger_res = default_config.div_trigger_res;
|
|||
|
|
}
|
|||
|
|
else
|
|||
|
|
{
|
|||
|
|
sys_config->div_trigger_res = g_flash_para.div_trigger_res;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
if(g_flash_para.output_mode > 1)
|
|||
|
|
{
|
|||
|
|
sys_config->output_mode = default_config.output_mode;
|
|||
|
|
}
|
|||
|
|
else
|
|||
|
|
{
|
|||
|
|
sys_config->output_mode = g_flash_para.output_mode;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//ץȡjson<6F><6E>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD><C9B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD>
|
|||
|
|
int cjson_get_sys_config(sys_config_struct *sys_config)
|
|||
|
|
{
|
|||
|
|
int result;
|
|||
|
|
|
|||
|
|
g_json_data.output_mode = sys_config->output_mode;
|
|||
|
|
g_json_data.output_ax = sys_config->output_ax;
|
|||
|
|
g_json_data.output_ay = sys_config->output_ay;
|
|||
|
|
g_json_data.min_trigger_res_value = sys_config->min_trigger_res_value;
|
|||
|
|
g_json_data.max_trigger_res_value = sys_config->max_trigger_res_value;
|
|||
|
|
g_json_data.div_trigger_res = sys_config->div_trigger_res;
|
|||
|
|
|
|||
|
|
result = get_Json_data(&g_json_data);
|
|||
|
|
|
|||
|
|
if(result == 1){
|
|||
|
|
memcpy(sys_config, &g_json_data, sizeof(sys_config_struct));
|
|||
|
|
g_flash_para.output_mode=g_json_data.output_mode;
|
|||
|
|
g_flash_para.output_ax=g_json_data.output_ax;
|
|||
|
|
g_flash_para.output_ay=g_json_data.output_ay;
|
|||
|
|
g_flash_para.min_trigger_res_value=g_json_data.min_trigger_res_value;
|
|||
|
|
g_flash_para.max_trigger_res_value=g_json_data.max_trigger_res_value;
|
|||
|
|
g_flash_para.div_trigger_res=g_json_data.div_trigger_res;
|
|||
|
|
load_config_params(&g_flash_para);
|
|||
|
|
}
|
|||
|
|
return result;
|
|||
|
|
}
|
|||
|
|
|