From 6dc0936d6df41ca1aef7e9be77183bee356e0c52 Mon Sep 17 00:00:00 2001 From: James Smith Date: Wed, 18 Mar 2026 22:28:04 +0000 Subject: [PATCH] Align Meteor tracking defaults --- routes/satellite.py | 37 ++++++++++++++++-------------- templates/index.html | 3 ++- templates/satellite_dashboard.html | 9 ++++---- utils/database.py | 16 +++++++++---- 4 files changed, 38 insertions(+), 27 deletions(-) diff --git a/routes/satellite.py b/routes/satellite.py index d35e199..717a955 100644 --- a/routes/satellite.py +++ b/routes/satellite.py @@ -327,13 +327,14 @@ def predict_passes(): except ValueError as e: return api_error(str(e), 400) - norad_to_name = { - 25544: 'ISS', - 40069: 'METEOR-M2', - 57166: 'METEOR-M2-3' - } - - sat_input = data.get('satellites', ['ISS', 'METEOR-M2', 'METEOR-M2-3']) + norad_to_name = { + 25544: 'ISS', + 40069: 'METEOR-M2', + 57166: 'METEOR-M2-3', + 59051: 'METEOR-M2-4', + } + + sat_input = data.get('satellites', ['ISS', 'METEOR-M2-3', 'METEOR-M2-4']) satellites = [] for sat in sat_input: if isinstance(sat, int) and sat in norad_to_name: @@ -342,11 +343,12 @@ def predict_passes(): satellites.append(sat) passes = [] - colors = { - 'ISS': '#00ffff', - 'METEOR-M2': '#9370DB', - 'METEOR-M2-3': '#ff00ff' - } + colors = { + 'ISS': '#00ffff', + 'METEOR-M2': '#9370DB', + 'METEOR-M2-3': '#ff00ff', + 'METEOR-M2-4': '#00ff88', + } name_to_norad = {v: k for k, v in norad_to_name.items()} ts = _get_timescale() @@ -410,11 +412,12 @@ def get_satellite_position(): sat_input = data.get('satellites', []) include_track = bool(data.get('includeTrack', True)) - norad_to_name = { - 25544: 'ISS', - 40069: 'METEOR-M2', - 57166: 'METEOR-M2-3' - } + norad_to_name = { + 25544: 'ISS', + 40069: 'METEOR-M2', + 57166: 'METEOR-M2-3', + 59051: 'METEOR-M2-4', + } satellites = [] for sat in sat_input: diff --git a/templates/index.html b/templates/index.html index 988aae2..292d584 100644 --- a/templates/index.html +++ b/templates/index.html @@ -11628,7 +11628,8 @@ if (trackedSatellites.length === 0) { trackedSatellites = [ { id: 'ISS', name: 'ISS (ZARYA)', norad: '25544', builtin: true, checked: true }, - { id: 'METEOR-M2', name: 'Meteor-M 2', norad: '40069', builtin: true, checked: true } + { id: 'METEOR-M2-3', name: 'Meteor-M2-3', norad: '57166', builtin: true, checked: true }, + { id: 'METEOR-M2-4', name: 'Meteor-M2-4', norad: '59051', builtin: true, checked: true } ]; renderSatelliteList(); } diff --git a/templates/satellite_dashboard.html b/templates/satellite_dashboard.html index 6690268..7a04815 100644 --- a/templates/satellite_dashboard.html +++ b/templates/satellite_dashboard.html @@ -100,8 +100,8 @@ @@ -602,8 +602,8 @@ let satellites = { 25544: { name: 'ISS (ZARYA)', color: '#00ffff' }, - 40069: { name: 'METEOR-M2', color: '#9370DB' }, - 57166: { name: 'METEOR-M2-3', color: '#ff00ff' } + 57166: { name: 'METEOR-M2-3', color: '#ff00ff' }, + 59051: { name: 'METEOR-M2-4', color: '#00ff88' } }; const satColors = ['#00ffff', '#9370DB', '#ff00ff', '#00ff00', '#ff6600', '#ffff00', '#ff69b4', '#7b68ee']; @@ -1063,8 +1063,7 @@ // Satellites that can be handed off to the weather-satellite capture mode const WEATHER_SAT_KEYS = new Set([ - 'NOAA-15', 'NOAA-18', 'NOAA-19', 'NOAA-20', 'NOAA-21', - 'METEOR-M2', 'METEOR-M2-3', 'METEOR-M2-4' + 'METEOR-M2-3', 'METEOR-M2-4' ]); function renderPassList() { diff --git a/utils/database.py b/utils/database.py index 89fb19d..29aba76 100644 --- a/utils/database.py +++ b/utils/database.py @@ -631,10 +631,18 @@ def init_db() -> None: INSERT OR IGNORE INTO tracked_satellites (norad_id, name, tle_line1, tle_line2, enabled, builtin) VALUES ('25544', 'ISS (ZARYA)', NULL, NULL, 1, 1) ''') - conn.execute(''' - INSERT OR IGNORE INTO tracked_satellites (norad_id, name, tle_line1, tle_line2, enabled, builtin) - VALUES ('40069', 'METEOR-M2', NULL, NULL, 1, 1) - ''') + conn.execute(''' + INSERT OR IGNORE INTO tracked_satellites (norad_id, name, tle_line1, tle_line2, enabled, builtin) + VALUES ('40069', 'METEOR-M2', NULL, NULL, 1, 1) + ''') + conn.execute(''' + INSERT OR IGNORE INTO tracked_satellites (norad_id, name, tle_line1, tle_line2, enabled, builtin) + VALUES ('57166', 'METEOR-M2-3', NULL, NULL, 1, 1) + ''') + conn.execute(''' + INSERT OR IGNORE INTO tracked_satellites (norad_id, name, tle_line1, tle_line2, enabled, builtin) + VALUES ('59051', 'METEOR-M2-4', NULL, NULL, 1, 1) + ''') # ===================================================================== # Ground Station Tables (automated observations, IQ recordings)