更新:1、将参数配置信息对象改为全局可访问,并避免通过函数参数传入;

Signed-off-by: waiwaylee <waiwaylee@foxmail.com>
This commit is contained in:
2026-10-27 15:56:02 +08:00
parent 76b0b460a5
commit 7e4cb2922d
34 changed files with 202 additions and 271 deletions
+13 -16
View File
@@ -9,6 +9,9 @@
#include <iostream>
using namespace std;
// 全局工作参数对象(声明见 struct.h)。所有处理模块直接访问,由 parameters_reload() 加载。
RDP_parameter rdp_parameter{};
/*******************************************************************************/
/*******************************************************************************/
/************************************用户接口函数*******************************/
@@ -172,7 +175,7 @@ int model)
if(model==2)
{
dot_coh.dot_coh_process_buff(&Data_buffer,&point_recv,rdp_parameter);
dot_coh.dot_coh_process_buff(&Data_buffer,&point_recv);
std::vector<PointRecv>().swap(Data_buffer);
}
@@ -185,21 +188,18 @@ int model)
&trust_track,
Trust_Track_Output,
Trust_track_num_Output,
latest_timestamp,
rdp_parameter
latest_timestamp
);
track_die.track_die_process( &trust_track,
Track_die_Index_Output,
Track_die_num_Output,
rdp_parameter);
Track_die_num_Output);
track_init.track_init_process_logic( &point_recv,
&trust_track,
&temp_track,
Trust_Track_Output,
Trust_track_num_Output,
rdp_parameter);
Trust_track_num_Output);
}
@@ -209,7 +209,7 @@ int model)
*Trust_track_num_Output=0; //航迹更新数
*Track_die_num_Output=0; //航迹消亡数目
dot_coh_tas.dot_coh_tas_process(&Data_buffer_tas,&point_recv_tas,rdp_parameter); //点迹凝聚
dot_coh_tas.dot_coh_tas_process(&Data_buffer_tas,&point_recv_tas); //点迹凝聚
std::vector<PointRecv>().swap(Data_buffer_tas);//凝聚完毕 清除Data_buffer
@@ -217,7 +217,6 @@ int model)
&trust_track, //航迹文件
Trust_Track_Output, //更新航迹信息
Trust_track_num_Output, //更新航迹数
rdp_parameter, //工作参数
TAS_track_idx,
latest_timestamp //最新时间戳
);
@@ -226,8 +225,7 @@ int model)
track_die_tas.track_die_process_tas( &trust_track,
Track_die_Index_Output,
Track_die_num_Output,
rdp_parameter);
Track_die_num_Output);
//std::cout << "Extrapolate_round :" << trust_track[TAS_track_idx].Extrapolate_round;
}
@@ -241,21 +239,20 @@ void Data_Process::Beam_Ctrl(struct TrackingBeam *Tracking_beam,
int *Trust_track_num_Output)
{
tas_ctrl.tas_ctrl_process(&trust_track,Tracking_beam, Trust_Track_Output, Trust_track_num_Output,rdp_parameter, latest_timestamp);
tas_ctrl.tas_ctrl_process(&trust_track,Tracking_beam, Trust_Track_Output, Trust_track_num_Output, latest_timestamp);
}
//数据处理参数加载(从 TOML 配置文件加载全部工作参数)
//数据处理参数加载(从 TOML 配置文件加载全部工作参数到全局 rdp_parameter)
int Data_Process::parameters_reload(const char* parameter_file_path)
{
RDP_parameter loaded{};
std::string error;
if (rdp_parameter_load(parameter_file_path, loaded, &error) != 0)
// rdp_parameter_load 仅在完整校验通过后写入目标对象,失败时保持原参数不变
if (rdp_parameter_load(parameter_file_path, rdp_parameter, &error) != 0)
{
RDP_LOG << "parameters_reload failed: " << error << std::endl;
return -1;
}
rdp_parameter = loaded;
RDP_LOG << "parameters_reload ok: " << parameter_file_path << std::endl;
return 0;
}