初步修改
This commit is contained in:
@@ -160,7 +160,7 @@ Psc::JSON aircraft_stream_source_update_json(
|
||||
auto tracks = Psc::JSON::array();
|
||||
ret.append({"key", data_source_key});
|
||||
auto source = Global::instance()->source(data_source_key);
|
||||
if (source == nullptr || !source->enable) {
|
||||
if (source == nullptr || !source->enabled()) {
|
||||
ret.append({"change_list", Psc::JSON::array()});
|
||||
ret.append({"removed_icaos", Psc::JSON::array()});
|
||||
ret.append({"tracks", tracks});
|
||||
@@ -290,7 +290,7 @@ void register_aircraft_stream_ws() {
|
||||
}
|
||||
}
|
||||
Aircraft::Aircraft(std::string_view icao) : Aircraft_Info(icao) {
|
||||
auto size = Global::instance()->mode_acs.max_track_point_size.load();
|
||||
auto size = Global::instance()->mode_acs.settings.member<&Mode_ACS_Config_Data::max_track_point_size>().snapshot();
|
||||
air_pos_track_list.init(size);
|
||||
surface_pos_track_list.init(size);
|
||||
}
|
||||
@@ -332,7 +332,7 @@ void DataBase::delete_timeout_aircraft() {
|
||||
std::cout << "未初始化的 timestamp " << LOG_POS << std::endl;
|
||||
}
|
||||
long long time = std::time(nullptr) - item->timestamp;
|
||||
return time > Global::instance()->mode_acs.timeout_seconds;
|
||||
return time > Global::instance()->mode_acs.settings.member<&Mode_ACS_Config_Data::timeout_seconds>().snapshot();
|
||||
});
|
||||
}
|
||||
|
||||
@@ -361,14 +361,15 @@ DataBase::get_visible_aircraft_snapshot() {
|
||||
std::vector<std::shared_ptr<SSR::Aircraft_Info>> ret;
|
||||
auto g = Global::instance();
|
||||
auto min_position_points =
|
||||
g->mode_acs.aircraft_change_list_min_position_points.load();
|
||||
auto range_filter = g->mode_acs.aircraft_change_list_adsb_range_filter.load();
|
||||
auto range_factor = g->mode_acs.aircraft_change_list_adsb_range_factor.load();
|
||||
g->mode_acs.settings.member<&Mode_ACS_Config_Data::aircraft_change_list_min_position_points>().snapshot();
|
||||
auto range_filter = g->mode_acs.settings.member<&Mode_ACS_Config_Data::aircraft_change_list_adsb_range_filter>().snapshot();
|
||||
auto range_factor = g->mode_acs.settings.member<&Mode_ACS_Config_Data::aircraft_change_list_adsb_range_factor>().snapshot();
|
||||
auto source = g->source(get_key());
|
||||
auto base_position = base_station.get_pos();
|
||||
if (source) {
|
||||
if (!base_position && source->base_station_has_valid_position.load()) {
|
||||
base_position = SSR::Position_3D{source->lat, source->lon, source->alt};
|
||||
const auto source_config = source->settings.snapshot();
|
||||
if (!base_position && source_config.base_station_has_valid_position) {
|
||||
base_position = SSR::Position_3D{source_config.lat, source_config.lon, source_config.alt};
|
||||
}
|
||||
}
|
||||
for (auto &it : aircraft_map.values()) {
|
||||
@@ -540,12 +541,13 @@ void database_server(Global *g) {
|
||||
if (db) {
|
||||
ret = db->base_station.to_Json();
|
||||
auto target_height =
|
||||
g->mode_acs.adsb_theoretical_target_altitude_meters.load();
|
||||
auto range = Base_Station::theoretical_detection_range_meters(db->alt,
|
||||
g->mode_acs.settings.member<&Mode_ACS_Config_Data::adsb_theoretical_target_altitude_meters>().snapshot();
|
||||
const auto source_config = db->settings.snapshot();
|
||||
auto range = Base_Station::theoretical_detection_range_meters(source_config.alt,
|
||||
target_height);
|
||||
ret.append({"latitude", db->lat});
|
||||
ret.append({"longitude", db->lon});
|
||||
ret.append({"height", db->alt});
|
||||
ret.append({"latitude", source_config.lat});
|
||||
ret.append({"longitude", source_config.lon});
|
||||
ret.append({"height", source_config.alt});
|
||||
ret.append({"adsb_theoretical_target_altitude_meters", target_height});
|
||||
ret.append({"adsb_theoretical_detection_range_meters", range});
|
||||
ret.append({"理论探测范围", range});
|
||||
@@ -588,7 +590,7 @@ void database_server(Global *g) {
|
||||
std::shared_ptr<Data_Source> ts = nullptr;
|
||||
auto ret = JSON::array();
|
||||
for (const auto &li : list) {
|
||||
if (li->enable) {
|
||||
if (li->enabled()) {
|
||||
ret = li->get_aircraftlist();
|
||||
break;
|
||||
}
|
||||
@@ -613,7 +615,7 @@ void database_server(Global *g) {
|
||||
return;
|
||||
}
|
||||
|
||||
auto limit_msg_num = g->mode_acs.default_min_aircraft_list_num.load();
|
||||
auto limit_msg_num = g->mode_acs.settings.member<&Mode_ACS_Config_Data::default_min_aircraft_list_num>().snapshot();
|
||||
auto t = params.get("limit_msg_num");
|
||||
if (t) {
|
||||
HTTP_REQUIRE_VALUE(requested_limit_msg_num, t->try_number_val<int>())
|
||||
|
||||
Reference in New Issue
Block a user