Docs for propagation modes

This commit is contained in:
Ian Renton
2026-06-21 11:02:41 +01:00
parent 5f24f1f9fb
commit 316a356811
10 changed files with 46 additions and 17 deletions

View File

@@ -8,7 +8,7 @@ from tornado import httputil
from tornado.web import Application
from core.config import MAX_SPOT_AGE, ALLOW_SPOTTING
from core.constants import BANDS, ALL_MODES, MODE_TYPES, SIGS, CONTINENTS
from core.constants import BANDS, ALL_MODES, MODE_TYPES, SIGS, CONTINENTS, PROPAGATION_MODES
from core.prometheus_metrics_handler import api_requests_counter
from core.utils import serialize_everything
@@ -42,6 +42,7 @@ class APIOptionsHandler(tornado.web.RequestHandler):
"alert_sources": list(
map(lambda p: p["name"], filter(lambda p: p["enabled"], self._status_data["alert_providers"]))),
"continents": CONTINENTS,
"propagation_modes": PROPAGATION_MODES.values(),
"max_spot_age": MAX_SPOT_AGE,
"spot_allowed": ALLOW_SPOTTING}
# If spotting to this server is enabled, "API" is another valid spot source even though it does not come from

View File

@@ -76,7 +76,7 @@
</div>
<script src="/js/add-spot.js?v=1782030630"></script>
<script src="/js/add-spot.js?v=1782036161"></script>
<script>$(document).ready(function () {
$("#nav-link-add-spot").addClass("active");
}); <!-- highlight active page in nav --></script>

View File

@@ -75,7 +75,7 @@
</div>
<script src="/js/alerts.js?v=1782030630"></script>
<script src="/js/alerts.js?v=1782036161"></script>
<script>$(document).ready(function () {
$("#nav-link-alerts").addClass("active");
}); <!-- highlight active page in nav --></script>

View File

@@ -77,8 +77,8 @@
<script>
let spotProvidersEnabledByDefault = {% raw json_encode(web_ui_options["spot-providers-enabled-by-default"]) %};
</script>
<script src="/js/spotsbandsandmap.js?v=1782030630"></script>
<script src="/js/bands.js?v=1782030630"></script>
<script src="/js/spotsbandsandmap.js?v=1782036161"></script>
<script src="/js/bands.js?v=1782036161"></script>
<script>$(document).ready(function () {
$("#nav-link-bands").addClass("active");
}); <!-- highlight active page in nav --></script>

View File

@@ -1,6 +1,6 @@
{% extends "skeleton.html" %}
{% block head_extra %}
<link rel="stylesheet" href="/css/style.css?v=1782030630" type="text/css">
<link rel="stylesheet" href="/css/style.css?v=1782036161" type="text/css">
<link href="/vendor/css/bootstrap-5.3.8.min.css" rel="stylesheet">
<link href="/vendor/css/fontawesome-6.7.2.min.css" rel="stylesheet">
<link href="/vendor/css/solid-6.7.2.min.css" rel="stylesheet">
@@ -10,10 +10,10 @@
<script src="/vendor/js/bootstrap-5.3.8.bundle.min.js"></script>
<script src="/vendor/js/tinycolor2-1.6.0.min.js"></script>
<script src="/js/utils.js?v=1782030630"></script>
<script src="/js/ui-ham.js?v=1782030630"></script>
<script src="/js/geo.js?v=1782030630"></script>
<script src="/js/common.js?v=1782030630"></script>
<script src="/js/utils.js?v=1782036161"></script>
<script src="/js/ui-ham.js?v=1782036161"></script>
<script src="/js/geo.js?v=1782036161"></script>
<script src="/js/common.js?v=1782036161"></script>
{% end %}
{% block body %}
<div class="container">

View File

@@ -284,7 +284,7 @@
</div>
<script src="/vendor/js/chart-4.4.9.umd.min.js"></script>
<script src="/js/conditions.js?v=1782030630"></script>
<script src="/js/conditions.js?v=1782036161"></script>
<script>$(document).ready(function () {
$("#nav-link-conditions").addClass("active");
}); <!-- highlight active page in nav --></script>

View File

@@ -95,8 +95,8 @@
<script>
let spotProvidersEnabledByDefault = {% raw json_encode(web_ui_options["spot-providers-enabled-by-default"]) %};
</script>
<script src="/js/spotsbandsandmap.js?v=1782030630"></script>
<script src="/js/map.js?v=1782030630"></script>
<script src="/js/spotsbandsandmap.js?v=1782036161"></script>
<script src="/js/map.js?v=1782036161"></script>
<script>$(document).ready(function () {
$("#nav-link-map").addClass("active");
}); <!-- highlight active page in nav --></script>

View File

@@ -116,8 +116,8 @@
<script>
let spotProvidersEnabledByDefault = {% raw json_encode(web_ui_options["spot-providers-enabled-by-default"]) %};
</script>
<script src="/js/spotsbandsandmap.js?v=1782030630"></script>
<script src="/js/spots.js?v=1782030630"></script>
<script src="/js/spotsbandsandmap.js?v=1782036161"></script>
<script src="/js/spots.js?v=1782036161"></script>
<script>$(document).ready(function () {
$("#nav-link-spots").addClass("active");
}); <!-- highlight active page in nav --></script>

View File

@@ -59,7 +59,7 @@
</div>
</div>
<script src="/js/status.js?v=1782030630"></script>
<script src="/js/status.js?v=1782036161"></script>
<script>
$(document).ready(function () {
$("#nav-link-status").addClass("active");

View File

@@ -15,6 +15,10 @@ info:
## Changelog
### 1.4
* Spots can now include a "propagation_mode" field, and the `/options` call enumerates the options that can have.
### 1.3
* `/solar` response now includes `ionosonde_data`, which contains ionosonde station measurements (LUF, foF2 and MUF) sourced from the GIRO Data Center as well as implied band states.
@@ -36,7 +40,7 @@ info:
license:
name: The Unlicense
url: https://unlicense.org/#the-unlicense
version: v1.3
version: v1.4
servers:
- url: https://spothole.app/api/v1
@@ -898,6 +902,20 @@ components:
- NONE
example: SPOT
PropagationMode:
type: string
enum:
- F2 layer ionospheric
- Sporadic-E
- Tropospheric ducting
- Trans-Equatorial Propagation
- Earth-Moon-Earth
- Aurora
- Meteor scatter
- Rain scatter
- Aircraft scatter
example: Sporadic-E
LocationSourceForSpot:
type: string
enum:
@@ -1153,6 +1171,11 @@ components:
type: string
description: The ID the source gave it, if any.
example: "GUID-123456"
propagation_mode:
description: >
Propagation mode, if known. This is only populated when the upstream spot specifically states it; Spothole
does not try to determine it using its own algorithm.
$ref: "#/components/schemas/PropagationMode"
SpotStream:
@@ -1827,6 +1850,11 @@ components:
items:
type: string
example: "EU"
propagation_modes:
type: array
description: A list of all the supported propagation mode names.
items:
$ref: '#/components/schemas/PropagationMode'
max_spot_age:
type: integer
description: >