close to finishing claude.md file

This commit is contained in:
2026-04-18 22:43:10 -07:00
parent 7e70b1eaab
commit ec8495cc54
3 changed files with 674 additions and 6 deletions

181
src/settings.h Normal file
View File

@@ -0,0 +1,181 @@
/*
* MIT License
* Author: Mark Allyn
*
* settings.h
*
* Central location for all tunable constants and appearance variables.
* Edit values here to adjust rendering, timing, and behavior without
* touching any other source file.
*
* NOTE: This file is a planning document. C++ declarations will be
* added once all variables have been identified and agreed upon.
*/
/*
* ================================================================
* PHOSPHOR — P1 (Marine A-Scope)
* ================================================================
*
* P1_COLOR_R Red component of P1 phosphor green
* P1_COLOR_G Green component of P1 phosphor green
* P1_COLOR_B Blue component of P1 phosphor green
*/
/*
* ================================================================
* PHOSPHOR — P7 (Marine PPI, ATC PPI, PAR, Chain Home A-Scope)
* ================================================================
*
* P7_STRIKE_R Red component of initial beam strike (blue)
* P7_STRIKE_G Green component of initial beam strike (blue)
* P7_STRIKE_B Blue component of initial beam strike (blue)
*
* P7_PERSIST_R Red component of persistence color (yellow-green)
* P7_PERSIST_G Green component of persistence color (yellow-green)
* P7_PERSIST_B Blue component of persistence color (yellow-green)
*
* P7_DECAY_TIME Decay time constant in seconds (PPI scopes and PAR)
* P7_DECAY_TIME_CH Decay time constant for Chain Home — longer, must
* survive between slow PRF pulses (25 Hz / 12.5 Hz)
*/
/*
* ================================================================
* SWEEP
* ================================================================
*
* SWEEP_LINE_WIDTH Width of the rotating sweep line in pixels
* SWEEP_LINE_BRIGHTNESS Brightness multiplier for the sweep line (0.01.0)
* SWEEP_FADE_TRAIL_DEGREES How many degrees behind the sweep line the bright
* afterglow trails before transitioning to P7 decay
*
* MARINE_PPI_SWEEP_PERIOD Full rotation period in seconds (4.0)
* ATC_PPI_SWEEP_PERIOD Full rotation period in seconds (5.0)
*
* PAR_SCAN_RATE_HZ PAR alternating scan rate in Hz (30)
*
* CHAIN_HOME_PRF_HIGH_HZ Chain Home high PRF in Hz (25)
* CHAIN_HOME_PRF_LOW_HZ Chain Home low PRF in Hz (12.5)
*/
/*
* ================================================================
* GRATICULE — General
* ================================================================
*
* GRATICULE_COLOR_R Red component of incandescent graticule color
* GRATICULE_COLOR_G Green component of incandescent graticule color
* GRATICULE_COLOR_B Blue component of incandescent graticule color
* GRATICULE_LINE_WIDTH Width of graticule lines in pixels
*/
/*
* ================================================================
* GRATICULE — PPI Bearing Ring
* ================================================================
*
* PPI_TICK_MAJOR_LENGTH Length of major tick marks (every 10 degrees)
* PPI_TICK_MINOR_LENGTH Length of minor tick marks (every 1 degree)
* PPI_TICK_LINE_WIDTH Width of tick mark lines
* PPI_LABEL_INTERVAL_DEG Degrees between text labels (15)
* PPI_LABEL_FONT_SIZE Font size for bearing labels
*/
/*
* ================================================================
* GRATICULE — PPI Range Rings
* ================================================================
*
* RANGE_RING_LINE_WIDTH Width of range ring lines in pixels
* RANGE_RING_LABEL_SIZE Font size for range ring distance labels
* RANGE_RING_LABEL_R Red component (P7 color — blue fading to yellow-green)
* RANGE_RING_LABEL_G Green component
* RANGE_RING_LABEL_B Blue component
*/
/*
* ================================================================
* CURSOR (PPI scopes)
* ================================================================
*
* CURSOR_COLOR_R Red component of cursor color (yellow)
* CURSOR_COLOR_G Green component of cursor color (yellow)
* CURSOR_COLOR_B Blue component of cursor color (yellow)
* CURSOR_LINE_WIDTH Width of cursor arc and bearing line in pixels
* CURSOR_ARC_SPAN_DEG Angular span of the cursor arc in degrees (10)
*/
/*
* ================================================================
* NOISE FLOOR (Marine A-Scope)
* ================================================================
*
* NOISE_FLOOR_AMPLITUDE Baseline amplitude of the noise floor (0.01.0)
* NOISE_FLOOR_VARIATION Random variation range added to baseline
*/
/*
* ================================================================
* GRATICULE SWAP ANIMATION (Marine A-Scope)
* ================================================================
*
* GRATICULE_SLIDE_OUT_TIME Duration of old graticule sliding out in seconds
* GRATICULE_BARE_CRT_TIME Duration of bare CRT pause between slides in seconds
* GRATICULE_SLIDE_IN_TIME Duration of new graticule sliding in in seconds
*/
/*
* ================================================================
* KEY-HOLD ACCELERATION
* ================================================================
*
* KEY_INITIAL_STEP Step size for a single key press (degrees or miles)
* KEY_ACCEL_RATE Rate at which step size grows while key is held
* KEY_MAX_STEP Maximum step size regardless of hold duration
*
* KEY_GONIO_INITIAL_STEP Initial step for goniometer tuning (must stay slow
* to allow precise null finding)
* KEY_GONIO_ACCEL_RATE Acceleration rate for goniometer (slow build)
* KEY_GONIO_MAX_STEP Maximum goniometer step size
*/
/*
* ================================================================
* AUTO-ADVANCE TIMER
* ================================================================
*
* SCOPE_AUTO_ADVANCE_SEC Seconds before auto-advancing to next scope (120)
*/
/*
* ================================================================
* WINDOW AND LAYOUT GEOMETRY
* ================================================================
*
* WINDOW_WIDTH Initial window width in pixels
* WINDOW_HEIGHT Initial window height in pixels
* LEFT_PANEL_WIDTH_FRAC Left description panel as fraction of window width
* RIGHT_PANEL_WIDTH_FRAC Right scope panel as fraction of window width
*
* PAR_AZIMUTH_HEIGHT_FRAC Azimuth scope height as fraction of right panel height
* PAR_ELEVATION_HEIGHT_FRAC Elevation scope height as fraction of right panel height
*/
/*
* ================================================================
* TEXT
* ================================================================
*
* UI_TEXT_COLOR_R Red component of general UI text (white)
* UI_TEXT_COLOR_G Green component of general UI text (white)
* UI_TEXT_COLOR_B Blue component of general UI text (white)
* UI_TEXT_SIZE Font size for general UI / description text
*
* CURSOR_READOUT_TEXT_SIZE Font size for cursor range/bearing readout
* displayed under PPI scope
*
* GRATICULE_LABEL_COLOR_R Red component of graticule text (incandescent)
* GRATICULE_LABEL_COLOR_G Green component
* GRATICULE_LABEL_COLOR_B Blue component
*/