[feat](trx-rs): add NOAA/Meteor predictions; rename wxsat → sat

- Add NOAA-15/18/19 and Meteor-M N2-3/N2-4 to predictions list
- Rename PREDICTION_SATS (was HAM_SATS) to include weather + ham sats
- Rename all wxsat identifiers to sat throughout JS/HTML/CSS/Rust:
  wxsat.js → sat.js, WXSAT_JS → SAT_JS, /wxsat.js route → /sat.js,
  all #wxsat-* element IDs, .wxsat-* CSS classes, window.addWxsat* →
  window.addSat*, window.onServerWxsatImage → window.onServerSatImage,
  etc. (backend protocol strings unchanged)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Signed-off-by: Stan Grams <sjg@haxx.space>
This commit is contained in:
2026-03-28 13:53:26 +01:00
parent adec33708f
commit aab344b729
8 changed files with 233 additions and 229 deletions
+18 -21
View File
@@ -2648,14 +2648,12 @@ async fn finalize_wxsat_pass(
.or_else(|| {
// Fallback: use station location if available
match (station_lat, station_lon) {
(Some(lat), Some(lon)) => Some(
trx_core::geo::estimate_pass_geo_from_station(
apt_image.first_line_ms,
pass_end_ms,
lat,
lon,
),
),
(Some(lat), Some(lon)) => Some(trx_core::geo::estimate_pass_geo_from_station(
apt_image.first_line_ms,
pass_end_ms,
lat,
lon,
)),
_ => None,
}
});
@@ -2877,18 +2875,14 @@ async fn finalize_lrpt_pass(
station_lon,
)
})
.or_else(|| {
match (station_lat, station_lon) {
(Some(lat), Some(lon)) => Some(
trx_core::geo::estimate_pass_geo_from_station(
pass_start_ms,
pass_end_ms,
lat,
lon,
),
),
_ => None,
}
.or_else(|| match (station_lat, station_lon) {
(Some(lat), Some(lon)) => Some(trx_core::geo::estimate_pass_geo_from_station(
pass_start_ms,
pass_end_ms,
lat,
lon,
)),
_ => None,
});
let (geo_bounds, ground_track) = match pass_geo {
Some(geo) => (Some(geo.bounds), Some(geo.ground_track)),
@@ -2907,7 +2901,10 @@ async fn finalize_lrpt_pass(
ground_track,
};
if geo_bounds.is_some() {
info!("LRPT: geo-referenced {} image overlay", sat_name.as_deref().unwrap_or("unknown"));
info!(
"LRPT: geo-referenced {} image overlay",
sat_name.as_deref().unwrap_or("unknown")
);
}
histories.record_lrpt_image(img.clone());
let _ = decode_tx.send(DecodedMessage::LrptImage(img));