1089 lines
38 KiB
TypeScript
1089 lines
38 KiB
TypeScript
import { Address } from "./frame";
|
||
|
||
export type DeviceID = {
|
||
tocall: string;
|
||
vendor?: string;
|
||
model?: string;
|
||
class?: string;
|
||
os?: string;
|
||
contact?: string;
|
||
features?: string[];
|
||
};
|
||
|
||
export const getDeviceID = (callsign: string | Address): DeviceID | null => {
|
||
if (typeof callsign !== "string") {
|
||
callsign = callsign.call;
|
||
}
|
||
const base = callsign.split("-")[0].toUpperCase();
|
||
return knownDeviceIDs.get(base);
|
||
};
|
||
|
||
export default getDeviceID;
|
||
|
||
type Match = { value: DeviceID | null; prio: number } | null;
|
||
|
||
class Node {
|
||
children: Map<string, Node> = new Map();
|
||
value: DeviceID | null = null;
|
||
isEnd: boolean = false;
|
||
prio: number = 0;
|
||
}
|
||
|
||
class Trie {
|
||
private root: Node = new Node();
|
||
|
||
constructor(initial: DeviceID[] = []) {
|
||
for (const device of initial) {
|
||
this.insert(device);
|
||
}
|
||
}
|
||
|
||
insert(device: DeviceID): void {
|
||
let node = this.root;
|
||
let prio = 4;
|
||
|
||
if (device.tocall.includes("*")) prio = 1;
|
||
else if (device.tocall.includes("?")) prio = 2;
|
||
else if (device.tocall.includes("n")) prio = 3;
|
||
|
||
for (const char of device.tocall) {
|
||
if (!node.children.has(char)) {
|
||
node.children.set(char, new Node());
|
||
}
|
||
node = node.children.get(char)!;
|
||
}
|
||
node.isEnd = true;
|
||
node.value = device;
|
||
node.prio = prio;
|
||
}
|
||
|
||
get(callsign: string): DeviceID | null {
|
||
const result = this.search(this.root, callsign, 0);
|
||
return result ? result.value : null;
|
||
}
|
||
|
||
private search(node: Node, callsign: string, index: number): Match {
|
||
let best: Match = null;
|
||
|
||
if (node.children.has("*")) {
|
||
const star = node.children.get("*")!;
|
||
best = { value: star.value, prio: star.prio };
|
||
}
|
||
|
||
if (index === callsign.length) {
|
||
if (node.isEnd) {
|
||
if (!best || node.prio > best.prio) {
|
||
best = { value: node.value, prio: node.prio };
|
||
}
|
||
}
|
||
return best;
|
||
}
|
||
|
||
const char = callsign[index];
|
||
|
||
for (const [key, leaf] of node.children) {
|
||
let curr: Match = null;
|
||
|
||
if (key === char) {
|
||
curr = this.search(leaf, callsign, index + 1);
|
||
} else if (key === "?") {
|
||
curr = this.search(leaf, callsign, index + 1);
|
||
} else if (key === "n" && /\d/.test(char)) {
|
||
curr = this.search(leaf, callsign, index + 1);
|
||
}
|
||
|
||
// Update best if this branch returns a better match
|
||
if (curr && (!best || curr.prio > best.prio)) {
|
||
best = curr;
|
||
}
|
||
}
|
||
|
||
return best;
|
||
}
|
||
}
|
||
|
||
// Update from https://github.com/aprsorg/aprs-deviceid/blob/main/tocalls.yaml
|
||
const knownDeviceIDs = new Trie([
|
||
{ tocall: "AP1WWX", vendor: "TAPR", model: "T-238+", class: "wx" },
|
||
{ tocall: "AP4R??", vendor: "Open Source", model: "APRS4R", class: "software" },
|
||
{ tocall: "APAEP1", vendor: "Paraguay Space Agency (AEP)", model: "EIRUAPRSDIGIS&FV1", class: "satellite" },
|
||
{ tocall: "APAF??", model: "AFilter" },
|
||
{ tocall: "APAG??", model: "AGate" },
|
||
{ tocall: "APAGW", vendor: "SV2AGW", model: "AGWtracker", class: "software", os: "Windows" },
|
||
{ tocall: "APAGW?", vendor: "SV2AGW", model: "AGWtracker", class: "software", os: "Windows" },
|
||
{ tocall: "APAH??", model: "AHub" },
|
||
{
|
||
tocall: "APAIOR",
|
||
vendor: "J. Angelo Racoma DU2XXR/N2RAC",
|
||
model: "APRSPH net bot based on Ioreth",
|
||
class: "service",
|
||
os: "Linux",
|
||
contact: "info@aprsph.net",
|
||
features: ["messaging"]
|
||
},
|
||
{ tocall: "APALH*", vendor: "Retevis" },
|
||
{ tocall: "APALH1", vendor: "Retevis", model: "Ailunce H1", class: "ht" },
|
||
{ tocall: "APALHA", vendor: "Retevis", model: "Ailunce HA2", class: "ht" },
|
||
{ tocall: "APAM??", vendor: "Altus Metrum", model: "AltOS", class: "tracker" },
|
||
{
|
||
tocall: "APANC?",
|
||
vendor: "John Rokicki, KC1VMZ",
|
||
model: "APRS Net Central",
|
||
class: "service",
|
||
contact: "kc1vmz@gmail.com",
|
||
features: ["messaging"]
|
||
},
|
||
{ tocall: "APAND?", vendor: "Open Source", model: "APRSdroid", os: "Android", class: "app" },
|
||
{ tocall: "APAR??", vendor: "Øyvind, LA7ECA", model: "Arctic Tracker", class: "tracker", os: "embedded" },
|
||
{ tocall: "APAT16", vendor: "AnyTone", model: "AT-D168UV", class: "ht" },
|
||
{ tocall: "APAT51", vendor: "AnyTone", model: "AT-D578", class: "rig" },
|
||
{ tocall: "APAT81", vendor: "AnyTone", model: "AT-D878", class: "ht" },
|
||
{ tocall: "APAT89", vendor: "AnyTone", model: "AT-D890UV", class: "ht" },
|
||
{ tocall: "APAT??", vendor: "AnyTone" },
|
||
{
|
||
tocall: "APATAR",
|
||
vendor: "TA7W/OH2UDS Baris Dinc, TA6AD Emre Keles",
|
||
model: "ATA-R APRS Digipeater",
|
||
class: "digi"
|
||
},
|
||
{ tocall: "APAVT5", vendor: "SainSonic", model: "AP510", class: "tracker" },
|
||
{ tocall: "APAW??", vendor: "SV2AGW", model: "AGWPE", class: "software", os: "Windows" },
|
||
{ tocall: "APAX??", model: "AFilterX" },
|
||
{
|
||
tocall: "APB2MF",
|
||
vendor: "Mike, DL2MF",
|
||
model: "MF2APRS Radiosonde tracking tool",
|
||
class: "software",
|
||
os: "Windows"
|
||
},
|
||
{ tocall: "APBK??", vendor: "PY5BK", model: "Bravo Tracker", class: "tracker" },
|
||
{ tocall: "APBL??", vendor: "BigRedBee", model: "BeeLine GPS", class: "tracker" },
|
||
{ tocall: "APBM??", vendor: "R3ABM", model: "BrandMeister DMR" },
|
||
{ tocall: "APBPQ?", vendor: "John Wiseman, G8BPQ", model: "BPQ32", class: "software", os: "Windows" },
|
||
{ tocall: "APBSD?", vendor: "hambsd.org", model: "HamBSD" },
|
||
{ tocall: "APBT*", vendor: "BTECH", contact: "support@baofengtech.com" },
|
||
{ tocall: "APBT62", vendor: "BTECH", model: "DMR 6x2", class: "ht", contact: "support@baofengtech.com" },
|
||
{ tocall: "APBT72", vendor: "BTECH", model: "DA 7X2", class: "ht", contact: "support@baofengtech.com" },
|
||
{ tocall: "APBTUV", vendor: "BTECH", model: "UV-PRO", class: "ht", contact: "support@baofengtech.com" },
|
||
{ tocall: "APC???", vendor: "Rob Wittner, KZ5RW", model: "APRS/CE", class: "app" },
|
||
{ tocall: "APCDS0", vendor: "ZS6LMG", model: "cell tracker", class: "tracker" },
|
||
{ tocall: "APCLEY", vendor: "ZS6EY", model: "EYTraker", class: "tracker" },
|
||
{ tocall: "APCLEZ", vendor: "ZS6EY", model: "Telit EZ10 GSM application", class: "tracker" },
|
||
{ tocall: "APCLUB", model: "Brazil APRS network" },
|
||
{ tocall: "APCLWX", vendor: "ZS6EY", model: "EYWeather", class: "wx" },
|
||
{ tocall: "APCN??", vendor: "DG5OAW", model: "carNET" },
|
||
{ tocall: "APCSMS", vendor: "USNA", model: "Cosmos" },
|
||
{ tocall: "APCSS", vendor: "AMSAT", model: "CubeSatSim CubeSat Simulator" },
|
||
{ tocall: "APCTLK", vendor: "Open Source", model: "Codec2Talkie", class: "app" },
|
||
{ tocall: "APCWP8", vendor: "GM7HHB", model: "WinphoneAPRS", class: "app" },
|
||
{
|
||
tocall: "APD5T?",
|
||
vendor: "Geoffrey, F4FXL",
|
||
model: "Open Source DStarGateway",
|
||
class: "dstar",
|
||
contact: "f4fxl@dstargateway.digital"
|
||
},
|
||
{
|
||
tocall: "APDAGW",
|
||
vendor: "Diego Guevara, HJ3DAG",
|
||
model: "NodeJS APRS WX",
|
||
class: "wx",
|
||
contact: "hj3dag@gmail.com"
|
||
},
|
||
{ tocall: "APDF??", model: "Automatic DF units" },
|
||
{ tocall: "APDG??", vendor: "Jonathan, G4KLX", model: "ircDDB Gateway", class: "dstar" },
|
||
{ tocall: "APDI??", vendor: "Bela, HA5DI", model: "DIXPRS", class: "software" },
|
||
{ tocall: "APDNO?", vendor: "DO3SWW", model: "APRSduino", class: "tracker", os: "embedded" },
|
||
{
|
||
tocall: "APDP25",
|
||
vendor: "vk44.net",
|
||
model: "Project 25 (P25)",
|
||
class: "tracker",
|
||
os: "embedded",
|
||
contact: "support@vk44.net"
|
||
},
|
||
{ tocall: "APDPRS", vendor: "unknown", model: "D-Star APDPRS", class: "dstar" },
|
||
{ tocall: "APDR??", vendor: "Open Source", model: "APRSdroid", os: "Android", class: "app" },
|
||
{ tocall: "APDS??", vendor: "SP9UOB", model: "dsDIGI", os: "embedded" },
|
||
{ tocall: "APDST?", vendor: "SP9UOB", model: "dsTracker", os: "embedded" },
|
||
{ tocall: "APDT??", vendor: "unknown", model: "APRStouch Tone (DTMF)" },
|
||
{ tocall: "APDU??", vendor: "JA7UDE", model: "U2APRS", class: "app", os: "Android" },
|
||
{ tocall: "APDV??", vendor: "OE6PLD", model: "SSTV with APRS", class: "software" },
|
||
{ tocall: "APDW??", vendor: "WB2OSZ", model: "DireWolf" },
|
||
{ tocall: "APDnnn", vendor: "Open Source", model: "aprsd", class: "software", os: "Linux/Unix" },
|
||
{ tocall: "APE2A?", vendor: "NoseyNick, VA3NNW", model: "Email-2-APRS gateway", class: "software", os: "Linux/Unix" },
|
||
{ tocall: "APE???", model: "Telemetry devices" },
|
||
{ tocall: "APECAN", vendor: "KT5TK/DL7AD", model: "Pecan Pico APRS Balloon Tracker", class: "tracker" },
|
||
{ tocall: "APELK?", vendor: "WB8ELK", model: "Balloon tracker", class: "tracker" },
|
||
{
|
||
tocall: "APEML?",
|
||
vendor: "Leszek, SP9MLI",
|
||
model: "SP9MLI for WX, Telemetry",
|
||
class: "software",
|
||
contact: "sp9mli@gmail.com"
|
||
},
|
||
{
|
||
tocall: "APEP??",
|
||
vendor: "Patrick EGLOFF, TK5EP",
|
||
model: "LoRa WX station",
|
||
class: "wx",
|
||
os: "embedded",
|
||
contact: "pegloff@gmail.com"
|
||
},
|
||
{
|
||
tocall: "APERRB",
|
||
vendor: "KG5JNC",
|
||
model: "APRS Backend for Errbot",
|
||
class: "service",
|
||
contact: "me@kg5jnc.com",
|
||
features: ["messaging"]
|
||
},
|
||
{ tocall: "APERS?", vendor: "Jason, KG7YKZ", model: "Runner tracking", class: "tracker" },
|
||
{ tocall: "APERXQ", vendor: "PE1RXQ", model: "PE1RXQ APRS Tracker", class: "tracker" },
|
||
{ tocall: "APESP1", vendor: "LY3PH", model: "APRS-ESP", os: "embedded" },
|
||
{ tocall: "APESPG", vendor: "OH2TH", model: "ESP SmartBeacon APRS-IS Client", os: "embedded" },
|
||
{ tocall: "APESPW", vendor: "OH2TH", model: "ESP Weather Station APRS-IS Client", os: "embedded" },
|
||
{
|
||
tocall: "APETBT",
|
||
vendor: "PD7R",
|
||
model: "TBTracker Balloon Telemetry Tracker",
|
||
class: "tracker",
|
||
os: "embedded",
|
||
contact: "roel@kroes.com"
|
||
},
|
||
{ tocall: "APFG??", vendor: "KP4DJT", model: "Flood Gage", class: "software" },
|
||
{ tocall: "APFI??", vendor: "aprs.fi", class: "app" },
|
||
{ tocall: "APFII?", model: "iPhone/iPad app", vendor: "aprs.fi", os: "ios", class: "app" },
|
||
{
|
||
tocall: "APFMN?",
|
||
vendor: "Thomas Beiderwieden, DL3EL",
|
||
model: "FM-Funknetz HS Dashboard",
|
||
class: "service",
|
||
contact: "dl3el@darc.de"
|
||
},
|
||
{
|
||
tocall: "APFMO?",
|
||
vendor: "BG5ESN",
|
||
model: "FMO (NFM Over Internet)",
|
||
class: "gadget",
|
||
os: "embedded",
|
||
contact: "xifengzui@yeah.net"
|
||
},
|
||
{
|
||
tocall: "APFSYC",
|
||
vendor: "David McKenzie, K1FSY",
|
||
model: "FSY Packet Console",
|
||
class: "software",
|
||
contact: "k1fsy@vhfwiki.com"
|
||
},
|
||
{ tocall: "APGBLN", vendor: "NW5W", model: "GoBalloon", class: "tracker" },
|
||
{ tocall: "APGDT?", vendor: "VK4FAST", model: "Graphic Data Terminal" },
|
||
{
|
||
tocall: "APGKEY",
|
||
vendor: "Mohammad Zaki, 9W2KEY",
|
||
model: "9W2KEY iGate",
|
||
class: "igate",
|
||
contact: "mzakiab@gmail.com"
|
||
},
|
||
{ tocall: "APGO??", vendor: "AA3NJ", model: "APRS-Go", class: "app" },
|
||
{ tocall: "APHAX?", vendor: "PY2UEP", model: "SM2APRS SondeMonitor", class: "software", os: "Windows" },
|
||
{ tocall: "APHBL?", vendor: "KF7EEL", model: "HBLink D-APRS Gateway", class: "software" },
|
||
{ tocall: "APHH?", vendor: "Steven D. Bragg, KA9MVA", model: "HamHud", class: "tracker" },
|
||
{ tocall: "APHK??", vendor: "LA1BR", model: "Digipeater/tracker" },
|
||
{
|
||
tocall: "APHMEY",
|
||
vendor: "Tapio Heiskanen, OH2TH",
|
||
model: "APRS-IS Client for Athom Homey",
|
||
contact: "oh2th@iki.fi"
|
||
},
|
||
{ tocall: "APHPIA", vendor: "HP3ICC", model: "Arduino APRS" },
|
||
{ tocall: "APHPIB", vendor: "HP3ICC", model: "Python APRS Beacon" },
|
||
{ tocall: "APHPIW", vendor: "HP3ICC", model: "Python APRS WX" },
|
||
{ tocall: "APHRM?", vendor: "Giovanni, IW1CGW", model: "Meteo", class: "wx", contact: "iw1cgw@libero.it" },
|
||
{ tocall: "APHRT?", vendor: "Giovanni, IW1CGW", model: "Telemetry", contact: "iw1cgw@libero.it" },
|
||
{ tocall: "APHT??", vendor: "IU0AAC", model: "HMTracker", class: "tracker" },
|
||
{ tocall: "APHW??", vendor: "HamWAN" },
|
||
{ tocall: "API282", vendor: "Icom", model: "IC-2820", class: "dstar" },
|
||
{ tocall: "API31", vendor: "Icom", model: "IC-31", class: "dstar" },
|
||
{ tocall: "API410", vendor: "Icom", model: "IC-4100", class: "dstar" },
|
||
{ tocall: "API51", vendor: "Icom", model: "IC-51", class: "dstar" },
|
||
{ tocall: "API510", vendor: "Icom", model: "IC-5100", class: "dstar" },
|
||
{ tocall: "API710", vendor: "Icom", model: "IC-7100", class: "dstar" },
|
||
{ tocall: "API80", vendor: "Icom", model: "IC-80", class: "dstar" },
|
||
{ tocall: "API880", vendor: "Icom", model: "IC-880", class: "dstar" },
|
||
{ tocall: "API910", vendor: "Icom", model: "IC-9100", class: "dstar" },
|
||
{ tocall: "API92", vendor: "Icom", model: "IC-92", class: "dstar" },
|
||
{ tocall: "API970", vendor: "Icom", model: "IC-9700", class: "dstar" },
|
||
{ tocall: "API???", vendor: "Icom", model: "unknown", class: "dstar" },
|
||
{ tocall: "APIC??", vendor: "HA9MCQ", model: "PICiGATE" },
|
||
{ tocall: "APIE??", vendor: "W7KMV", model: "PiAPRS" },
|
||
{ tocall: "APIN??", vendor: "AB0WV", model: "PinPoint" },
|
||
{
|
||
tocall: "APIZCI",
|
||
vendor: "TA7W/OH2UDS Baris Dinc, TA6AD Emre Keles",
|
||
model: "hymTR IZCI Tracker",
|
||
class: "tracker",
|
||
os: "embedded"
|
||
},
|
||
{ tocall: "APJ8??", vendor: "KN4CRD", model: "JS8Call", class: "software" },
|
||
{ tocall: "APJA??", vendor: "K4HG & AE5PL", model: "JavAPRS" },
|
||
{ tocall: "APJE??", vendor: "Gregg Wonderly, W5GGW", model: "JeAPRS" },
|
||
{ tocall: "APJI??", vendor: "Peter Loveall, AE5PL", model: "jAPRSIgate", class: "software" },
|
||
{ tocall: "APJID2", vendor: "Peter Loveall, AE5PL", model: "D-Star APJID2", class: "dstar" },
|
||
{ tocall: "APJS??", vendor: "Peter Loveall, AE5PL", model: "javAPRSSrvr" },
|
||
{ tocall: "APJY??", vendor: "KA2DDO", model: "YAAC", class: "software" },
|
||
{ tocall: "APK003", vendor: "Kenwood", model: "TH-D72", class: "ht" },
|
||
{ tocall: "APK004", vendor: "Kenwood", model: "TH-D74", class: "ht" },
|
||
{ tocall: "APK005", vendor: "Kenwood", model: "TH-D75", class: "ht" },
|
||
{ tocall: "APK0??", vendor: "Kenwood", model: "TH-D7", class: "ht" },
|
||
{ tocall: "APK1??", vendor: "Kenwood", model: "TM-D700", class: "rig" },
|
||
{
|
||
tocall: "APKDXn",
|
||
vendor: "KelateDX, 9M2D",
|
||
model: "LAHKHUANO APRS",
|
||
class: "tracker",
|
||
os: "embedded",
|
||
contact: "mzakiab@gmail.com"
|
||
},
|
||
{
|
||
tocall: "APKEYn",
|
||
vendor: "9W2KEY",
|
||
model: "ATMega328P APRS",
|
||
class: "tracker",
|
||
os: "embedded",
|
||
contact: "mzakiab@gmail.com"
|
||
},
|
||
{
|
||
tocall: "APKHTW",
|
||
vendor: "Kip, W3SN",
|
||
model: "Tempest Weather Bridge",
|
||
class: "wx",
|
||
os: "embedded",
|
||
contact: "w3sn@moxracing.33mail.com"
|
||
},
|
||
{ tocall: "APKRAM", vendor: "kramstuff.com", model: "Ham Tracker", class: "app", os: "ios" },
|
||
{ tocall: "APLC??", vendor: "DL3DCW", model: "APRScube" },
|
||
{
|
||
tocall: "APLDAG",
|
||
vendor: "Inigo, EA2CQ",
|
||
model: "DAGA LoRa/APRS SOTA spotting",
|
||
class: "service",
|
||
contact: "ea2cq@irratia.org",
|
||
features: ["messaging"]
|
||
},
|
||
{
|
||
tocall: "APLDG?",
|
||
vendor: "Eddie, 9W2LWK",
|
||
model: "LoRAIGate",
|
||
class: "igate",
|
||
os: "embedded",
|
||
contact: "9w2lwk@gmail.com"
|
||
},
|
||
{
|
||
tocall: "APLDH?",
|
||
vendor: "Eddie, 9W2LWK",
|
||
model: "LoraTracker",
|
||
class: "tracker",
|
||
os: "embedded",
|
||
contact: "9w2lwk@gmail.com"
|
||
},
|
||
{ tocall: "APLDI?", vendor: "David, OK2DDS", model: "LoRa IGate/Digipeater", class: "digi" },
|
||
{ tocall: "APLDM?", vendor: "David, OK2DDS", model: "LoRa Meteostation", class: "wx" },
|
||
{
|
||
tocall: "APLER?",
|
||
vendor: "Ercan, TA3OER",
|
||
model: "TROY LoRa Tracker/iGate",
|
||
os: "embedded",
|
||
contact: "ta3oer@gmail.com"
|
||
},
|
||
{
|
||
tocall: "APLETK",
|
||
vendor: "DL5TKL",
|
||
model: "T-Echo",
|
||
class: "tracker",
|
||
os: "embedded",
|
||
contact: "cfr34k-git@tkolb.de"
|
||
},
|
||
{
|
||
tocall: "APLFG?",
|
||
vendor: "Gabor, HG3FUG",
|
||
model: "LoRa WX station",
|
||
class: "wx",
|
||
os: "embedded",
|
||
contact: "hg3fug@fazi.hu"
|
||
},
|
||
{
|
||
tocall: "APLFL?",
|
||
vendor: "Damian, SQ2CPA",
|
||
model: "LoRa/APRS Balloon",
|
||
class: "tracker",
|
||
os: "embedded",
|
||
contact: "sq2cpa@gmail.com"
|
||
},
|
||
{ tocall: "APLFM?", vendor: "DO1MA", model: "FemtoAPRS", class: "tracker", os: "embedded" },
|
||
{ tocall: "APLG??", vendor: "OE5BPA", model: "LoRa Gateway/Digipeater", class: "digi" },
|
||
{
|
||
tocall: "APLHB9",
|
||
vendor: "SWISS-ARTG",
|
||
model: "LoRa iGate RPI",
|
||
class: "igate",
|
||
os: "Linux/Unix",
|
||
contact: "hb9pae@gmail.com"
|
||
},
|
||
{
|
||
tocall: "APLHI?",
|
||
vendor: "Giovanni, IW1CGW",
|
||
model: "LoRa IGate/Digipeater/Telemetry",
|
||
class: "digi",
|
||
contact: "iw1cgw@libero.it"
|
||
},
|
||
{
|
||
tocall: "APLHM?",
|
||
vendor: "Giovanni, IW1CGW",
|
||
model: "LoRa Meteostation",
|
||
class: "wx",
|
||
contact: "iw1cgw@libero.it"
|
||
},
|
||
{ tocall: "APLIF?", vendor: "TA5Y", model: "TIF LORA APRS I-GATE", class: "igate" },
|
||
{ tocall: "APLIG?", vendor: "TA2MUN/TA9OHC", model: "LightAPRS Tracker", class: "tracker" },
|
||
{ tocall: "APLLO?", vendor: "HB4LO", model: "HAB BOT", class: "tracker", contact: "david.perrin@hb9hiz.ch" },
|
||
{ tocall: "APLM??", vendor: "WA0TQG", class: "software" },
|
||
{ tocall: "APLO??", vendor: "SQ9MDD", model: "LoRa KISS TNC/Tracker", class: "tracker" },
|
||
{
|
||
tocall: "APLP0?",
|
||
vendor: "SQ9P",
|
||
model: "fajne digi",
|
||
class: "digi",
|
||
os: "embedded",
|
||
contact: "sq9p.peter@gmail.com"
|
||
},
|
||
{
|
||
tocall: "APLP1?",
|
||
vendor: "SQ9P",
|
||
model: "LORA/FSK/AFSK fajny tracker",
|
||
class: "tracker",
|
||
os: "embedded",
|
||
contact: "sq9p.peter@gmail.com"
|
||
},
|
||
{ tocall: "APLPS?", vendor: "Jose, XE3JAC", model: "ESP-32 LoRa", os: "embedded", contact: "xe3jac@gmail.com" },
|
||
{ tocall: "APLRF?", vendor: "Damian, SQ2CPA", model: "LoRa APRS", os: "embedded", contact: "sq2cpa@gmail.com" },
|
||
{
|
||
tocall: "APLRG?",
|
||
vendor: "Ricardo, CA2RXU",
|
||
model: "ESP32 LoRa iGate",
|
||
class: "igate",
|
||
os: "embedded",
|
||
contact: "richonguzman@gmail.com"
|
||
},
|
||
{
|
||
tocall: "APLRM?",
|
||
vendor: "Railab Srl, IU2TZK",
|
||
model: "Railab LoRa board",
|
||
class: "tracker",
|
||
os: "embedded",
|
||
contact: "support@railab.com"
|
||
},
|
||
{
|
||
tocall: "APLRS?",
|
||
vendor: "Railab Srl, IU2TZK",
|
||
model: "Railab LoRa board",
|
||
class: "igate",
|
||
os: "embedded",
|
||
contact: "support@railab.com"
|
||
},
|
||
{
|
||
tocall: "APLRT?",
|
||
vendor: "Ricardo, CA2RXU",
|
||
model: "ESP32 LoRa Tracker",
|
||
class: "tracker",
|
||
os: "embedded",
|
||
contact: "richonguzman@gmail.com"
|
||
},
|
||
{ tocall: "APLS??", vendor: "SARIMESH", model: "SARIMESH", class: "software" },
|
||
{ tocall: "APLT??", vendor: "OE5BPA", model: "LoRa Tracker", class: "tracker" },
|
||
{
|
||
tocall: "APLU0?",
|
||
vendor: "SP9UP",
|
||
model: "ESP32/SX12xx LoRa iGate / Digi",
|
||
class: "digi",
|
||
os: "embedded",
|
||
contact: "wajdzik.m@gmail.com"
|
||
},
|
||
{
|
||
tocall: "APLU1?",
|
||
vendor: "SP9UP",
|
||
model: "ESP32/SX12xx LoRa Tracker",
|
||
class: "tracker",
|
||
os: "embedded",
|
||
contact: "wajdzik.m@gmail.com"
|
||
},
|
||
{ tocall: "APLZA?", vendor: "Huang Xuewu, BD5HTY", model: "LoRa", os: "embedded", contact: "bd5hty@gmail.com" },
|
||
{ tocall: "APLZX?", vendor: "N1AF", model: "LoRa-APRS", os: "embedded", contact: "lora-aprs@n1af.org" },
|
||
{ tocall: "APMAIL", vendor: "Mike, NA7Q", model: "APRS Mailbox", class: "service", contact: "mike.ph4@gmail.com" },
|
||
{
|
||
tocall: "APMBL3",
|
||
vendor: "Mobilinkd LLC",
|
||
model: "TNC3",
|
||
class: "digi",
|
||
os: "embedded",
|
||
contact: "support@mobilinkd.com"
|
||
},
|
||
{
|
||
tocall: "APMBL4",
|
||
vendor: "Mobilinkd LLC",
|
||
model: "TNC4",
|
||
class: "digi",
|
||
os: "embedded",
|
||
contact: "support@mobilinkd.com"
|
||
},
|
||
{ tocall: "APMBL?", vendor: "Mobilinkd LLC", contact: "support@mobilinkd.com" },
|
||
{
|
||
tocall: "APMBLN",
|
||
vendor: "Mobilinkd LLC",
|
||
model: "NucleoTNC",
|
||
class: "digi",
|
||
os: "embedded",
|
||
contact: "support@mobilinkd.com"
|
||
},
|
||
{ tocall: "APMG??", vendor: "Alex, AB0TJ", model: "PiCrumbs and MiniGate", class: "software" },
|
||
{ tocall: "APMI01", vendor: "Microsat", os: "embedded", model: "WX3in1" },
|
||
{ tocall: "APMI02", vendor: "Microsat", os: "embedded", model: "WXEth" },
|
||
{ tocall: "APMI03", vendor: "Microsat", os: "embedded", model: "PLXDigi" },
|
||
{ tocall: "APMI04", vendor: "Microsat", os: "embedded", model: "WX3in1 Mini" },
|
||
{ tocall: "APMI05", vendor: "Microsat", os: "embedded", model: "PLXTracker" },
|
||
{ tocall: "APMI06", vendor: "Microsat", os: "embedded", model: "WX3in1 Plus 2.0" },
|
||
{ tocall: "APMI??", vendor: "Microsat", os: "embedded" },
|
||
{ tocall: "APMON?", vendor: "Amon Schumann, DL9AS", model: "APRS Balloon Tracker", class: "tracker", os: "embedded" },
|
||
{
|
||
tocall: "APMPAD",
|
||
vendor: "DF1JSL",
|
||
model: "Multi-Purpose APRS Daemon",
|
||
class: "service",
|
||
contact: "joerg.schultze.lutter@gmail.com",
|
||
features: ["messaging"]
|
||
},
|
||
{ tocall: "APMQ??", vendor: "WB2OSZ", model: "Ham Radio of Things" },
|
||
{ tocall: "APMT??", vendor: "LZ1PPL", model: "Micro APRS Tracker", class: "tracker" },
|
||
{
|
||
tocall: "APN0A?",
|
||
vendor: "Jeremy Cooper, KE6JJJ",
|
||
model: "N0ARY Full Service Packet BBS",
|
||
class: "daemon",
|
||
os: "Linux/Unix",
|
||
contact: "jeremy.gthb@baymoo.org"
|
||
},
|
||
{ tocall: "APN102", vendor: "Gregg Wonderly, W5GGW", model: "APRSNow", class: "app", os: "ipad" },
|
||
{ tocall: "APN2??", vendor: "VE4KLM", model: "NOSaprs for JNOS 2.0" },
|
||
{ tocall: "APN3??", vendor: "Kantronics", model: "KPC-3" },
|
||
{ tocall: "APN9??", vendor: "Kantronics", model: "KPC-9612" },
|
||
{
|
||
tocall: "APNCM",
|
||
vendor: "Keith Kaiser, WA0TJT",
|
||
model: "Net Control Manager",
|
||
class: "software",
|
||
os: "browser",
|
||
contact: "wa0tjt@gmail.com"
|
||
},
|
||
{ tocall: "APND??", vendor: "PE1MEW", model: "DIGI_NED" },
|
||
{
|
||
tocall: "APNEO?",
|
||
vendor: "chevybowtie",
|
||
model: "nesdr-aprs-igate",
|
||
class: "daemon",
|
||
os: "Linux",
|
||
contact: "GitHub - chevybowtie"
|
||
},
|
||
{ tocall: "APNIC4", vendor: "SQ5EKU", model: "BidaTrak", class: "tracker", os: "embedded" },
|
||
{ tocall: "APNIFC", vendor: "Mike, NA7Q", model: "National Interagency Fire Center Alerts", class: "service" },
|
||
{
|
||
tocall: "APNJS?",
|
||
vendor: "Julien Sansonnens, HB9HRD",
|
||
model: "Web messaging service",
|
||
class: "service",
|
||
contact: "julien.owls@gmail.com",
|
||
features: ["messaging"]
|
||
},
|
||
{ tocall: "APNK01", vendor: "Kenwood", model: "TM-D700", class: "rig", features: ["messaging"] },
|
||
{ tocall: "APNK80", vendor: "Kantronics", model: "KAM" },
|
||
{ tocall: "APNKMP", vendor: "Kantronics", model: "KAM+" },
|
||
{ tocall: "APNKMX", vendor: "Kantronics", model: "KAM-XL" },
|
||
{ tocall: "APNL??", vendor: "OE5DXL, OE5HPM", model: "dxlAPRS", class: "daemon", os: "Linux/Unix" },
|
||
{ tocall: "APNM??", vendor: "MFJ", model: "TNC" },
|
||
{ tocall: "APNP??", vendor: "PacComm", model: "TNC" },
|
||
{ tocall: "APNT??", vendor: "SV2AGW", model: "TNT TNC as a digipeater", class: "digi" },
|
||
{ tocall: "APNU??", vendor: "IW3FQG", model: "UIdigi", class: "digi" },
|
||
{ tocall: "APNV0?", vendor: "SQ8L", model: "VP-Digi", os: "embedded", class: "digi" },
|
||
{ tocall: "APNV1?", vendor: "SQ8L", model: "VP-Node", os: "embedded" },
|
||
{ tocall: "APNV2?", vendor: "SQ8L", model: "VP-Tracker", class: "tracker" },
|
||
{ tocall: "APNV??", vendor: "SQ8L" },
|
||
{ tocall: "APNW??", vendor: "SQ3FYK", model: "WX3in1", os: "embedded" },
|
||
{ tocall: "APNX??", vendor: "K6DBG", model: "TNC-X" },
|
||
{ tocall: "APOA??", vendor: "OpenAPRS", model: "app", class: "app", os: "ios" },
|
||
{ tocall: "APOCSG", vendor: "N0AGI", model: "POCSAG" },
|
||
{
|
||
tocall: "APODOT",
|
||
vendor: "Mike, NA7Q",
|
||
model: "Oregon Department of Transportion Traffic Alerts",
|
||
class: "service"
|
||
},
|
||
{ tocall: "APOG7?", vendor: "OpenGD77", model: "OpenGD77", os: "embedded", contact: "Roger VK3KYY/G4KYF" },
|
||
{ tocall: "APOLU?", vendor: "AMSAT-LU", model: "Oscar", class: "satellite" },
|
||
{ tocall: "APONE?", vendor: "aprs.one" },
|
||
{ tocall: "APONEA", vendor: "aprs.one", model: "Mobile app tracker", class: "app" },
|
||
{ tocall: "APONET", vendor: "aprs.one", model: "Hardware tracker", class: "tracker" },
|
||
{ tocall: "APOPEN", vendor: "David Platt, AE6EO", model: "OpenTNC", os: "embedded", contact: "dplatt@radagast.org" },
|
||
{ tocall: "APOPYT", vendor: "Mike, NA7Q", model: "NA7Q Messenger", class: "software", contact: "mike.ph4@gmail.com" },
|
||
{
|
||
tocall: "APOSAT",
|
||
vendor: "Mike, NA7Q",
|
||
model: "Open Source Satellite Gateway",
|
||
class: "service",
|
||
contact: "mike.ph4@gmail.com"
|
||
},
|
||
{
|
||
tocall: "APOSB",
|
||
vendor: "SharkRF",
|
||
model: "openSPOT3",
|
||
class: "gadget",
|
||
os: "embedded",
|
||
contact: "info@sharkrf.com"
|
||
},
|
||
{
|
||
tocall: "APOSB4",
|
||
vendor: "SharkRF",
|
||
model: "openSPOT4",
|
||
class: "gadget",
|
||
os: "embedded",
|
||
contact: "info@sharkrf.com"
|
||
},
|
||
{ tocall: "APOSB?", vendor: "SharkRF", contact: "info@sharkrf.com" },
|
||
{ tocall: "APOSBM", vendor: "SharkRF", model: "M1KE", class: "gadget", os: "embedded", contact: "info@sharkrf.com" },
|
||
{
|
||
tocall: "APOSMS",
|
||
vendor: "Mike, NA7Q",
|
||
model: "Open Source SMS Gateway",
|
||
class: "service",
|
||
contact: "mike.ph4@gmail.com",
|
||
features: ["messaging"]
|
||
},
|
||
{
|
||
tocall: "APOSW?",
|
||
vendor: "SharkRF",
|
||
model: "openSPOT2",
|
||
class: "gadget",
|
||
os: "embedded",
|
||
contact: "info@sharkrf.com"
|
||
},
|
||
{ tocall: "APOT??", vendor: "Argent Data Systems", model: "OpenTracker", class: "tracker" },
|
||
{ tocall: "APOVU?", vendor: "K J Somaiya Institute", model: "BeliefSat" },
|
||
{ tocall: "APOZ??", vendor: "OZ1EKD, OZ7HVO", model: "KissOZ", class: "tracker" },
|
||
{ tocall: "APP6??", model: "APRSlib" },
|
||
{
|
||
tocall: "APPCO?",
|
||
vendor: "RadCommSoft, LLC",
|
||
model: "PicoAPRSTracker",
|
||
class: "tracker",
|
||
os: "embedded",
|
||
contact: "ab4mw@radcommsoft.com"
|
||
},
|
||
{ tocall: "APPIC?", vendor: "DB1NTO", model: "PicoAPRS", class: "tracker" },
|
||
{ tocall: "APPM??", vendor: "DL1MX", model: "rtl-sdr Python iGate", class: "software" },
|
||
{
|
||
tocall: "APPRIS",
|
||
vendor: "DF1JSL",
|
||
model: "Apprise APRS plugin",
|
||
class: "service",
|
||
contact: "joerg.schultze.lutter@gmail.com",
|
||
features: ["messaging"]
|
||
},
|
||
{
|
||
tocall: "APPRJ?",
|
||
vendor: "Custom Digital Services, LLC",
|
||
model: "Traveler's ptFlex and ptSolar trackers",
|
||
class: "tracker",
|
||
os: "embedded",
|
||
contact: "zack@custom-ds.com"
|
||
},
|
||
{
|
||
tocall: "APPRO?",
|
||
vendor: "KO6IKR",
|
||
model: "PyTNC Pro",
|
||
class: "software",
|
||
os: "Windows",
|
||
contact: "KO6IKR@gmail.com"
|
||
},
|
||
{
|
||
tocall: "APPS??",
|
||
vendor: "Øyvind, LA7ECA (for the Norwegian Radio Relay League)",
|
||
model: "Polaric Server",
|
||
class: "software",
|
||
os: "Linux"
|
||
},
|
||
{ tocall: "APPT??", vendor: "JF6LZE", model: "KetaiTracker", class: "tracker" },
|
||
{
|
||
tocall: "APQTH?",
|
||
vendor: "Weston Bustraan, W8WJB",
|
||
model: "QTH.app",
|
||
class: "software",
|
||
os: "macOS",
|
||
features: ["messaging"]
|
||
},
|
||
{
|
||
tocall: "APQUIZ",
|
||
vendor: "John Rokicki, KC1VMZ",
|
||
model: "QUIZME APRS Quizmaster",
|
||
class: "service",
|
||
contact: "kc1vmz@gmail.com",
|
||
features: ["messaging"]
|
||
},
|
||
{ tocall: "APR2MF", vendor: "Mike, DL2MF", model: "MF2wxAPRS Tinkerforge gateway", class: "wx", os: "Windows" },
|
||
{ tocall: "APR8??", vendor: "Bob Bruninga, WB4APR", model: "APRSdos", class: "software" },
|
||
{ tocall: "APRARX", vendor: "Open Source", model: "radiosonde_auto_rx", class: "software", os: "Linux/Unix" },
|
||
{
|
||
tocall: "APREST",
|
||
vendor: "cwop.rest",
|
||
model: "HTTP - TCP CWOP Packet Submission",
|
||
class: "service",
|
||
contact: "leo@herzog.tech"
|
||
},
|
||
{ tocall: "APRFG?", vendor: "RF.Guru", contact: "info@rf.guru" },
|
||
{ tocall: "APRFGB", vendor: "RF.Guru", model: "APRS LoRa Pager", os: "embedded", contact: "info@rf.guru" },
|
||
{
|
||
tocall: "APRFGD",
|
||
vendor: "RF.Guru",
|
||
model: "APRS Digipeater",
|
||
class: "digi",
|
||
os: "embedded",
|
||
contact: "info@rf.guru"
|
||
},
|
||
{ tocall: "APRFGH", vendor: "RF.Guru", model: "Hotspot", class: "rig", os: "embedded", contact: "info@rf.guru" },
|
||
{
|
||
tocall: "APRFGI",
|
||
vendor: "RF.Guru",
|
||
model: "LoRa APRS iGate",
|
||
class: "igate",
|
||
os: "embedded",
|
||
contact: "info@rf.guru"
|
||
},
|
||
{
|
||
tocall: "APRFGL",
|
||
vendor: "RF.Guru",
|
||
model: "Lora APRS Digipeater",
|
||
class: "digi",
|
||
os: "embedded",
|
||
contact: "info@rf.guru"
|
||
},
|
||
{ tocall: "APRFGM", vendor: "RF.Guru", model: "Mobile Radio", class: "rig", os: "embedded", contact: "info@rf.guru" },
|
||
{
|
||
tocall: "APRFGP",
|
||
vendor: "RF.Guru",
|
||
model: "Portable Radio",
|
||
class: "ht",
|
||
os: "embedded",
|
||
contact: "info@rf.guru"
|
||
},
|
||
{ tocall: "APRFGR", vendor: "RF.Guru", model: "Repeater", class: "rig", os: "embedded", contact: "info@rf.guru" },
|
||
{
|
||
tocall: "APRFGT",
|
||
vendor: "RF.Guru",
|
||
model: "LoRa APRS Tracker",
|
||
class: "tracker",
|
||
os: "embedded",
|
||
contact: "info@rf.guru"
|
||
},
|
||
{
|
||
tocall: "APRFGW",
|
||
vendor: "RF.Guru",
|
||
model: "LoRa APRS Weather Station",
|
||
class: "wx",
|
||
os: "embedded",
|
||
contact: "info@rf.guru"
|
||
},
|
||
{
|
||
tocall: "APRFTH",
|
||
vendor: "Xian Stannard 2E1IPS & Chung Poon M7UNG",
|
||
model: "Treasure Hunt Service",
|
||
class: "service",
|
||
contact: "maintainers@rftrsr.net",
|
||
features: ["messaging"]
|
||
},
|
||
{ tocall: "APRG??", vendor: "OH2GVE", model: "aprsg", class: "software", os: "Linux/Unix" },
|
||
{ tocall: "APRHH?", vendor: "Steven D. Bragg, KA9MVA", model: "HamHud", class: "tracker" },
|
||
{
|
||
tocall: "APRKEY",
|
||
vendor: "Mohammad Zaki, 9W2KEY",
|
||
model: "MYANET APRS Bot",
|
||
class: "service",
|
||
os: "Linux",
|
||
contact: "mzakiab@gmail.com"
|
||
},
|
||
{
|
||
tocall: "APRM20",
|
||
vendor: "Open Source",
|
||
model: "M20 radiosonde",
|
||
class: "tracker",
|
||
os: "embedded",
|
||
contact: "pawel.sq2ips@gmail.com"
|
||
},
|
||
{
|
||
tocall: "APRNFW",
|
||
vendor: "Franek SP5FRA",
|
||
model: "RS41-NFW",
|
||
class: "tracker",
|
||
os: "embedded",
|
||
contact: "franeklada18@gmail.com"
|
||
},
|
||
{ tocall: "APRNOW", vendor: "Gregg Wonderly, W5GGW", model: "APRSNow", class: "app", os: "ipad" },
|
||
{
|
||
tocall: "APRPI?",
|
||
vendor: "TA2KVC",
|
||
model: "Raspberry Pi APRS / Pico W APRS",
|
||
class: "tracker",
|
||
contact: "volkancevik@live.com"
|
||
},
|
||
{
|
||
tocall: "APRPJH",
|
||
vendor: "Piju, 9M2PJU",
|
||
model: "9M2PJU APRS Heat Bot",
|
||
class: "service",
|
||
contact: "9m2pju@hamradio.my"
|
||
},
|
||
{
|
||
tocall: "APRPJM",
|
||
vendor: "Piju, 9M2PJU",
|
||
model: "APRSMY Net Bot",
|
||
class: "service",
|
||
contact: "9m2pju@hamradio.my"
|
||
},
|
||
{
|
||
tocall: "APRPJU",
|
||
vendor: "Piju, 9M2PJU",
|
||
model: "9M2PJU APRS Bot",
|
||
class: "daemon",
|
||
contact: "9m2pju@hamradio.my",
|
||
features: ["messaging"]
|
||
},
|
||
{
|
||
tocall: "APRPJW",
|
||
vendor: "Piju, 9M2PJU",
|
||
model: "9M2PJU APRS WX Bot",
|
||
class: "service",
|
||
contact: "9m2pju@hamradio.my"
|
||
},
|
||
{
|
||
tocall: "APRPR?",
|
||
vendor: "Robert DM4RW, Peter DL6MAA",
|
||
model: "Teensy RPR TNC",
|
||
class: "tracker",
|
||
os: "embedded",
|
||
contact: "dm4rw@skywaves.de"
|
||
},
|
||
{ tocall: "APRRDZ", model: "rdzTTGOsonde", vendor: "DL9RDZ", class: "tracker" },
|
||
{
|
||
tocall: "APRRES",
|
||
vendor: "xssfox",
|
||
model: "APRS-RepeaterRescue",
|
||
class: "network",
|
||
os: "embedded",
|
||
contact: "repeater-rescue@michaela.lgbt",
|
||
features: ["messaging"]
|
||
},
|
||
{
|
||
tocall: "APRRF?",
|
||
vendor: "RRF - Réseau des Répéteurs Francophones",
|
||
model: "Tracker for RRF",
|
||
class: "tracker",
|
||
os: "embedded",
|
||
contact: "f1evm@f1evm.fr",
|
||
features: ["messaging"]
|
||
},
|
||
{ tocall: "APRT??", vendor: "Motorola", model: "MotoTRBO" },
|
||
{ tocall: "APRS", vendor: "Unknown", model: "Unknown" },
|
||
{ tocall: "APRX??", vendor: "Kenneth W. Finnegan, W6KWF", model: "Aprx", class: "igate", os: "Linux/Unix" },
|
||
{ tocall: "APS???", vendor: "Brent Hildebrand, KH2Z", model: "APRS+SA", class: "software" },
|
||
{ tocall: "APSAR", vendor: "ZL4FOX", model: "SARTrack", class: "software", os: "Windows" },
|
||
{ tocall: "APSC??", vendor: "OH2MQK, OH7LZB", model: "aprsc", class: "software" },
|
||
{ tocall: "APSDA?", vendor: "APSD Developers", model: "APSD", class: "software", contact: "contact@apsd.app" },
|
||
{
|
||
tocall: "APSDR?",
|
||
vendor: "Marcus Roskosch, DL8MRE",
|
||
model: "sdr-control",
|
||
class: "app",
|
||
contact: "aprs@ham-radio-apps.com"
|
||
},
|
||
{ tocall: "APSF??", vendor: "F5OPV, SFCP_LABS", model: "embedded APRS devices", os: "embedded" },
|
||
{ tocall: "APSFLG", vendor: "F5OPV, SFCP_LABS", model: "LoRa/APRS Gateway", class: "digi", os: "embedded" },
|
||
{ tocall: "APSFRP", vendor: "F5OPV, SFCP_LABS", model: "VHF/UHF Repeater", os: "embedded" },
|
||
{ tocall: "APSFTL", vendor: "F5OPV, SFCP_LABS", model: "LoRa/APRS Telemetry Reporter", os: "embedded" },
|
||
{ tocall: "APSFWX", vendor: "F5OPV, SFCP_LABS", model: "embedded Weather Station", class: "wx", os: "embedded" },
|
||
{
|
||
tocall: "APSIGK",
|
||
vendor: "Henri Bergius, DF4HB",
|
||
model: "Signal K APRS Plugin",
|
||
class: "service",
|
||
contact: "henri.bergius@iki.fi"
|
||
},
|
||
{ tocall: "APSK63", vendor: "Chris Moulding, G4HYG", model: "APRS Messenger", class: "software", os: "Windows" },
|
||
{ tocall: "APSMS?", vendor: "Paul Dufresne", model: "SMS gateway", class: "software" },
|
||
{
|
||
tocall: "APSN01",
|
||
vendor: "CSN Technologies Inc.",
|
||
model: "iGateMini",
|
||
contact: "info@igatemini.com",
|
||
os: "embedded",
|
||
features: ["messaging"]
|
||
},
|
||
{ tocall: "APSN??", vendor: "CSN Technologies Inc." },
|
||
{ tocall: "APSRF?", vendor: "SoftRF", model: "Ham Edition", class: "tracker", os: "embedded" },
|
||
{ tocall: "APSTAR", vendor: "AllStar Link LLC", model: "Asterisk/app_rpt", class: "daemon", os: "Linux/Unix" },
|
||
{ tocall: "APSTM?", vendor: "W7QO", model: "Balloon tracker", class: "tracker" },
|
||
{ tocall: "APSTPO", vendor: "N0AGI", model: "Satellite Tracking and Operations", class: "software" },
|
||
{
|
||
tocall: "APSVX?",
|
||
vendor: "Tobias Blomberg, SM0SVX",
|
||
model: "SvxLink",
|
||
class: "daemon",
|
||
os: "Linux/Unix",
|
||
contact: "aprs-deviceid@cyberspejs.net"
|
||
},
|
||
{ tocall: "APT2??", vendor: "Byonics", model: "TinyTrak2", class: "tracker" },
|
||
{ tocall: "APT3??", vendor: "Byonics", model: "TinyTrak3", class: "tracker" },
|
||
{ tocall: "APT4??", vendor: "Byonics", model: "TinyTrak4", class: "tracker" },
|
||
{ tocall: "APTB??", vendor: "BG5HHP", model: "TinyAPRS" },
|
||
{ tocall: "APTCHE", vendor: "PU3IKE", model: "TcheTracker, Tcheduino", class: "tracker" },
|
||
{ tocall: "APTCMA", vendor: "Cleber, PU1CMA", model: "CAPI Tracker", class: "tracker" },
|
||
{
|
||
tocall: "APTEMP",
|
||
vendor: "KL7AF",
|
||
model: "APRS-Tempest Weather Gateway",
|
||
class: "wx",
|
||
os: "Linux/Unix",
|
||
contact: "kl7af@foghaven.net"
|
||
},
|
||
{
|
||
tocall: "APTGIK",
|
||
vendor: "Juliet Delta, 9M4GIK",
|
||
model: "APRS Melaka",
|
||
os: "embedded",
|
||
contact: "9m2ikr@gmail.com"
|
||
},
|
||
{
|
||
tocall: "APTHUR",
|
||
model: "APRSThursday weekly event mapbot daemon",
|
||
contact: "harihend1973@gmail.com",
|
||
vendor: "YD0BCX",
|
||
class: "service",
|
||
os: "Linux/Unix",
|
||
features: ["messaging"]
|
||
},
|
||
{ tocall: "APTKJ?", vendor: "W9JAJ", model: "ATTiny APRS Tracker", os: "embedded" },
|
||
{
|
||
tocall: "APTKVB",
|
||
vendor: "IT9KVB",
|
||
model: "Python APRS QTH and Weather-Station",
|
||
class: "daemon",
|
||
contact: "it9kvb@gmail.com"
|
||
},
|
||
{ tocall: "APTLVC", vendor: "TA5LVC", model: "TR80 APRS Tracker", class: "tracker" },
|
||
{ tocall: "APTNG?", vendor: "Filip YU1TTN", model: "Tango Tracker", class: "tracker" },
|
||
{ tocall: "APTPN?", vendor: "KN4ORB", model: "TARPN Packet Node Tracker", class: "tracker" },
|
||
{ tocall: "APTR??", vendor: "Motorola", model: "MotoTRBO" },
|
||
{ tocall: "APTSLA", vendor: "HA2NON", model: "tesla-aprs", class: "daemon", contact: "nonoo@nonoo.hu" },
|
||
{ tocall: "APTT*", vendor: "Byonics", model: "TinyTrak", class: "tracker" },
|
||
{
|
||
tocall: "APTUR?",
|
||
vendor: "aprs.ai, TA7HBK",
|
||
model: "Türkiye'nin APRS Uygulaması",
|
||
class: "app",
|
||
contact: "73@aprs.ai",
|
||
features: ["messaging"]
|
||
},
|
||
{ tocall: "APTW??", vendor: "Byonics", model: "WXTrak", class: "wx" },
|
||
{ tocall: "APU1??", vendor: "Roger Barker, G4IDE", model: "UI-View16", class: "software", os: "Windows" },
|
||
{ tocall: "APU2*", vendor: "Roger Barker, G4IDE", model: "UI-View32", class: "software", os: "Windows" },
|
||
{ tocall: "APUDR?", vendor: "NW Digital Radio", model: "UDR" },
|
||
{ tocall: "APVE??", vendor: "unknown", model: "EchoLink" },
|
||
{ tocall: "APVM??", vendor: "Digital Radio China Club", model: "DRCC-DVM", class: "igate" },
|
||
{ tocall: "APVR??", vendor: "unknown", model: "IRLP" },
|
||
{
|
||
tocall: "APW2W?",
|
||
vendor: "Joachim Sonnabend, DG3FBL",
|
||
model: "WiresX2Web Software",
|
||
class: "software",
|
||
os: "Windows",
|
||
contact: "mail@dg3fbl.de"
|
||
},
|
||
{
|
||
tocall: "APW9??",
|
||
vendor: "Mile Strk, 9A9Y",
|
||
model: "WX Katarina",
|
||
class: "wx",
|
||
os: "embedded",
|
||
features: ["messaging"]
|
||
},
|
||
{ tocall: "APWA??", vendor: "KJ4ERJ", model: "APRSISCE", class: "software", os: "Android" },
|
||
{
|
||
tocall: "APWEE?",
|
||
vendor: "Tom Keffer and Matthew Wall",
|
||
model: "WeeWX Weather Software",
|
||
class: "software",
|
||
os: "Linux/Unix"
|
||
},
|
||
{
|
||
tocall: "APWHE?",
|
||
vendor: "KF6UFO",
|
||
model: "WX-Helios",
|
||
class: "wx",
|
||
os: "Linux",
|
||
contact: "https://github.com/kf6ufo/kf6ufo-wx-helios"
|
||
},
|
||
{
|
||
tocall: "APWM??",
|
||
vendor: "KJ4ERJ",
|
||
model: "APRSISCE",
|
||
class: "software",
|
||
os: "Windows Mobile",
|
||
features: ["messaging", "item-in-msg"]
|
||
},
|
||
{
|
||
tocall: "APWW??",
|
||
vendor: "KJ4ERJ",
|
||
model: "APRSIS32",
|
||
class: "software",
|
||
os: "Windows",
|
||
features: ["messaging", "item-in-msg"]
|
||
},
|
||
{
|
||
tocall: "APWXS?",
|
||
vendor: "Colin Cogle, W1DNS",
|
||
model: "aprs-weather-submit",
|
||
class: "daemon",
|
||
contact: "https://github.com/rhymeswithmogul/aprs-weather-submit/"
|
||
},
|
||
{ tocall: "APWnnn", vendor: "Sproul Brothers", model: "WinAPRS", class: "software", os: "Windows" },
|
||
{ tocall: "APX???", vendor: "Open Source", model: "Xastir", class: "software", os: "Linux/Unix" },
|
||
{ tocall: "APXR??", vendor: "G8PZT", model: "Xrouter" },
|
||
{ tocall: "APY01D", vendor: "Yaesu", model: "FT1D", class: "ht" },
|
||
{ tocall: "APY02D", vendor: "Yaesu", model: "FT2D", class: "ht" },
|
||
{ tocall: "APY05D", vendor: "Yaesu", model: "FT5D", class: "ht" },
|
||
{ tocall: "APY200", vendor: "Yaesu", model: "FTM-200D", class: "rig" },
|
||
{ tocall: "APY300", vendor: "Yaesu", model: "FTM-300D", class: "rig" },
|
||
{ tocall: "APY400", vendor: "Yaesu", model: "FTM-400", class: "rig" },
|
||
{ tocall: "APY500", vendor: "Yaesu", model: "FTM-500D", class: "rig" },
|
||
{ tocall: "APY510", vendor: "Yaesu", model: "FTM-510D", class: "rig" },
|
||
{ tocall: "APYS??", vendor: "W2GMD", model: "Python APRS", class: "software" },
|
||
{ tocall: "APZ*", vendor: "Unknown", model: "Experimental" },
|
||
{ tocall: "APZ18", vendor: "IW3FQG", model: "UIdigi", class: "digi" },
|
||
{ tocall: "APZ186", vendor: "IW3FQG", model: "UIdigi", class: "digi" },
|
||
{ tocall: "APZ19", vendor: "IW3FQG", model: "UIdigi", class: "digi" },
|
||
{ tocall: "APZ247", model: "UPRS", vendor: "NR0Q" },
|
||
{ tocall: "APZG??", vendor: "OH2GVE", model: "aprsg", class: "software", os: "Linux/Unix" },
|
||
{ tocall: "APZMAJ", vendor: "M1MAJ", model: "DeLorme inReach Tracker" },
|
||
{ tocall: "APZMDR", vendor: "Open Source", model: "HaMDR", class: "tracker", os: "embedded" },
|
||
{ tocall: "APZTKP", vendor: "Nick Hanks, N0LP", model: "TrackPoint", class: "tracker", os: "embedded" },
|
||
{ tocall: "APZWKR", vendor: "GM1WKR", model: "NetSked", class: "software" },
|
||
{ tocall: "APnnnD", vendor: "Painter Engineering", model: "uSmartDigi D-Gate", class: "dstar" },
|
||
{ tocall: "APnnnU", vendor: "Painter Engineering", model: "uSmartDigi Digipeater", class: "digi" },
|
||
{ tocall: "PSKAPR", vendor: "Open Source", model: "PSKmail", class: "software" }
|
||
]);
|