Skip to content

Add my station configuration menu page#97

Merged
skyelaird merged 1 commit intomainfrom
claude/add-station-config-menu-01RgkGwX7PFuECiFa8TEDdCb
Nov 17, 2025
Merged

Add my station configuration menu page#97
skyelaird merged 1 commit intomainfrom
claude/add-station-config-menu-01RgkGwX7PFuECiFa8TEDdCb

Conversation

@skyelaird
Copy link
Copy Markdown
Owner

Features added:

  • New "Station Config" tab in dashboard with station information form
    • Operator name, callsign, grid square
    • Latitude/longitude coordinates
    • Power settings
  • Multiple antenna configuration system
    • Add/remove unlimited antennas
    • Five antenna types: Vertical Monopole, Half-Wave Dipole, Inverted V, 3-Element Yagi, Isotropic
    • Customizable antenna names
  • Band-to-antenna assignment
    • Assign specific antennas to each band
    • Support for 160m and 80m bands (newly added)
    • All 9 bands: 160m, 80m, 40m, 30m, 20m, 17m, 15m, 12m, 10m
  • EME Calculator placeholder (UI ready for future implementation)
  • Backend API endpoints
    • /api/station-config (GET/POST) - station info persistence
    • /api/antenna-config (GET/POST) - antenna config persistence
    • JSON-based configuration storage

Technical improvements:

  • Added 160m (1.900 MHz) and 80m (3.600 MHz) to BANDS dictionary
  • Dynamic antenna management with add/remove/rename functionality
  • Real-time synchronization between antenna list and band assignments
  • Configuration auto-loads on dashboard initialization

Files modified:

  • Dashboard/dashboard.html: Added station config tab and JavaScript
  • Dashboard/server.py: Added API endpoints for config persistence
  • Dashboard/generate_predictions.py: Added 160m and 80m bands

Description

A clear and concise description of what this PR does.

Type of Change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Documentation update
  • Performance improvement
  • Code refactoring
  • Test coverage improvement

Related Issues

Closes #(issue number)
Related to #(issue number)

Changes Made

  • Change 1
  • Change 2
  • Change 3

Testing

Describe the tests you've run to verify your changes:

Test Configuration

  • Python version:
  • Operating System:
  • NumPy/SciPy versions:

Test Results

# Command used to test
python -m pytest tests/

# Or validation command
python test_voacap_reference.py
  • All existing tests pass
  • New tests added for new functionality
  • Validation pass rate maintained or improved
  • No performance regression

Validation Checklist

  • Code follows PEP 8 style guidelines
  • Docstrings added/updated for public functions
  • Type hints added where appropriate
  • Comments added for complex logic
  • Documentation updated (README, USAGE, etc.)
  • CHANGELOG.md updated
  • No new warnings or errors introduced

Performance Impact

  • No performance impact
  • Performance improved (provide benchmarks)
  • Minor performance regression (justified because...)
  • Not applicable

Benchmarks (if applicable)

Before: X seconds
After: Y seconds
Change: Z% improvement/regression

Breaking Changes

If this PR introduces breaking changes, describe:

  1. What breaks
  2. Migration path for users
  3. Why this change is necessary

Screenshots/Output (if applicable)

For dashboard changes or output format changes, include before/after screenshots or sample output.

Additional Notes

Any additional information that reviewers should know:

  • Assumptions made
  • Trade-offs considered
  • Future work needed
  • Dependencies added/removed

Reviewer Checklist

For maintainers reviewing this PR:

  • Code quality is acceptable
  • Tests are comprehensive
  • Documentation is clear
  • Validation results are acceptable
  • No security issues introduced
  • Backward compatibility maintained (or breaking changes justified)

Features added:
- New "Station Config" tab in dashboard with station information form
  * Operator name, callsign, grid square
  * Latitude/longitude coordinates
  * Power settings
- Multiple antenna configuration system
  * Add/remove unlimited antennas
  * Five antenna types: Vertical Monopole, Half-Wave Dipole, Inverted V, 3-Element Yagi, Isotropic
  * Customizable antenna names
- Band-to-antenna assignment
  * Assign specific antennas to each band
  * Support for 160m and 80m bands (newly added)
  * All 9 bands: 160m, 80m, 40m, 30m, 20m, 17m, 15m, 12m, 10m
- EME Calculator placeholder (UI ready for future implementation)
- Backend API endpoints
  * /api/station-config (GET/POST) - station info persistence
  * /api/antenna-config (GET/POST) - antenna config persistence
  * JSON-based configuration storage

Technical improvements:
- Added 160m (1.900 MHz) and 80m (3.600 MHz) to BANDS dictionary
- Dynamic antenna management with add/remove/rename functionality
- Real-time synchronization between antenna list and band assignments
- Configuration auto-loads on dashboard initialization

Files modified:
- Dashboard/dashboard.html: Added station config tab and JavaScript
- Dashboard/server.py: Added API endpoints for config persistence
- Dashboard/generate_predictions.py: Added 160m and 80m bands
@skyelaird skyelaird merged commit cb9340b into main Nov 17, 2025
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants