Repository navigation
feat(rf): a KISS TNC can digipeat, as a fill-in or wide-area digipeater (F3.5) - #390
Merged
Merged
Conversation
gx1400
force-pushed
the
feat/f3.5-digipeater
branch
from
October 26, 2026 05:27
bfecfb0 to
65d3a51
Compare
Base automatically changed from
fix/aprsnet-0.7.0-alpha.1
to
feat/f1.33-station-lists
October 26, 2026 10:17
gx1400
force-pushed
the
feat/f3.5-digipeater
branch
from
October 26, 2026 10:18
65d3a51 to
0e0ae67
Compare
…er (F3.5) Each KISS TNC gets a Digipeat setting, Off by default: Fill-in repeats WIDE1-1, the station's call and its aliases; Wide-area repeats WIDEn-N too, up to 2 hops, trapping longer requests. The rules are APRS.NET's digipeater, it repeats on the port it heard on with the profile's call, and only while the station may transmit there. Repeated packets are marked Digipeated here, the dashboard counts them per source, and aprsmap.digipeated counts them for OTLP.
gx1400
force-pushed
the
feat/f3.5-digipeater
branch
from
October 26, 2026 12:43
0e0ae67 to
9b1cb48
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #209. Stacked on #389 (APRS.NET 0.7.0-alpha.1). Spec written first; the decisions are proposed.
What it does
WIDE1-1, the station's call and aliases) or Wide-area (WIDEn-Ntoo, up to 2 hops; longer requests are repeated once and trapped). Optional aliases go beside it. The form notes that wide-area needs the local network's agreement.Digipeater(G15): no own frames, no duplicates within 30 s, no frames with no hops left, preemptive off. It repeats on the port it heard on, using the active profile's call (with its SSID), marked used. Frames go out withKissConnection.SendFrameAsync, so the path's repeated bits are exact.CanSendOngate as every other RF send. That means the Transmit switch, a licensed profile with a verified passcode, the source in the profile, and not receive-only. Nothing from APRS-IS is digipeated.PacketMarkers.DigipeatedHere, with a new marker in the packet list (two arrows passing);SourceStatus.Digipeated, shown in the Dashboard's Connection tile as "· 12 digipeated";aprsmap.digipeatedfor OTLP, listed in the README;settings.source.digipeat-alias-invalid).Decisions for review:
Tests (nothing reached a radio):
DigipeaterTests(5), against a fake TNC that takes raw frames:WIDE1-1but notWIDE2-2;WIDE2-2asN0TEST*,WIDE2-1and trapsWIDE3-3;DigipeaterUiTests(2): the form saves the choice and aliases; the marker and the Dashboard count.N0CAR-9>APRS,N0TEST*,WIDE2-1, so the encoding is right end to end. Dire Wolf was stopped afterwards.