Shows the current VIS detection state machine position (Idle, Leader,
Break, Start bit, Data bits, etc.) in the signal monitor. This helps
diagnose why decoding may not be starting - e.g. if the VIS detector
is stuck in Idle despite a leader tone being present, the signal may
not contain a valid VIS header.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The Doppler tracking thread emits detecting events every 5s from a
separate thread, unaware of decode state. The previous to_dict() change
included signal_level for ALL detecting events, causing the frontend to
replace the decode progress canvas with the signal monitor mid-decode.
Fix: use None as default for signal_level so only signal-metrics events
(which explicitly set the value) include the field. Also add a frontend
guard to ignore detecting events while the UI is in decoding state.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Shows RMS audio level bar and SSTV tone classification (leader/sync/noise)
via SSE during detecting mode, replacing the static "Listening..." state
with actionable signal feedback.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
slowrx is a GTK GUI app that doesn't support CLI usage, so the SSTV
decoder was silently failing. This replaces it with a pure Python
implementation using numpy and Pillow that supports Robot36/72,
Martin1/2, Scottie1/2, and PD120/180 modes via VIS header auto-detection.
Key implementation details:
- Generalized Goertzel (DTFT) for exact-frequency tone detection
- Vectorized batch Goertzel for real-time pixel decoding performance
- Overlapping analysis windows for short-window frequency estimation
- VIS header detection state machine with parity validation
- Per-line sync re-synchronization for drift tolerance
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Add help modal system with keyboard shortcuts reference
- Add Main Dashboard button in navigation bar
- Make settings modal accessible from all dashboards
- Dashboard CSS improvements and consistency fixes
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add ISS SSTV decoder mode with real-time tracking globe
- Add GitHub update notifications for new releases
- Enhance Meshtastic with QR codes and telemetry display
- Add new Space category for satellite modes
- Fix SoapySDR detection, dump1090 builds, and Flask compatibility
- Update version numbers and changelog
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add new "Space" category with Satellite and ISS SSTV modes
- Rename "Scanner" to "Listening Post"
- SSTV now uses global SDR device selector
- Meshtastic map markers more visible (stronger glow, larger size)
- CSS layout fixes using flex instead of fixed heights
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Use real Leaflet map with proper tile layers (same as satellite section)
- ISS marker with pulsing glow animation
- Ground track orbit line showing ISS path
- Map auto-pans to follow ISS position
- Simplified overlay showing position and next pass info
- Responsive layout that adapts to screen size
- Removed custom canvas rendering and continent data
The Leaflet map uses the same tile provider as other sections,
ensuring the ISS position is accurately displayed on a real map.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Use simple equirectangular projection for guaranteed accuracy
- Direct linear mapping: lon to x, lat to y (no complex 3D math)
- Show ISS ground track orbit path
- Continent outlines rendered on flat map
- Canvas changed to 300x150 for proper 2:1 aspect ratio
- Updated CSS for rectangular map styling
The 2D map uses a straightforward coordinate transformation
that cannot produce incorrect positions.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Fix x-axis mirroring for proper globe viewing orientation
- Adjust rotation formula to use lon - rotation instead of lon + rotation
- Globe now correctly shows landmasses relative to ISS position
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Use actual ISS coordinates with globe rotation instead of fixed lon=0
- Fix orbit trail to use actual longitude offsets from ISS position
- Trail now properly follows behind ISS based on orbital path
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Add geographically accurate continent outlines including:
- North America with proper coastline detail (Alaska, Florida, Gulf of Mexico)
- Greenland, Iceland, UK/Ireland as separate landmasses
- Central and South America with accurate shapes
- Europe with Scandinavia separated
- Africa with Madagascar
- Middle East/Arabian Peninsula
- Asia with India, Southeast Asia, Korea, Japan, Taiwan
- Philippines and Indonesia archipelago
- Australia and New Zealand
- Sri Lanka
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Added simplified continent outlines (N/S America, Europe, Africa, Asia, Australia)
- Proper 3D orthographic projection with rotation
- Globe rotates to center on ISS position
- Green landmasses on blue ocean background
- ISS shown in yellow/orange with orbit trail
- Lat/lon grid lines properly projected on sphere
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Globe view centers on ISS longitude so it's always visible
- Added console logging for debugging position updates
- Increased ISS marker size and glow for better visibility
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add /sstv/iss-position endpoint that calculates ISS position directly
- Update JS to use new endpoint instead of /satellite/position
- Returns lat, lon, altitude, and optionally elevation/azimuth from observer
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Update TLE data with current orbital elements for accurate predictions
- Add location inputs (lat/lon) and GPS button to SSTV stats strip
- Add TLE update button to fetch latest orbital data from CelesTrak
- Add 3D globe visualization showing real-time ISS position
- Display ISS coordinates and altitude below globe
- Auto-refresh ISS position every 5 seconds
- Add NOAA-15, NOAA-18, NOAA-19 satellites to TLE data
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add Location tab to settings modal with lat/lon inputs
- Add GPS detection button for auto-location
- Update SSTV to use saved location for ISS pass predictions
- Fix SSTV panels to use full screen width (remove max-width constraint)
- Improve ISS pass messages to guide users to location settings
- Add checked/last_check fields to update status response
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Add slow-scan television decoder for receiving images from ISS.
Includes new Space dropdown in navigation grouping Satellite and SSTV modes.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>