mirror of
https://github.com/smittix/intercept.git
synced 2026-04-24 06:40:00 -07:00
New module for receiving and decoding weather satellite images using SatDump CLI. Supports NOAA-15/18/19 (APT) and Meteor-M2-3 (LRPT) with live SDR capture, pass prediction, and image gallery. Backend: - utils/weather_sat.py: SatDump process manager with image watcher - routes/weather_sat.py: API endpoints (start/stop/images/passes/stream) - SSE streaming for real-time capture progress - Pass prediction using existing skyfield + TLE data - SDR device registry integration (prevents conflicts) Frontend: - Sidebar panel with satellite selector and antenna build guide (V-dipole and QFH instructions for 137 MHz reception) - Stats strip with status, frequency, mode, location inputs - Split-panel layout: upcoming passes list + decoded image gallery - Full-size image modal viewer - SSE-driven progress updates during capture Infrastructure: - Dockerfile: Add SatDump build from source (headless CLI mode) with runtime deps (libpng, libtiff, libjemalloc, libvolk2, libnng) - Config: WEATHER_SAT_GAIN, SAMPLE_RATE, MIN_ELEVATION, PREDICTION_HOURS - Nav: Weather Sat entry in Space group (desktop + mobile) https://claude.ai/code/session_01FjLTkyELaqh27U1wEXngFQ
61 lines
2.5 KiB
Python
61 lines
2.5 KiB
Python
# Routes package - registers all blueprints with the Flask app
|
|
|
|
def register_blueprints(app):
|
|
"""Register all route blueprints with the Flask app."""
|
|
from .pager import pager_bp
|
|
from .sensor import sensor_bp
|
|
from .rtlamr import rtlamr_bp
|
|
from .wifi import wifi_bp
|
|
from .wifi_v2 import wifi_v2_bp
|
|
from .bluetooth import bluetooth_bp
|
|
from .bluetooth_v2 import bluetooth_v2_bp
|
|
from .adsb import adsb_bp
|
|
from .ais import ais_bp
|
|
from .dsc import dsc_bp
|
|
from .acars import acars_bp
|
|
from .aprs import aprs_bp
|
|
from .satellite import satellite_bp
|
|
from .gps import gps_bp
|
|
from .settings import settings_bp
|
|
from .correlation import correlation_bp
|
|
from .listening_post import listening_post_bp
|
|
from .meshtastic import meshtastic_bp
|
|
from .tscm import tscm_bp, init_tscm_state
|
|
from .spy_stations import spy_stations_bp
|
|
from .controller import controller_bp
|
|
from .offline import offline_bp
|
|
from .updater import updater_bp
|
|
from .sstv import sstv_bp
|
|
from .weather_sat import weather_sat_bp
|
|
|
|
app.register_blueprint(pager_bp)
|
|
app.register_blueprint(sensor_bp)
|
|
app.register_blueprint(rtlamr_bp)
|
|
app.register_blueprint(wifi_bp)
|
|
app.register_blueprint(wifi_v2_bp) # New unified WiFi API
|
|
app.register_blueprint(bluetooth_bp)
|
|
app.register_blueprint(bluetooth_v2_bp) # New unified Bluetooth API
|
|
app.register_blueprint(adsb_bp)
|
|
app.register_blueprint(ais_bp)
|
|
app.register_blueprint(dsc_bp) # VHF DSC maritime distress
|
|
app.register_blueprint(acars_bp)
|
|
app.register_blueprint(aprs_bp)
|
|
app.register_blueprint(satellite_bp)
|
|
app.register_blueprint(gps_bp)
|
|
app.register_blueprint(settings_bp)
|
|
app.register_blueprint(correlation_bp)
|
|
app.register_blueprint(listening_post_bp)
|
|
app.register_blueprint(meshtastic_bp)
|
|
app.register_blueprint(tscm_bp)
|
|
app.register_blueprint(spy_stations_bp)
|
|
app.register_blueprint(controller_bp) # Remote agent controller
|
|
app.register_blueprint(offline_bp) # Offline mode settings
|
|
app.register_blueprint(updater_bp) # GitHub update checking
|
|
app.register_blueprint(sstv_bp) # ISS SSTV decoder
|
|
app.register_blueprint(weather_sat_bp) # NOAA/Meteor weather satellite decoder
|
|
|
|
# Initialize TSCM state with queue and lock from app
|
|
import app as app_module
|
|
if hasattr(app_module, 'tscm_queue') and hasattr(app_module, 'tscm_lock'):
|
|
init_tscm_state(app_module.tscm_queue, app_module.tscm_lock)
|