Settings Reference
Item-by-item reference: name, control, default, description — generated from the code and the official strings, so it stays in sync.
No matching section — try another keyword.
No matches elsewhere in the guide.
Settings#
Settings#
Station, location, links & data
The Settings page opens with eight category cards (each leading to its own page) plus six direct entries. Below, every setting is listed: name, control, default, meaning — defaults are read from the code, so regenerating keeps them honest.
| Setting | Control | Default | Description |
|---|---|---|---|
| Station | Category card | — | Callsign · SSID · Symbol |
| Beaconing | Category card | — | GPS · Beaconing · Manual position |
| Connection | Category card | — | Server · Range filter |
| Display | Category card | — | Coords · Theme |
| Device | Category card | — | Sources · links · iGate |
| Data | Category card | — | Clear local data |
| Advanced | Category card | — | Lab · Developer |
| Update | Category card | — | Check for updates |
| Activity leaderboard | Direct entry | — | Steps ranking for today (only what this device received) |
| Honors | Direct entry | — | My badges and achievements |
| Translation settings | Direct entry | — | Provider, languages and auto-translate |
| Export ADIF | Direct entry | — | Export chats as a log file |
| Theme | Direct entry | — | Custom colours, icons and text |
| Track history | Direct entry | — | Records your own speed and distance by day, saved on this device |
| Backup & restore | Direct entry | — | Pack settings and data into a JSON file |
| Sponsors & thanks | Direct entry | — | The list and how to support (servers and map traffic depend on it) |
| About | Direct entry | — | |
| Life guard | Direct entry | — | Alarm on abnormal heart rate, call emergency services, ask nearby stations |
Station#
Station#
Callsign · SSID · Symbol
Identity is the root of every frame: the callsign must match your licence, and the SSID states the station type (-9 mobile, -7 handheld are common).
| Setting | Control | Default | Description |
|---|---|---|---|
| Altitude (m, empty = use the fix) | Text input | — | When set, this manually entered altitude is used (more reliable: on phones without a barometer, indoors, or with network-only positioning the GPS altitude is often unusable). Left empty, the altitude from the fix is used. It is encoded as six zero-padded feet in the /A= extension. This is station altitude - a different quantity from the PHG antenna height below (above average local terrain). |
| Power (W) | Text input | — | Power, antenna height and gain share one PHG data extension: filling any of them encodes and sends all of them (the spec defines it as a single fixed 7-byte field). Power takes the largest step not exceeding the real value: 25 W reports 25, and so does 30 W, because over-reporting inflates your coverage circle. Antenna height is measured above average local terrain - a different quantity from the /A= altitude sent automatically above. |
| Antenna height (ft) | Text input | — | Power, antenna height and gain share one PHG data extension: filling any of them encodes and sends all of them (the spec defines it as a single fixed 7-byte field). Power takes the largest step not exceeding the real value: 25 W reports 25, and so does 30 W, because over-reporting inflates your coverage circle. Antenna height is measured above average local terrain - a different quantity from the /A= altitude sent automatically above. |
| Gain (dB) | Text input | — | Power, antenna height and gain share one PHG data extension: filling any of them encodes and sends all of them (the spec defines it as a single fixed 7-byte field). Power takes the largest step not exceeding the real value: 25 W reports 25, and so does 30 W, because over-reporting inflates your coverage circle. Antenna height is measured above average local terrain - a different quantity from the /A= altitude sent automatically above. |
Standalone status packet aprsStatusText | Text input | (empty) | This sends a standalone status packet (starts with >, carries no coordinates, and does not move you on aprs.fi) - a different APRS packet type from the comment above. Left empty, the built-in APRSlocus online frame is sent instead. |
Station identity
Callsign, SSID and comment
| Setting | Control | Default | Description |
|---|---|---|---|
Callsign myCall | Text input | BV2AAA | APRS callsign, e.g. BV2AAA |
Station comment myComment | Text input | (empty) | Comment sent with position beacons |
| Transmit | Button | — |
Station info
My symbol and current position
| Setting | Control | Default | Description |
|---|---|---|---|
| Grid | Read-only | — | |
| My location | Read-only | — |
Beaconing#
Beaconing#
GPS · Beaconing · Manual position
Three decisions: what fixes you (GPS / network / manual), how often (60 s default, 5 s floor) and what travels in the frame (speed/course/battery can be switched off).
Location source
Choose position source
When auto-location is unavailable, enter coordinates manually or pick on the map for beacon reporting and station distance calculation.
| Setting | Control | Default | Description |
|---|---|---|---|
phone GPSSimulated location useSimLocation | Choice card | off | Use device location / Simulated location:Enter coordinates manually |
Sensor-assisted positioning sensorAssist | Switch | on | Priority when several are available: simulated/manual › Garmin (while the watch has live data) › phone GPS |
| Location source | Read-only | — |
Location mode
Choose location method
| Setting | Control | Default | Description |
|---|---|---|---|
GPS onlyGPS + Network · Network only locationMode | Choice card | gps_network | Satellite only, saves battery / GPS + Network:Network is a fallback only (when GPS goes stale); coarse fixes are never written to the track / Network only:Cell / Wi-Fi only, accurate to a few hundred metres; most power-saving, for devices without GPS |
| Station icon for network fixes | Entry | — | Network fixes can be off by hundreds of metres to kilometres; a distinct icon makes it obvious that the position came from the network. Defaults to following your own symbol. |
Idle the phone GPS while an external GPS is active extGpsStandby | Switch | on | While an external GPS (Garmin LiveTrack) is feeding data, stop the phone location to save power; when it goes stale the phone GPS takes over automatically, and the status line and log say so. Turning this off cannot make the position wrong — the external source is already preferred. |
Beaconing
Transmit interval & report content
| Setting | Control | Default | Description |
|---|---|---|---|
Enable beaconing beaconEnabled | Switch | on | Classic: one line (status + send now). Detailed: an extra line showing which tier is active, the seconds left, how many metres the distance trigger still needs, and how many degrees the turn trigger still needs — refreshed once a second. |
Network-only interval (s) beaconNetInterval | Text input | 300 | In network-only mode a fixed interval is used; cell/Wi-Fi fixes have no reliable speed, so smart beaconing (speed / distance / turn) is not used |
Beacon interval (sec) beaconInterval | Text input | 60 | Position beacon interval, minimum 5 seconds |
SmartBeacon (by speed) smartBeaconEnabled | Switch | off | |
Speed beaconIncludeSpeed | Small switch | on | |
Bearing beaconIncludeCourse | Small switch | on | |
Phone battery beaconIncludeBattery | Small switch | on | |
Trip distance beaconIncludeTripMileage | Small switch | off | |
Total distance beaconIncludeTotalMileage | Small switch | off | |
Steps beaconIncludeSteps | Small switch | off | |
| Today's steps | Read-only | — | Steps come from the phone's step counter (hardware counting, more accurate than estimating from the accelerometer). They can be sent along with the beacon (STEPS=), so other APRSlocus users can see you in the activity leaderboard. |
| Grant activity permission | Button | — | |
| Location status | Read-only | — | |
| Beacons sent | Read-only | — | |
| Next beacon | Read-only | — | The current fix comes from the network (coarse, often hundreds of metres off) — automatic reports are paused and resume once GPS is back. You can still beacon manually. |
| Enable RF beacon | Button | — | |
Beacon network (coarse) fixes anyway beaconForceCoarse | Switch | off | Beaconing a network (coarse) fix |
| Relocate | Button | — |
Connection#
Connection#
Server · Range filter
APRS-IS server and Passcode, multi-select data sources, receive range (300 km default) and data caps. Changes apply only with “Save & apply”.
APRS-IS connection
Connection status and info
| Setting | Control | Default | Description |
|---|---|---|---|
| Connection | Read-only | — | |
Server server | Text input | rotate.aprs2.net | |
Port port | Text input | 14580 | |
| WebSocket URL (optional) | Text input | — |
APRS-IS connection
Send and receive on air through a Bluetooth or serial TNC
| Setting | Control | Default | Description |
|---|---|---|---|
| Bound device | Read-only | — | |
| Connection | Read-only | — | |
| Allow RF beaconing | Read-only | — | TNC mode does not use a server or filters, so those settings are disabled |
| KISS parameters | Button | — |
APRS-IS connection
Enable remote control in the radio WLAN settings, set the Network User name/password, and keep the phone on the same subnet. WLAN radio LAN audio is fixed at 12000 Hz.
| Setting | Control | Default | Description |
|---|---|---|---|
| Audio backend | Read-only | — | |
| Sample rate | Read-only | — | |
| Connection | Read-only | — | |
| Allow RF beaconing | Read-only | — | Audio mode does not use the server, filters or KISS settings |
| WLAN Radio Direct LinkWLAN Radio Direct Link | Button | — | |
| Audio (soundcard TNC)Audio (soundcard TNC) | Button | — |
APRS-IS connection
Read the Kenwood waypoint sentences from the radio over Bluetooth or serial (receive-only)
| Setting | Control | Default | Description |
|---|---|---|---|
| Bound device | Read-only | — | |
| Connection | Read-only | — | |
| PKWDWPL (Kenwood waypoints) | Read-only | — | PKWDWPL is a receive-only link: it brings in stations but never transmits (use APRS-IS / TNC / audio for transmitting) |
| PKWDWPL device | Button | — |
Range filter
Filter center and radius
Only receive station packets within the configured range
| Setting | Control | Default | Description |
|---|---|---|---|
Follow my location for filter centerSave & apply filter filterFollow | Switch | on | |
Radius (km) filterRadius | Text input | 300 | Receive radius (km); tap “Save & apply filter” to apply |
| Use my position as filter center | Button | — |
Data limits
How much data to keep locally
| Setting | Control | Default | Description |
|---|---|---|---|
Max stations maxStations | Text input | 100000 | Maximum stations kept in memory (unlimited by default; increase as needed) |
Packet history limit maxPackets | Text input | 2000 | How many packets to keep on the packets page (default 2000; higher uses more memory) |
Track point limit maxTrackPts | Text input | 300 | Track points kept per station (default 300; decides how far back a movement track can reach; a point is only stored after 20 m of movement) |
Online window (minutes) onlineWindowMin | Text input | 5 | A station with no report for longer than this is treated as offline (default 5 minutes) |
Callsign filter
Receive by country/region or callsign
Besides range filter, receive stations by country/region group or exact callsign
Display#
Display#
Coords · Theme
Dark mode, weather widget, units and grid live here; tile source and offline maps live in the map menu and their own sub-page. There is also an announcement banner toggle (on by default): the banner sits at the top of the home screen / map, its content comes from the website announcement section — publishing a notice needs no app release; offline it shows the last cached copy, and turning it off stops all network requests. To read it on demand, use the Announcements button at the very bottom of the settings home screen — it is always available and shows the same content.
All
Theme, language and coordinate display
| Setting | Control | Default | Description |
|---|---|---|---|
Dark mode darkMode | Switch | off | |
Weather widget weatherEnabled | Switch | on | |
Announcements noticeBanner | Switch | on | The active theme pins the primary colour — change it on the Theme page |
| Unit | Read-only | — | |
| Grid | Read-only | — |
Map
Map type and display
"Map 2.0 (vector)" renders vectors on-device for lower data use and sharp zooming; raster sources use online tiles, so quality depends on the network.
| Setting | Control | Default | Description |
|---|---|---|---|
Always show map labels mapLabelsAlways | Switch | off | Show every station callsign label on the map regardless of station count or zoom. |
| Offline maps | Entry | — | The material only affects the app's own surfaces (cards, bars, dialogs, map overlays) — it is not window transparency. Blur costs GPU time, so on older devices it may feel less smooth than Off. / Download map tiles ahead of time so the map works without a network |
Data#
Data#
Clear local data
Read-only stats and destructive actions are kept apart: clearing the chat is its own button, and “clear all data” asks twice.
Chat history
Contacts and chat data
| Setting | Control | Default | Description |
|---|---|---|---|
| Chat history | Choice card | — | |
| Clear all chat history | Button | — |
Stations
Received stations and their tracks, stored on this device
| Setting | Control | Default | Description |
|---|---|---|---|
| Stations | Choice card | — | |
| Clear station list | Button | — |
Clear all data
Delete local records
| Setting | Control | Default | Description |
|---|---|---|---|
| Stations | Choice card | — | |
| Chat history | Choice card | — | |
| Group chats | Choice card | — | |
| Logs | Choice card | — | |
| Packets | Choice card | — | |
| Clear all data | Button | — |
Offline maps
Cached automatically while browsing; areas can also be downloaded manually
| Setting | Control | Default | Description |
|---|---|---|---|
| Offline areas | Entry | — | Downloaded areas can be viewed on the map offline |
Advanced#
Advanced#
Lab · Developer
Landscape toggle, demo data (fake stations/packets), RX/TX counters and re-running the wizard.
| Setting | Control | Default | Description |
|---|---|---|---|
Allow landscape orientation labLandscape | Switch | off | Lab features are experimental and may affect usability. Portrait orientation is locked by default; enable this to allow landscape. |
Enable demo data (sample stations/packets) devMode | Switch | off | |
| RX / TX | Read-only | — | |
| Stations | Read-only | — | |
| Connection | Read-only | — |
Devices#
Devices#
Data source, link status and self-test
Device overview = current link, gateway status, the four sub-pages (TNC / WLAN radio / audio / PKWDWPL) plus link self-test and logs.
Gateway (iGate)
Relay packets heard on RF into APRS-IS
| Setting | Control | Default | Description |
|---|---|---|---|
Enable gateway igateEnabled | Switch | off | |
Two-way gateway (forward messages to RF) igateTwoWay | Switch | off | No packets heard on RF at all: the gateway is fully armed but has nothing to relay. This is not a gateway problem — nothing is reaching the app. Check upstream: radio volume and squelch, antenna, whether anyone is actually transmitting, and the log page for any RF traffic at all. |
| Heard on RF | Read-only | — | |
| Relayed → APRS-IS | Read-only | — | |
| Relayed → RF | Read-only | — | |
| Duplicates dropped | Read-only | — | |
| Loop-protection rejects | Read-only | — | |
| Reset counters | Button | — | |
| Allow RF beaconing | Read-only | — |
Current link
Read-only summary — edit parameters in the sub-pages
Devices & parameters
One sub-page per link, each with its own settings
| Setting | Control | Default | Description |
|---|---|---|---|
| TNC device & parameters | Choice card | — | Bluetooth/serial binding, init string, KISS parameters and TX self-test |
WLAN Radio Direct Link source | Choice card | AudioSource.device | Connected |
| Audio (soundcard TNC) | Choice card | — | Send and receive AFSK 1200 packets with your soundcard |
| PKWDWPL device | Choice card | — | Bind the radio port and check waypoint reception |
APRSlocusBOX connected | Choice card | off | Connected |
| Heart rate | Choice card | — | Bluetooth heart-rate straps (standard HR service), optionally sent with your beacon |
| Garmin LiveTrack | Choice card | — | No log entries yet / Pull your Garmin watch activity in and beacon it |
TNC device & parameters#
TNC device & parameters#
Bluetooth/serial binding, init string, KISS parameters and TX self-test
Everything for a Bluetooth/USB TNC: binding, init string, baud, KISS timing, digipeat path and the TX self-test.
Bluetooth TNC
Bind and connect the TNC on your radio
Two links are bound to the same device
| Setting | Control | Default | Description |
|---|---|---|---|
| Bound device | Read-only | — | |
| Connection | Read-only | — | No devices found — pair the TNC in the system Bluetooth settings, or plug in the USB serial cable (OTG) |
| Scan devices (paired Bluetooth + USB serial) | Button | — | |
| DisconnectRestart link | Button | — | |
| Unbind | Button | — |
TNC init string
Sent line by line after connecting (same as APRSdroid kiss.init)
If the TNC receives but will not transmit, try here first: many Bluetooth/serial TNC modules boot into command mode and need KISS ON / RESTART before they will forward in KISS. One command per line (CRLF is appended automatically).
| Setting | Control | Default | Description |
|---|---|---|---|
Delay per line (ms) initDelayMs | Text input | 300 | Wait between lines. Modules need time to process commands; too short drops them |
Serial baud rate (bd) serialBaud | Text input | 9600 | A USB serial cable and the radio data port must agree on the speed, otherwise not a single byte gets through. Common values: 9600 / 19200 / 38400 / 57600 / 115200. Bluetooth SPP has no baud rate, so this is ignored for Bluetooth devices. |
| TX serial port | Entry | — | A Bluetooth device is bound: Bluetooth SPP has no baud rate, so this setting has no effect / Saved. By default TX shares the RX port; a separate port avoids two handles fighting over one COM port on Windows. |
| Send init string now | Button | — | |
| No init string configured | Choice card | — |
KISS parameters
Link-layer settings pushed straight to the TNC
| Setting | Control | Default | Description |
|---|---|---|---|
Push KISS parameters on connect pushKissParams | Switch | off | Off by default (same as APRSdroid). When on, the values above are pushed to the TNC on connect, overriding its own configuration — inappropriate values can make it back off forever without transmitting, so enable only if you want centralised control. |
TX delay (ms) txDelayMs | Text input | 300 | KISS TXDELAY in 10 ms units — time for your PTT to settle before data |
TX tail (ms) txTailMs | Text input | 50 | KISS TXTAIL in 10 ms units — some radios need the tail to be heard fully |
Persistence persistence | Text input | 63 | KISS PERSISTENCE, 0–255 — lower is more polite and avoids collisions on a shared channel |
Slot time (ms) slotTimeMs | Text input | 100 | KISS SLOTTIME in 10 ms units — works with persistence to pace channel access |
Full duplex fullDuplex | Switch | off | |
Channel / KISS port channel | Text input | 0 | Only multi-channel TNCs have several ports; keep 0 for single-channel radios |
Max frame size (bytes) maxFrame | Text input | 330 | Longer packets are not sent at all (at 1200 baud an AX.25 frame is ~330 bytes) |
RF digipeater path path | Text input | WIDE1-1,WIDE2-1 | Digipeaters used on air, e.g. WIDE1-1,WIDE2-1; leave empty for none |
Vendor command hardwareCmd | Text input | -1 | KISS SETHARDWARE (0x06), vendor-specific; -1 means do not send |
Value hardwareVal | Text input | 0 | KISS SETHARDWARE (0x06), vendor-specific; -1 means do not send |
| Push parameters | Button | — | |
| Return to TNC command mode | Button | — | |
| Connect the TNC first | Choice card | — | |
| Return to TNC command mode | Choice card | — | KISS SETHARDWARE (0x06), vendor-specific; -1 means do not send |
TX self-test
Writes one test frame to the TNC to tell link problems from TNC problems
It sends a status frame (no coordinates), so it will not move your station on aprs.fi. If it reports "written" but nothing is transmitted, the problem is on the TNC side: try the init string (KISS ON / RESTART) first, then check TxDelay and channel occupancy.
| Setting | Control | Default | Description |
|---|---|---|---|
| Write test frame | Button | — |
Radio (TNC) mode
The radio channel is shared, so messaging is limited accordingly
| Setting | Control | Default | Description |
|---|---|---|---|
Allow RF beaconing rfBeacon | Switch | off | Only then will positions be transmitted on air. Transmitting requires your own licence and callsign |
Auto-acknowledge autoAck | Switch | on | When off, incoming messages are not acknowledged — keeps the channel quieter |
Reconnect automatically autoReconnect | Switch | on |
WLAN Radio Direct Link#
WLAN Radio Direct Link#
局域网直连 Icom 电台(IC-705 / IC-9700 / IC-7610 / IC-905),收发 12 kHz PCM 音频与 CI-V 控制
Direct LAN link to Icom radios (IC-705 / IC-9700 / IC-7610 / IC-905 etc.): radio IP/control port, Network User auth, CI-V address and TX Delay, RF digipeater path (e.g. WIDE1-1,WIDE2-1), 12 kHz PCM audio streaming.
电台链路状态
| Setting | Control | Default | Description |
|---|---|---|---|
| Enable WLAN radio LAN link | Switch | — | 开启后,APRS 音频收发数据源将直接绑定至 $… 局域网直连 |
| 射频收发统计 | Read-only | — | |
| 音频采样率 | Read-only | — |
电台网络参数
选择电台型号预置并配置 IP 与 Network User 凭据
| Setting | Control | Default | Description |
|---|---|---|---|
| Radio IP | Text input | — | |
| Control port | Text input | — | |
| Username (Network User) | Text input | — | |
| Password (Network User) | Text input | — | 提示:用户名和密码必须与电台内部 Network User Setting 完全一致。 |
CI-V 控制与发射设置
PTT 自动控制、前导延时与信标参数
| Setting | Control | Default | Description |
|---|---|---|---|
Allow RF beaconing rfBeacon | Switch | off | 是否允许通过电台射频自动周期发射信标(半双工,发射时自动静默监听)。 |
发射前导延迟 (TX Delay, ms) txDelayMs | Text input | 300 | |
| 电台 CI-V 地址 (十六进制) | Text input | — | |
| 控制器地址 | Read-only | — | |
RF digipeater path path | Text input | WIDE1-1,WIDE2-1 | Digipeaters used on air, e.g. WIDE1-1,WIDE2-1; leave empty for none |
电台设置指引
在 Icom 电台上的必要准备步骤
Audio (soundcard TNC)#
Audio (soundcard TNC)#
Send and receive AFSK 1200 packets with your soundcard
Use the sound card as a TNC: sample rate/baud/tone, TX level and CSMA wait, plus WAV file mode (decode a recording offline).
| Setting | Control | Default | Description |
|---|---|---|---|
| Playback device | Entry | — | To enable or switch data sources (links), go to Settings → Devices |
Audio capture
Demodulate AFSK 1200 from the mic/line input
| Setting | Control | Default | Description |
|---|---|---|---|
| Audio backend | Read-only | — | |
| ConnectionStop capture · Restart audio link | Read-only | — | |
| Demod locked | Read-only | — | … aborted decodes (noise / out of sync) |
| … frames received | Read-only | — | Real-time audio is not supported on this platform (WAV file mode is available) |
Audio (soundcard TNC)
Send and receive AFSK 1200 packets with your soundcard
| Setting | Control | Default | Description |
|---|---|---|---|
Sample rate sampleRate | Text input | 22050 | 22050 Hz is the usual soundcard-TNC rate; use 44100/48000 if unsupported. Changing it restarts capture |
| Bit rate | Text input | — | APRS on VHF is always 1200 bd (Bell 202); 300 bd is for HF |
| Mark tone (Hz) | Text input | — | Bell 202 specifies mark 1200 Hz / space 2200 Hz; the tolerance is only a few Hz |
| Space tone (Hz) | Text input | — | Space tone. Together with mark it sets the FSK shift (1000 Hz nominal) |
Tx preamble (ms) txDelayMs | Text input | 300 | Preamble length: lets the far-end demod lock and the radio key up |
Audio transmit
Listens before transmitting to avoid collisions
| Setting | Control | Default | Description |
|---|---|---|---|
Allow transmit txEnabled | Switch | on | When off, receive only — handy if you just want to monitor beacons |
Allow RF beaconing rfBeacon | Switch | off | Only then will positions be transmitted on air. Transmitting requires your own licence and callsign |
Wait for a clear channel (ms) csmaWaitMs | Text input | 3000 | How long to wait when the channel is busy; 0 = transmit immediately |
RF digipeater path path | Text input | WIDE1-1,WIDE2-1 | Digipeaters used on air, e.g. WIDE1-1,WIDE2-1; leave empty for none |
Max frame size (bytes) maxFrame | Text input | 330 | Longer packets are not sent at all (at 1200 baud an AX.25 frame is ~330 bytes) |
| TX level | Read-only | — | Before transmitting the media volume is raised to maximum and the mic is paused; a peak that is too low or clipped means the other side cannot decode |
Auto-acknowledge autoAck | Switch | on | When off, incoming messages are not acknowledged — keeps the channel quieter |
Reconnect automatically autoReconnect | Switch | on | |
| Stop transmit | Button | — |
WAV file mode
Decode a recording offline, or export a packet as audio
| Setting | Control | Default | Description |
|---|---|---|---|
| Packet to export (TNC2) | Text input | — | Format SRC>DEST,PATH:info, e.g. BG7LZQ-9>APALOC:>TEST |
| File path | Text input | — | Decode a recording offline, or export a packet as audio |
| Choose WAV file | Button | — | |
| Export to Downloads | Button | — | |
| Copy path | Button | — | |
| Path copied | Choice card | — | Use an audio cable to the radio (headphone out → data/mic jack). Phone speakers roll off badly at 2200 Hz, so acoustic coupling rarely decodes. If the far end is Direwolf, first verify with the exported WAV: if that decodes, the problem is the audio path, not the protocol |
Link log
No log entries yet
PKWDWPL device#
PKWDWPL device#
Bind the radio port and check waypoint reception
Read-only Kenwood waypoint link: binding and status, waypoint counters, strict checksum (off by default — mismatches are flagged, not dropped).
Device binding and status
Pick the serial or Bluetooth port that outputs sentences
Two links are bound to the same device
| Setting | Control | Default | Description |
|---|---|---|---|
| Bound device | Read-only | — | |
| Connection | Read-only | — | |
| PKWDWPL (Kenwood waypoints) | Read-only | — | No devices found — pair the TNC in the system Bluetooth settings, or plug in the USB serial cable (OTG) |
| Scan devices (paired Bluetooth + USB serial) | Button | — | |
| DisconnectRestart link | Button | — | |
| Unbind | Button | — |
Waypoint reception
Bind the radio port and check waypoint reception
| Setting | Control | Default | Description |
|---|---|---|---|
| … waypoints received | Read-only | — | |
| Dropped or invalid sentences | Read-only | — | |
| Checksum mismatches | Read-only | — | |
| Other NMEA sentences (ignored) | Read-only | — | 帧缓冲溢出 $… 字节 |
Strict checksum (drop mismatches) strictChecksum | Switch | off | Off by default: a mismatch is flagged and logged instead of dropped, because on a local cable it usually means the firmware format differs from the manual. Dropping every sentence would leave the screen empty and make diagnosis much harder. |
Reconnect automatically autoReconnect | Switch | on | No PKWDWPL log yet |
Translation settings#
Translation settings#
Provider, languages and auto-translate
Target language, engine (auto, no key needed), per-engine keys and instance URLs, test translation.
Translate into
Provider, languages and auto-translate
| Setting | Control | Default | Description |
|---|---|---|---|
| Translate into | Read-only | — | |
| Provider | Read-only | — | Translation sends message text to the third-party provider you choose; assess privacy accordingly |
Provider
Tries several keyless endpoints in turn and keeps the first real translation
| Setting | Control | Default | Description |
|---|---|---|---|
| Actually used | Read-only | — | Open source and most reliable self-hosted; public instances now need a key and often lack Chinese |
Instance URL libreUrl | Text input | https://libretranslate.com | |
Instance API key (needed for public instances; leave empty when self-hosted) libreApiKey | Text input | (empty) | |
Google API key googleApiKey | Text input | (empty) | API key for Google Cloud Translation v2 — create one in the Google Cloud console |
Baidu App ID baiduAppId | Text input | (empty) | |
Baidu secret key baiduKey | Text input | (empty) | Apply for general text translation on the Baidu Translate platform; the key stays on this device |
Endpoint URL customUrl | Text input | (empty) | |
Headers (JSON) customHeaders | Text input | {"Content-Type": "application/json"} | |
Body template customBody | Text input | {"q": "{text}", "source": "{from}", "target": "{to}"} | Placeholders: …, …, …. Ignored when the method is GET |
Result JSON path customResultPath | Text input | (empty) | Dot-separated path with array indexes, e.g. data.translations.0.translatedText |
Test translation
| Setting | Control | Default | Description |
|---|---|---|---|
| Test translation | Button | — | |
| Translate | Read-only | — |
Theme#
Theme#
Make the colours, icons and common labels your own
Four blocks — colours, icons, text, background — exportable as JSON to share; preset skins switch in one tap.
Colours
Overwrite colours individually; untouched ones stay default
Card surface
With a background image, how translucent cards should be
| Setting | Control | Default | Description |
|---|---|---|---|
| Opacity (lower is more see-through) | Choice card | — |
Density & font
Affects card and input padding only, not every spacing
| Setting | Control | Default | Description |
|---|---|---|---|
| Density | Choice card | — | This changes card padding; if something looks unchanged, its spacing is fixed individually |
| Font | Choice card | — | Uses system-installed fonts only; if one is missing it falls back automatically (no tofu boxes) |
Accent colours
The entry-card gradient, and a per-tab accent colour
| Setting | Control | Default | Description |
|---|---|---|---|
| Unify entry-card colours | Switch | — | |
| Gradient start | Choice card | — | |
| Gradient end | Choice card | — |
Background image
Use an image as the app backdrop; cards turn translucent automatically
This theme has no background image; the backdrop is a solid colour
| Setting | Control | Default | Description |
|---|---|---|---|
| Remove background | Button | — | |
| Opacity | Choice card | — | |
| Blur | Choice card | — | |
| Fill mode | Choice card | — | |
| Alignment | Choice card | — | |
| Scale | Choice card | — | The image stays on this device: the theme file records only a reference, not the image, so anyone you share it with sees the theme without a background. |
Card corner radius
Applies to cards and inputs (small badges are unaffected)
| Setting | Control | Default | Description |
|---|---|---|---|
| Card corner radius | Choice card | — |
Icons
Replace the tab bar and settings entries icons
Importing images is not available on the web — use the built-in icon library
Text
Overwrite common labels (buttons and error messages are deliberately excluded so the UI stays operable)
Import & export
A theme is JSON text — shareable and hand-editable
| Setting | Control | Default | Description |
|---|---|---|---|
| Include images in the export | Switch | — | The images are too large for the clipboard — use "Export all themes" to save a file instead |
| Export all themes | Choice card | — | |
| Import themes | Choice card | — | |
| Import from clipboard | Choice card | — | |
| Reset this theme | Choice card | — |
Skin info
Both travel with the skin when you share it
| Setting | Control | Default | Description |
|---|---|---|---|
| Author | Choice card | — | |
| Description | Choice card | — | |
| Rename | Choice card | — |
Presets & my themes
Make the colours, icons and common labels your own
Presets cannot be edited — copy one to your themes first
Backup & restore#
Backup & restore#
Export or import settings and data
One JSON holds settings and data; whitelisted import stops a foreign file from rewriting your config; restart after importing.
Backup & restore
The backup is a JSON file you can restore after switching or reinstalling. Import overwrites per group and cannot be undone.
| Setting | Control | Default | Description |
|---|---|---|---|
| The backup contains your callsign, server passcode and API keys — keep it safe. | Choice card | — | |
| On the web, use “copy to clipboard / paste from clipboard”. | Choice card | — |
Export backup
Pick what to include, then save to a file or copy as text
| Setting | Control | Default | Description |
|---|---|---|---|
| Select all | Button | — | |
| Saved to: … | Choice card | — | |
| Include images in the export | Switch | — | The backup will embed the images your themes use. Without them, a restored theme falls back to built-in icons. |
Import backup
Choose a backup JSON file exported earlier
| Setting | Control | Default | Description |
|---|---|---|---|
| Choose backup file | Button | — | |
| Paste from clipboard | Button | — |
Offline maps#
Offline maps#
Download map tiles ahead of time so the map works without a network
Tile cache plus the “offline tiles only” switch; the download area is exactly what you see on screen, entered from the map menu.
Tile cache
Cached automatically while browsing; areas can also be downloaded manually
| Setting | Control | Default | Description |
|---|---|---|---|
Cache map tiles tileCacheOn | Switch | on | Saves tiles while you browse, so they can be viewed offline later |
Offline tiles only offlineOnly | Switch | off | Never load tiles from the network — only downloaded/cached ones (saves data) |
Offline areas
Downloaded areas can be viewed on the map offline
Area too large (about … tiles) — narrow it or lower the max zoom