速度过滤优化

This commit is contained in:
2026-07-17 09:39:28 +08:00
parent 74c6e3981d
commit aa1bed49fa
3 changed files with 8 additions and 4 deletions
+4 -2
View File
@@ -175,7 +175,8 @@
"library_path": "@/dll_source.dll",
"function_name": "adsb_read",
"data_type": "BIN_Blank_Text",
"buffer_size": 200000
"buffer_size": 200000,
"use_system_time": true
},
{
"type": "File_Data_Source",
@@ -195,7 +196,8 @@
"keep_mode": true,
"file_path": "D:\\ae\\proj\\projects\\ECAP_Server\\data\\BIN_Blank_Text\\ADS-B_195_0205.txt",
"data_type": "BIN_Blank_Text",
"play_mode": "loop"
"play_mode": "loop",
"use_system_time": true
}
]
},
@@ -59,6 +59,7 @@ public:
double lat{};
double lon{};
double alt{};
Psc::Copyable_Atomic<bool> use_system_time; // 如果启用那么收到消息会自动使用操作系统的时间解析位置, 应对时间戳错的情况
Psc::Copyable_Atomic<bool> update_form_gps{};
Psc::Copyable_Atomic<bool> show_icao = true;
Psc::Copyable_Atomic<bool> show_call_sign = false;
@@ -182,8 +182,9 @@ void Data_Source_Handler::handle_mode_s(std::shared_ptr<SSR::Mode_S_Msg> mode_s_
auto& cfg = Global::instance()->mode_acs;
bool time_space_filter = cfg.time_space_filter.load();
bool speed_filter = cfg.speed_filter.load();
SSR::ADS_B_T::Constraint air_constraint{cfg.max_speed_m_s, cfg.air_pos_timeout, SSR::cpr_cb, time_space_filter, speed_filter};
SSR::ADS_B_T::Constraint surface_constraint{cfg.max_speed_m_s, cfg.surface_pos_timeout, SSR::cpr_cb, time_space_filter, speed_filter};
bool use_system_time = source->use_system_time.load();
SSR::ADS_B_T::Constraint air_constraint{cfg.max_speed_m_s, cfg.air_pos_timeout, SSR::cpr_cb, time_space_filter, speed_filter, use_system_time};
SSR::ADS_B_T::Constraint surface_constraint{cfg.max_speed_m_s, cfg.surface_pos_timeout, SSR::cpr_cb, time_space_filter, speed_filter, use_system_time};
SSR::parse_mode_s_bin(source.get(), mode_s_msg,
source->base_station.get_pos(), air_constraint,
surface_constraint);