a06f5e8dc1
Add Open Graph image generation for all docs pages
...
Custom renderer with NASA-blue theme, Inter font, signal arc decoration.
Generates 1200x630 PNG per page at build time via astro-opengraph-images.
Head component injects og:image meta tag using getImagePath().
2026-02-21 09:28:45 -07:00
db14b85633
Add Docker deployment for docs site at gr-apollo.l.warehack.ing
...
Multi-stage Dockerfile: node:22-slim build → caddy:2-alpine serve.
caddy-docker-proxy labels for automatic TLS + reverse proxy.
Profiles: prod (Caddy static) and dev (Astro HMR with volume mounts).
2026-02-21 09:10:16 -07:00
9dc52d1a5b
Docs: replace default favicon, add git icon, fix Mermaid direction
...
- Favicon: MSFN antenna dish with signal arcs (NASA blue/red, dark mode)
- Social icon: generic git-branch replacing GitHub-specific icon
- Mermaid signal chain diagram: flowchart TB for vertical readability
- Add astro-icon (with Lucide icons) and astro-opengraph-images packages
2026-02-21 09:10:07 -07:00
12fb284d5f
Add Starlight documentation site with diataxis structure
...
14 content pages across four diataxis categories:
- Getting Started: introduction, installation, quick-start tutorial
- Understanding Apollo USB: signal architecture, PCM frame structure, AGC integration
- How-To Guides: tuning parameters, test signals, voice audio, AGC bridge, PCM telemetry
- Reference: block reference (all 16 blocks), constants, protocol specification
Includes Mermaid diagram support via rehype-mermaid with client-side
rendering, dark theme, Pagefind search index, and edit-on-GitHub links.
2026-02-20 15:26:05 -07:00
0ee7ff0ad7
Implement full Apollo USB downlink decoder chain
...
Complete signal processing pipeline from complex baseband to decoded
PCM telemetry, verified against the 1965 NAA Study Guide (A-624):
Core demod (Phase 1):
- PM demodulator with carrier PLL recovery
- 1.024 MHz subcarrier extractor (bandpass + downconvert)
- BPSK demodulator with Costas loop + symbol sync
- Convenience hier_block2 combining subcarrier + BPSK
PCM frame processing (Phase 2):
- 32-bit frame sync with Hamming distance correlator
- SEARCH/VERIFY/LOCKED state machine, complement-on-odd handling
- Frame demultiplexer (128-word, A/D voltage scaling)
- AGC downlink decoder (15-bit word reassembly from DNTM1/DNTM2)
Voice and analog (Phase 3):
- 1.25 MHz FM voice subcarrier demod to 8 kHz audio
- SCO demodulator for 9 analog sensor channels (14.5-165 kHz)
Virtual AGC integration (Phase 4):
- TCP bridge client with auto-reconnect and channel filtering
- DSKY uplink encoder (VERB/NOUN/DATA command sequences)
Top-level receiver (Phase 5):
- usb_downlink_receiver hier_block2: one block, complex in, PDUs out
- 14 GRC block YAML definitions for GNU Radio Companion
- Example scripts for signal analysis and full-chain demo
Infrastructure:
- constants.py with all timing/frequency/frame parameters
- protocol.py for sync word + AGC packet encode/decode
- Synthetic USB signal generator for testing
- 222 tests passing, ruff lint clean
2026-02-20 13:18:42 -07:00
425a6357cc
init: Apollo Unified S-Band decoder for GNU Radio 3.10+
...
Project scaffold for decoding Apollo USB signals:
- 2287.5 MHz downlink with PM/FM modulation
- 1.024 MHz BPSK subcarrier (PCM telemetry)
- 1.25 MHz FM subcarrier (voice)
- 128-word PCM frames at 50 fps
Based on NAA Course A-624 Study Guide (1965) and Virtual AGC.
2026-02-20 10:46:43 -07:00