Skip to content

feat(transmit): how my last position got out (F3.3) - #264

Merged
gx1400 merged 2 commits into
feat/f2.5-bulletins-readingfrom
feat/f3.3-heard-back
Oct 18, 2026
Merged

gx1400 merged 2 commits into
feat/f2.5-bulletins-readingfrom
feat/f3.3-heard-back

Conversation

@gx1400

@gx1400 gx1400 commented Oct 18, 2026

Copy link
Copy Markdown
Contributor

Stacked on #263. Part of #210 (behaviors 1, 2, 4 of the F3.3 spec in #262).

  • Engine (Engine.HeardBack.cs): a position sent is followed for 10 minutes (sends of the same position on several sources within 30 s count as one). Each copy received is classified with APRS.NET's path analysis (G20), as Test send already does: repeated by the last digipeater that marked itself, when heard on this station's own TNC; gated by the IGate in the APRS-IS path; and direct for this station's own APRS-IS send. One entry per digipeater or IGate.
  • TransmitStatus.LastPosition and ThisStation.LastPosition (LastPositionHeard: time, sources, the ways it got out, still following, sent on RF).
  • UI: this station's details gain My last position: "Sent 14:05 on rotate.aprs2.net, Direwolf. Repeated by K0HQ-1 (RF), gated by N0IGT (to APRS-IS).", "Listening for copies on RF" while followed, "Not heard back on RF" after. The transmit marker's tip adds "Last position heard back via K0HQ-1, 3 min ago".
  • Not here: drawing the routes out on the map (behavior 3). Per-port paths and beacons on RF and APRS-IS (behaviors 5, 6) were already there (F2.1, F2.2). The spec's status is left to after docs: F2.5 bulletins and F3.3 RF paths (specs), gap G34 #262, to avoid an add/add conflict.

Also in the stack: a race in SourceConsoleTests.AprsIsLinesAreKeptOnlyWhileWatchedWithThePasscodeMasked (one keepalive could arrive before the watch started) is fixed on #255 and merged up through #256–#263.

Tests: TransmitTests.MyLastPositionSaysHowItGotOutOnRfAndToAprsIs (a beacon on APRS-IS and a TNC, a digipeated copy on the TNC and a gated copy on APRS-IS, the follow ending) and HeardBackTextTests. All suites pass (Core 375, UI 517, Gateway 123, Tiles 17); CSharpier clean.

Each position this station sends is followed for 10 minutes. Every copy
heard back says how it got out: repeated by a digipeater on this
station's TNC, gated to APRS-IS by an IGate, or sent to APRS-IS by this
station. This station's details gain My last position ("Sent 14:05 on
rotate.aprs2.net, Direwolf. Repeated by K0HQ-1 (RF), gated by N0IGT (to
APRS-IS).", or "Not heard back on RF" once the 10 minutes are up), and
the transmit tip adds "Last position heard back via K0HQ-1, 3 min ago".
@gx1400
gx1400 added this pull request to stack #265 October 18, 2026 11:57
@gx1400
gx1400 merged commit 2cdecda into main Oct 18, 2026
15 of 19 checks passed
@gx1400
gx1400 deleted the feat/f3.3-heard-back branch October 18, 2026 12:23
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.

1 participant