Device identification#13
Open
fromalexx wants to merge 13 commits into
Open
Conversation
- New DeviceIdentifier: parses tocalls.yaml line-by-line, matches tocall patterns (? and * globs) to device model names, caches in memory - New DeviceDbUpdater: downloads tocalls.yaml on a background thread from a user-configurable URL (default: aprsorg/aprs-deviceid on GitHub); respects auto-update and WiFi-only preferences - New DeviceIdPrefs activity: preference screen with auto-update toggle, WiFi-only toggle, editable URL, Reset to defaults, and Update now - StorageDatabase: added tocall column (DB_VERSION 4→5, migration via ALTER TABLE), stores ap.getDestinationCall() in addPosition - StationListAdapter: shows device name in yellowish text below course, hidden when tocall is unknown - APRSdroid: calls DeviceDbUpdater.updateIfAllowed() on startup Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
bf590f0 to
a9007d9
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.
Summary
This PR adds device identification to APRSdroid so stations can show what kind of radio, app, or tracker they are using directly in the station list and object list.
Instead of only showing the callsign and comment, APRSdroid can now recognize many common APRS clients and display a readable device label such as:
Yaesu: FTM-400DR (rig)Kenwood: TH-D74 (ht)Open Source: APRSdroid (app, Android)What this feature does
The new device identification feature helps you quickly understand what kind of station you are looking at.
It can identify devices from multiple common APRS mechanisms, including:
This means APRSdroid can now recognize a wider range of radios, handhelds, trackers, and software clients, even when different devices encode their identity in different ways.
How it appears in the app
When a station or object has recognizable device information, APRSdroid shows an additional line in the station list/object list with the detected device.
Examples:
Yaesu: FTM-400DR (rig)Kenwood: TH-D74 (ht)APRS4ROpen Source: APRSdroid (app, Android)The goal is to make the list more informative at a glance without requiring the user to inspect raw packets manually.
What kinds of stations this helps with
This is especially useful for:
How identification works
APRS clients identify themselves in different ways, so this feature supports more than one detection path.
1. TOCALL / destination-based identification
Many APRS clients identify themselves using the packet destination / TOCALL field.
APRSdroid can now read device definitions from the standard
tocalls.yamldata and use that to identify radios, trackers, and software.2. Mic-E based identification
Some devices encode identification using Mic-E suffix markers.
This allows APRSdroid to recognize devices such as some Yaesu and other APRS radios even when the TOCALL alone is not enough.
3. Kenwood comment-suffix identification
Some Kenwood radios identify themselves with suffix markers at the end of the raw comment.
This is important for devices like:
Kenwood: TH-D74 (ht)Kenwood: TH-D75 (ht)APRSdroid now preserves that identification at parse time so it is still available even after the app cleans up the displayed comment text.
How to use it
No special setup should be required for normal use.
Once running a build with this feature:
If the packet provides recognizable device metadata, APRSdroid will show it automatically.
Download
tocall.yamlIncluded in the change is a new menu option in Preferences called "Device Identification". In there, the user can specify the url to get the yaml file (I have seen issues where the file changes paths and project is no longer supported so it destroys the functionality in the app) and the ability to manually update it.