Skip to content

feat(pskreporter): upload decoded spots to PSKReporter#103

Merged
patrickrb merged 2 commits into
mainfrom
feature/pskreporter-upload
Jun 4, 2026
Merged

feat(pskreporter): upload decoded spots to PSKReporter#103
patrickrb merged 2 commits into
mainfrom
feature/pskreporter-upload

Conversation

@patrickrb
Copy link
Copy Markdown
Owner

@patrickrb patrickrb commented Jun 4, 2026

Summary

Closes #78

  • Uploads all decoded FT8 spots to PSKReporter using the IPFIX binary protocol over UDP (report.pskreporter.info:4739)
  • Spots are deduplicated per callsign+band within a 5-minute window, batched every ~5 minutes with random jitter, and capped at 1400 bytes per datagram for MTU safety
  • Templates are included in the first 3 packets and re-sent hourly per the PSKReporter spec
  • Adds a settings toggle (default: ON) in Settings > Logging & Awards
  • Adds INTERNET permission to AndroidManifest.xml
  • Includes 13 unit tests validating IPFIX binary encoding (headers, templates, sender/receiver records, MTU splitting, sequence numbers)

Files changed

File Change
AndroidManifest.xml Add INTERNET permission
GeneralVariables.java Add enablePskReporter boolean (default true)
DatabaseOpr.java Load enablePskReporter from config DB
MainViewModel.java Hook PskReporterSender.enqueue() in afterDecode(), lifecycle start/stop
SettingsScreen.kt Add PSKReporter toggle in Logging & Awards section
PskReporterSender.kt New — IPFIX encoder + UDP sender singleton
PskReporterSenderTest.kt New — 13 unit tests for binary encoding
build.gradle Add test dependencies (JUnit, Robolectric, Truth)

Test plan

  • Build compiles without errors (./gradlew assembleDebug)
  • PskReporterSenderTest passes all 13 tests
  • Toggle appears in Settings > Logging & Awards, persists across restarts
  • With toggle ON, decode some FT8 and check debug.log for PskReporterSender: entries showing spots queued and datagrams sent
  • After ~5 min, visit pskreporter.info and search for your callsign as a reporter to confirm spots appear
  • With toggle OFF, no spots are queued

🤖 Generated with Claude Code

patrickrb and others added 2 commits June 3, 2026 22:46
Report all decoded FT8 spots to pskreporter.info using the IPFIX binary
protocol over UDP. Spots are deduplicated per callsign+band (5 min window),
batched every ~5 minutes with random jitter, and capped at 1400 bytes per
datagram for MTU safety. Templates are included in the first 3 packets and
re-sent hourly per the PSKReporter spec.

Adds a settings toggle (default: ON) in Settings > Logging & Awards.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…pload

# Conflicts:
#	ft8cn/app/build.gradle
#	ft8cn/app/src/main/java/com/bg7yoz/ft8cn/MainViewModel.java
#	ft8cn/app/src/main/java/com/bg7yoz/ft8cn/database/DatabaseOpr.java
@patrickrb patrickrb merged commit c445cf0 into main Jun 4, 2026
2 of 3 checks passed
@patrickrb patrickrb deleted the feature/pskreporter-upload branch June 4, 2026 14:02
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.

Feature Request: Add Pskreporter reporting

1 participant