Packet log
Replaying a capture and importing one need APRS Connect Pro. Watching the feed, inspecting packets, the retention windows and exporting the log as a capture file do not.
The Packets tab is the raw feed: every frame the app hears, over the radio or from APRS-IS, stored and shown live as it arrives. When something looks wrong anywhere else in the app, this is usually where the answer is. The + beside EXPORT opens the packet composer, for writing a packet of your own.
Rate and health
Under the title the header shows the receive rate (N packets/min) while packets are
arriving. When they are not, the same line says why instead: connection stale · restarting,
reconnecting…, or not receiving. Stale means a connection still claims to be up but has
gone quiet and is being restarted; the line never shows a rate on the strength of a socket
that merely hasn't closed. The RF and IS lamps in the corner show the same state per link,
and so does the Radio screen.
Filtering the feed
Above the list are the quick filters All, RF only, Mine, and Errors, plus a
free-text box (filter: callsign, text, type…) that matches against the raw line. The
shared view filter (age window, RF/internet origin, station kind) applies here too, the
same one the map and Stations use.
Two more appear only when there is something for them to find. Gated collects packets your IGate passed in either direction, marked →IS or →RF in the left-hand gutter. Repeated collects packets your digipeater put back on the air, marked DIGI. They are separate filters because gating and repeating are different acts on different networks, and an operator running both wants to ask about one at a time. A packet the space station's digipeater repeated carries a VIA ISS mark in the same gutter, and a Via ISS chip collects them once the log holds one; the list of stations heard that way is on the ISS screen, see APRS through the ISS.
Packets that fail to decode are flagged and kept, never hidden, because real APRS traffic contains malformed packets and dropping them would misrepresent the channel. The Errors filter collects them.
Packets heard more than once
One transmission often reaches you several times: direct, then from a digipeater, then from another digipeater further out, or again through APRS-IS. The log shows it as one packet, so stations, messages and notifications count it once. The other copies are kept too.
- A packet that came more than once has a HEARD 3× mark in the gutter. On your own packets the number is how many times you heard them come back.
- Each later copy is listed under its packet. Each line shows how long after the first copy it arrived, which link it came in on, and the path it took. The Every copy chip turns the copies off for a quieter read, and works with whichever filter is pressed. It only appears once the log holds a packet that came more than once.
Copies mostly come from a radio. APRS-IS servers drop duplicates before sending them on, so a connection to APRS-IS alone usually gets one copy of each packet. Copies recorded before this version are not in the log.
The packet inspector
Tap any packet and it is taken apart field by field: Source, the device model identified from the destination call (with a note that TOCALL is a software identifier, not a recipient), Type, Position, Symbol, message IDs, and everything else the packet carried:
- an object or item's name, and whether it has been killed
- Mic-E status, shown in red when it is Emergency
- course, speed and altitude
- PHG (power, height and antenna gain)
- the time the sender stamped on the report, which is the sender's own clock
- weather: temperature, wind, humidity, pressure, rain, snow and light
- telemetry, with the station's channel names, units and scaling when it has sent them, and the raw values otherwise
- who relayed a third-party packet
Whatever could not be decoded is listed separately under "Partially decoded", with everything above it decoded successfully. For a position report from another station, the Position row also says how far away it was and in which direction, measured from your own station's last position. The header shows the date as well as the time for a packet that was not heard today.
Callsigns open their station page. Tap the Source, a message's Addressee, the
relaying station, or any station in the path graph: the sender, a digipeater that
repeated the packet, or the IGate that put it on APRS-IS. Hold a callsign to copy it.
Aliases like WIDE2-1 and the q-codes are not stations, so they are not links. An object
or item's name opens its own page.
The buttons at the top:
- Station opens the sending station's page.
- Map, on a position report, opens the map on that report's position. That is where the station was when it sent this packet, which is not always where it is now. The report's details open with it, unless the map's age filter hides a report that old; then the station's details open instead. For an object or item, the object's details open. Back returns to the packet.
- Conversation, on a message you sent or received, opens the conversation it belongs to. It does not appear for messages between other stations that you only overheard.
- Edit and send, on a packet from your own callsign (any SSID), opens it in the packet composer as a new packet, to change and send. It does not appear on another station's packets.
Older and Newer, under the header, step through the same station's packets without going back to the log.
The Path taken section draws the path as a graph. Digipeaters that actually repeated
the packet are marked (* = that hop repeated it), and internet routing is marked as
what it is: the globe-marked hops are APRS-IS routing (TCPIP and q-codes). Only the hops
before them were ever radios. When the packet came more than once, each later copy
gets its own path below that, so you can see every digipeater that carried it, and which
IGate put it on APRS-IS. At the bottom is a Hex dump of the whole frame, with the
characters beside the bytes, which you can copy out for analysis elsewhere.
Reception gaps, marked in place
When the app itself wasn't receiving, the log says so instead of letting the silence read as a quiet band. A RECEPTION PAUSED row appears inline, with how long reception was down, when, and why: the app was in the background, a connection went stale and was restarted, or the app was not running at all. See Background & battery for keeping reception alive with the screen off.
Exporting packets
There are two exports, for two jobs:
- EXPORT on the Packets tab writes exactly what is on screen, with your filters applied, so you get the packets you were just looking at and nothing else.
- Settings → Packet log exports the entire log with SAVE CAPTURE TO A FOLDER: every packet as received, one per line with timestamps. This is the raw feed and it is large, which is why it is deliberately not part of Backup.
Import and replay
The same Settings → Packet log screen reads captures back in. CHOOSE A CAPTURE FILE, and then either:
- IMPORT WITHOUT PLAYING files the whole capture at once, keeping the times the packets were originally heard. For reading a file rather than watching it.
- START REPLAY plays the capture out at 1×, 10×, or 60×, gaps between packets preserved, each packet stamped as heard now and mixed in with live traffic. For watching what the app does as the packets arrive.
Either way the packets go through the same parser and store as live traffic, so the map and the station list update from them too. They are recorded as arriving from a capture file, not off the air. Neither route transmits anything or answers a message inside the file.
How long the log is kept
The same Settings → Packet log screen has three windows under Keep:
- Keep packets for 7, 30, or 90 days, or ALL. Packets older than the window are deleted on their own, when the app starts and about once an hour after that. The default is 30 days. The same window applies to the stations and objects you have heard: one nothing has been heard from for that long is removed with its packets, and a killed object goes a day after its kill report. See how long stations are kept for what is never removed.
- Keep trails for 1, 7, or 30 days, or ALL. This is the position history behind the trails on the map. The default is 7 days.
- Keep coverage for 90 days, 1 year, 2 years, or ALL. This is the digipeater coverage map. The default is 2 years, far longer than the other two, because coverage is a record of where you have been able to get out rather than of what is happening now. It is stored as an aggregate, with one small row per place traffic came from rather than one per packet, so a long window costs very little.
The windows are independent: a short packet window does not shorten the trails or the coverage, and a long trail window does not keep packets. Messages and settings are never deleted by any of them, and neither are pinned stations, stations you have a conversation with, or your own callsigns and objects. ALL keeps everything until you clear the log by hand, with one exception: past 20,000 heard stations or 5,000 objects, the ones heard least recently are removed first, whatever the window.
Clearing the log
CLEAR PACKET LOG on the same screen deletes every recorded packet. It takes a second tap on a Confirm button that shows how many packets will go. There is no undo, and the screen suggests saving a capture first if you want to keep the raw feed. Trails on the map, messages, stations, and settings stay. A trail point whose packet has been cleared still shows its time, position, and speed; only the link to the raw packet is gone.
Last updated 2 October 2026