GET CONNECTED / GET ON THE AIR

Operator guide

Published with v0.4.139-rc

Download the guide ↓Radio matrix ↗

CQFTx is a guided FT8/FT4 application for portable and fixed-station operation. It decodes received signals, ranks actionable stations, manages the complete QSO exchange, controls a supported radio, and records completed contacts.

CQFTx does not use Hunter or Activator operating modes. What the operator does determines the workflow:

Each active QSO stores its own durable direction—We called them or They called us—so an interrupted exchange resumes with the correct messages.

Installing and updating

Download the field-test APK and its checksum from the CQFTx releases page. To update an existing field installation, install the new APK over it. Do not uninstall first: keeping the existing installation preserves station settings and logs. If Android refuses the update, retain the installed app and record the error rather than clearing its data or uninstalling it.

For daily operation, start with Quick starts. The sections on the operating display and logging explain the controls and saved-contact workflows.

1. Initial setup

After the callsign prompt, CQFTx shows Field readiness once. This is a compact preflight for the radio/audio path, synchronized time and location, activation reference, log storage, and any Internet-dependent spotting. A blocked item means CQFTx cannot safely perform the requested operation; a warning means operation is possible but reduced or offline. Use the buttons to open the relevant setup screen, then choose Run preflight again. Continue to CQFTx dismisses the checklist; the same checks remain visible in the operating and activation status.

Open Station Setup and configure:

Decode effort

In Station Setup, move the Decode effort slider to Lower, Normal, or Higher. Normal is the default and retains the existing staged search. Lower uses shallower searches and can miss messages that Normal finds. Higher expands the early search; it does not extend the response deadline or the time allowed for a decode. More effort does not guarantee more messages.

The selection is saved with station settings and applies from the next receive window. A window already being captured or decoded keeps its original effort.

Use AP decodes is a separate checkbox. When checked, AP results may be used for responses. When unchecked, AP results remain visible but are ignored for responses and station selection. Changing effort does not enable AP use.

Language, region, and display units

CQFTx follows the language and region selected in Android. There is no separate CQFTx language, region, or miles/kilometres setting. Change the device language or regional preferences in Android Settings, then return to or restart CQFTx if Android does not refresh the open screen immediately.

CQFTx accepts every language and region configuration supported by the Android platform. When a CQFTx translation is available, the app uses it. Otherwise, the complete base English interface is shown so that labels do not become a partial mixture of languages. Android also supplies right-to-left layout direction for languages such as Arabic, Persian, Hebrew, and Urdu.

Distance and altitude units follow Android's regional measurement system. Regions using US or UK measurement conventions display miles and feet; regions using the international system display kilometres and metres. This applies consistently to station details, map paths, antenna height, terrain, activation searches, and other distance or altitude readouts.

Displayed numbers and editable numeric fields use the region's digits, grouping, and decimal separator. Frequency entry also accepts an ASCII decimal point for operator convenience. Callsigns, Maidenhead locators, FT8/FT4 messages, ADIF data, URLs, and UTC values retain their required technical formats and are not translated. Changing the Android region changes presentation only; it does not alter saved QSOs, station data, calculations, or radio control.

Open Radio and select the radio plus its USB audio and CAT paths. CQFTx must validate RX audio, TX audio, the USB serial device, radio identity, and CAT state before transmission is allowed.

If a QMX has no transmit audio, try turning the Android output/media volume all the way up (100%) with the QMX USB audio output selected.

The operating status header identifies an active activation by its complete primary park or summit reference and shows qualification progress. On constrained phone layouts the reference and progress use a deliberate two-line form; the program icon identifies the activity type. Narrow portrait phones allocate that two-line value a complete row so even the longest supported summit reference remains visible. Tap the activity status for the complete activity details, including all selected references. Normal operation remains labeled simply Normal.

Tune and Auto Tune

Open the PWR/SWR meter for two independent side-by-side controls. Tune starts a supervised carrier for antenna adjustment. Auto Tune asks a positively verified radio or attached tuner to find and retain a match. A control remains gray when the connected radio does not support that operation. Both controls use one fixed 30-second maximum, are mutually exclusive with every other transmission, and restore RX and the original dial frequency after stopping or failing. At an FT8/FT4 calling frequency, CQFTx can perform the operation 5 kHz lower and then restore the calling frequency.

Tune, Auto Tune, SWR Sweep, and Done share one compact row. Availability comes from the connected radio driver and the current operating context, not just the model name. During safety checks, an action reads Checking… and is disabled. Starting or running an operation changes its action to Stop; after tapping it, Stopping… stays disabled while cleanup finishes. Missing hardware, an unsupported band, or failed verification leaves the action disabled. SWR Sweep also requires the applicable regional plan and radio qualification.

Tune and Auto Tune do not perform a regulatory-authorization lookup. The operator is responsible for selecting a frequency and operation permitted by their license, jurisdiction, and station conditions.

Auto Tune turns green only for the same frequency and digital mode after a verified match. A failure is red in that same context. Either result clears when frequency, mode, radio, or control session changes. The IC-705 with a detected AH-705, IC-7300, IC-7300MK2, and IC-7610 use the Icom tuner state and native carrier. The G90 requires a fresh per-connection confirmation that both main-unit and display firmware are 1.81 or later; CQFTx then requires at least three valid final SWR samples in the last second and a median no higher than the configured protection threshold. Automatic-tuner cleanup makes up to three RX verification attempts, exactly 250 ms apart.

Manual Tune uses verified reduced RF power on the IC-705, IC-7100, IC-9700, and IC-905. An attached AH-705 is forced to verified bypass for IC-705 manual Tune and restored afterward. IC-9700 coverage is limited to 144, 430, and 1200 MHz; IC-905 coverage follows the selected supported hardware band, including the optional CX-10G path. These newly enabled radio/band paths require the model-specific field qualification checklist before release use. QDX and the legacy IC-706MKIIG/IC-718 profiles remain unavailable because CQFTx cannot verify all required power, SWR, tuner, and restoration states. IC-7100 Auto Tune also remains unavailable until a supported external tuner can be positively detected rather than inferred from cabling or configuration.

SWR Sweep

With a ready QMX or IC-705, open the PWR/SWR meter and choose SWR Sweep. In the sweep window, CQFTx automatically selects the embedded U.S. General-class or Canadian ISED RBR-4 allocation from the station jurisdiction. No license-class chooser is required. Sweep stays unavailable when the station jurisdiction is missing, unsupported, or the applicable embedded catalog is due for regulatory review.

For General, CQFTx covers the complete General-class allocation on the selected band, not only the FT8/FT4 segment. It preserves every privilege gap: for example, a 20-meter General sweep covers 14.025–14.150 MHz and 14.225–14.350 MHz without transmitting between them. The endpoints shown in the graph are slightly inside those limits so the complete test emission stays authorized. The 60-meter display likewise keeps discrete channels separate from the continuous allocation.

For a Canadian jurisdiction, CQFTx uses the complete applicable RBR-4 Schedule I band. For example, 20 meters spans 14.000–14.350 MHz and 13 centimeters spans 2.300–2.450 GHz. The control operator remains responsible for holding the qualification required for the selected band; CQFTx does not infer qualifications.

Choose Start to measure exactly 21 safe actual-RF frequencies. CQFTx starts at the selected FT8 or FT4 target and measures outward. QMX uses native SWR Tune at its verified Tune %=50 safety setting. IC-705 uses a shaped 1500 Hz USB-D carrier at its qualified, read-back 26/255 RF-power setting. The graph always shows actual RF, 1500 Hz above the USB dial. If an AH-705 answers, CQFTx forces and verifies bypass for the complete sweep and restores its original on/bypass state afterward. If the IC-705 explicitly rejects the tuner command because no tuner is attached, Sweep proceeds without one. Qualification candidates for IC-7300, IC-7300MK2, IC-7610, and G90 force and restore their built-in tuners. The IC-7100 candidate supports both an explicitly rejected no-tuner response and a detected idle external tuner; IC-9700 and IC-905 declare tuner control not applicable. These candidates are not exposed in normal builds until physical-radio HIL is approved. An active or unreadable tuner state fails closed.

General-class candidate plans extend through each radio's supported bands. The IC-9700 candidate covers 2 m, the nationwide-safe 430–450 MHz portion of 70 cm, and 23 cm. The IC-905 candidate additionally covers the disjoint 2300–2310 and 2390–2450 MHz 13 cm allocations plus its 5 cm and optional CX-10G 3 cm paths. QDX, IC-718, and IC-706MKIIG remain unavailable because they cannot verify the required live SWR, controlled-power, and PTT safety state.

Before a candidate radio/band combination is added to the release allowlist, complete the model and band matrix in the remaining-radio SWR Sweep HIL checklist. Code and protocol simulation do not establish minimum-power SWR accuracy or the occupied-spectrum allowance on physical hardware.

Stop, closing the window, backgrounding the app, or disconnecting the radio stops the carrier and restores RX, frequency, mode, power, and tuner state. Retest is enabled only after successful cleanup. Tap a graph point for its median SWR and associated power. Up to three complete or partial runs remain available for comparison until the radio disconnects or the app process ends; Sweep results are not saved or exported.

Icom IC-7300 and IC-7300MK2

CQFTx identifies the original IC-7300 and IC-7300MK2 independently with the radio-reported CI-V identity, even when an MK2 is configured to answer at the original model's 94h address. In the PWR/SWR window, Tune and Auto Tune use the identified radio's built-in automatic antenna tuner and native tuning carrier; it does not change the operator's RF-power setting or generate USB audio.

CQFTx enables either control only after it reads a valid idle tuner state and verifies the radio is in RX, USB-D, on the selected band. It then requires both the built-in-tuner tuning state and CI-V TX readback. A completed match remains enabled. A no-match result, cancellation, timeout, disconnect, or command failure forces RX, restores the original frequency, and restores the prior tuner on/bypass state. The IC-7300 and IC-7300MK2 must be qualified separately; evidence for one model never authorizes the other.

Icom IC-7100

Set CI-V Address to 88h and CI-V Baud Rate to Auto or 19200. CQFTx verifies the radio with transceiver-identification command 19 00 and uses only the IC-7100's documented RIT controls; it does not send the 21 02 XIT command used by newer Icom profiles.

Release E4 (CPU M 1.10 and CPU C 1.10) or newer is required because it added the CI-V RIT control used by CQFTx's receive-state safety check. Current Icom firmware is recommended. Back up the radio's settings to an SD card or with CS-7100 before updating because the firmware update resets radio settings and memory contents.

Manual Tune uses a read-back reduced-power USB-D carrier and restores the exact prior power and frequency settings. Auto Tune stays unavailable: attaching an AH-4 is not enough unless CQFTx can positively identify its control path.

Icom IC-7610, IC-9700, and IC-905

The IC-7610 uses its built-in tuner for both Tune controls after CQFTx selects MAIN and verifies idle tuner, RX, USB-D, band, and model identity. The IC-9700 and IC-905 have no enabled automatic-tuner path; their Tune control instead uses read-back reduced power and exact restoration on the supported bands described above.

CQFTx operates the IC-9700 on MAIN only. It captures stereo USB audio and uses only the left (MAIN) channel for calibration, the receive meter, waterfall and decoding. SUB can remain audible on the radio but is not decoded by CQFTx. A stereo-capable USB input is required; CQFTx will report a capture failure rather than fall back to mixed mono audio.

Connection setup selects MAIN/VFO A, disables satellite and split/repeater-duplex operation, and selects USB-D with USB AF output. Changing these settings can block transmission until the supported setup is restored. Satellite operation and simultaneous dual-receiver decoding are not supported.

Icom IC-706MKIIG

CQFTx can identify, receive, and transmit through an IC-706MKIIG connected with a DigiRig Mobile-style CP210x serial interface and a separate USB audio path. The radio has no documented CI-V PTT command, so CQFTx keys the DigiRig's hardware PTT output by asserting CP210x RTS and returns to receive by releasing RTS. DTR remains inactive. Opening, initializing, disconnecting, or closing the serial transport always leaves RTS released; CQFTx does not key the radio while testing the connection.

Use the DigiRig audio-and-PTT cable appropriate for the IC-706MKIIG. A generic serial CI-V adapter can still provide receive and tuning control, but CQFTx shows PTT unavailable unless the selected serial transport exposes the supported CP210x RTS path. Do not use VOX as a substitute for supervised PTT.

Icom IC-718

Set CI-V Address to the factory default 5Eh and CI-V Baud Rate to 19200. CQFTx accepts the radio only when command 19 00 returns the exact model identity 5E; the address, adapter name, and generic CI-V replies cannot identify it.

Use an IC-718 DigiRig-style CP210x CI-V/PTT cable and the separate USB audio path. CQFTx sends transmit audio through the selected USB audio output and keys PTT with CP210x RTS only after initialization has explicitly verified RTS released. DTR remains inactive. The IC-718 provides receive S-meter data over CI-V but no documented transmit power, SWR, or ALC feedback, so those TX meters remain unavailable.

Xiegu G90 with DigiRig

General G90 support requires main-unit firmware 1.80 or newer. Version 1.80 added the model-identification and digital-mode commands CQFTx requires. Version 1.81 is recommended for its current digital-audio and ALC behavior. Install matching main-unit and display firmware from the same official Xiegu release package; do not mix component versions.

Use the normal DigiRig logic-level serial version (separate TX/RX), not the one-wire Icom CI-V hardware variant. Connect DigiRig serial to the G90 head-unit COMM port and DigiRig audio to the rear ACC connector. The CAT path is 19200 baud, 8 data bits, no parity, one stop bit, and no flow control. DTR and RTS are not used for automatic PTT. CQFTx accepts the radio only after Xiegu command 1D 19 returns model ID 00 90; a CP210x or DigiRig USB name by itself never identifies a G90.

During connection CQFTx tests CAT PTT safely by sending PTT release and reading back RX state. It does not briefly transmit. A failure means the radio firmware, COMM connection, baud setting, or CI-V control configuration is not usable, and TX remains unavailable. CQFTx then leaves the radio configured for operation: VFO A, simplex, USB digital mode/filter 1, compression off, and CAT PTT. G90 firmware rejects the Icom-style CAT commands for reading or changing RIT/XIT, so CQFTx does not send them; confirm RIT and XIT are off from the radio before digital operation. It intentionally does not restore the earlier configuration on disconnect.

The DigiRig ACC audio levels remain manual. CQFTx monitors receive clipping and the G90 power, SWR, and ALC readbacks without making calibration a transmit interlock. With firmware 1.81, adjust DigiRig/Android TX output so the radio's displayed digital ALC remains at or below 50. RX and TX calibration guidance is advisory and non-blocking.

Auto Tune has a stricter requirement: confirm in the PWR/SWR window that both the main unit and display are running firmware 1.81 or later. This confirmation lasts only for the current radio/control session. CQFTx verifies the prior tuner state, enables it, starts one tuner cycle, samples every 250 ms, and retains the new match only when the final one-second SWR median passes. Cancellation, failure, timeout, or disconnect restores the prior tuner state.

References: Xiegu G90 firmware 1.80 feature notice, Xiegu firmware downloads and 1.81 release notes, Xiegu CI-V reference, and DigiRig G90 cabling.

When the connected radio supports CAT-adjustable receive gain, the Radio panel provides a live RMS/peak meter, fine controls, and Auto Set RX Level with 10% clipping headroom. Calibration and clipping guidance are advisory and non-blocking. For radios that report ALC, Monitor Next Normal TX observes an ordinary transmission without keying the radio itself and recommends a smaller TX audio setting when ALC is active.

IC-706MKIIG support covers verified legacy CI-V identity, frequency, USB mode, supported bands, receiver S-meter status, and CP210x RTS hardware PTT through a supported external interface. The radio has no native USB audio or documented CI-V PTT command, so CQFTx does not send newer Icom audio, meter, or transmit commands to it. Transmit audio uses the separately selected USB audio output.

GNSS is the preferred UTC authority. When GNSS is unavailable, CQFTx retries a GNSS lock every three minutes while the process is awake, including while the app is off-screen. This non-waking check pauses while the tablet sleeps. CQFTx uses Android's platform-synchronized network clock until GNSS locks; it does not contact a separate NTP service. Manual grid and UTC entry are enabled only when neither automatic authority can be used. CQFTx keeps checking while manual time is active and automatically switches to GNSS, or to Android network time when GNSS remains unavailable. Tap the clock icon or UTC time to open the time dashboard. Its top card shows app-time confidence, UTC, active authority, and freshness; separate rows show GNSS, Android network, and manual-source status at a glance. Time-authority confidence is advisory and does not inhibit transmit.

Opening activation-location discovery enables real-time GNSS position updates until the discovery or activation-setup view closes. This location-only tracking does not change the app clock's authority or its safe slot-boundary correction rules.

When manual UTC is active and an identified radio has a validated USB receive-audio path, the Time Authority view offers Run FT8 Decode Alignment. Enter the correct UTC date, hour, and minute manually first. FT8 Decode Alignment is a precision phase adjustment; it cannot determine the correct 15-second FT8 period or any larger UTC unit.

FT8 Decode Alignment examines three FT8 periods and tests coarse phase offsets. It requires at least five unique, CRC-valid stations across all three periods, gives each station one vote, and rejects excessive DT dispersion or slot ambiguity. If the buffered sample is not yet long enough, CQFTx collects fresh audio for about one minute. An accepted correction is applied at the next idle slot boundary. The authority view reports the correction, supporting stations and periods, DT dispersion, and age. Disconnecting the radio or losing the validated receive-audio path cancels acquisition.

2. Main screen

The main screen contains:

The compact system-confidence line reports CAT readiness, whether the receive path is clean after TX, audio warnings, time authority, decoder queue or drops, next-response timing margin, and whether QSO records are durably saved. Yellow text requests attention but is informational; it does not inhibit transmission.

The workflow names its current authority: Listening only, CQ authorized, QSO automatic, TX held, or TX protection active. An authorized CQ session may answer waiting callers after the active QSO; Stop automatic replies revokes that permission without ending the current exchange. During a CQ run, use Stop CQ. A radio block names each unavailable audio/control path and offers Open Radio setup. Calibration remains advisory and does not become a new TX interlock.

QSO Options and Stop QSO appear ahead of the contact details. Hide contact details collapses location, propagation and receive telemetry while leaving callsign, timing, message and exchange progress visible. Large text wraps; the workflow scrolls within its own area so incoming traffic retains space on portrait screens.

Suspended contacts · Resume… opens resumable exchanges on the current band and mode directly from the operating panel. Resuming uses the same checks as the QSO State Table. Last saved shows a durably stored contact with callsign, band, mode and UTC; tap it to edit. Failed writes remain in the existing pending-log recovery controls.

Tap the QSO chance heading for gesture help. Each row shows only the percentage. Decode rows omit app-added CQ priority explanations such as “outside requested area” and POTA/SOTA eligibility labels. The station's transmitted CQ qualifier remains visible; priority details remain in CQ candidate options, and choosing an out-of-area station still requires the existing confirmation. The message column contains only the transmitted message. Directed-to-you color replaces “Calling you”; a compact teal PSK-and-arrow badge at the right, beside POTA/SOTA, identifies a matching direct report no more than 30 minutes old. Nearby/same-grid reports remain in station details and do not receive this badge. A crossed-circle indicator marks ignored stations; the row stays dimmed and station details retain the ignore scope and controls. Long-pressing a row opens station details with report age, signal strength, and receiver grid. Hold a value for its contributing evidence; hold a station message for station details, including QSO chance, confidence, scoring evidence, and Send 73. These estimates guide selection; they are not guarantees.

The dedicated QSO chance column estimates the chance of completing a contact within two minutes if you call that station now. It is deliberately rounded to avoid false precision. CQFTx combines the station's recent median SNR, SNR trend and repeat count with DT quality, decode age and confidence, CQ or directed-call intent, current retries, exact-band TX-offset occupancy, path geometry, and the retained space-weather context. Hold the percentage or open station details to review confidence and contributing evidence. The row itself shows only the percentage; it is an operating estimate, not decoder confidence or a guarantee of a reply.

Fresh PSK Direct evidence is considered high probability only when its sender, receiver, mode, and band match this operator and station. A direct report cannot be downgraded below the high-probability range merely by broad propagation context. Completed and unsuccessful attempts are retained locally and calibrate future estimates within the same band, mode, and score range. This learning is bounded, survives restart, and does not upload the contact-attempt history.

Tap the spot status to open the unified Spots map. Reception markers include distance and initial bearing from the configured station grid. When the same receiver supplies multiple retained reports from one source, its detail shows the SNR change between the two newest reports. The line above the map summarizes the most recent transmission: unique receivers and grids, median and farthest path, directional spread, PSK Reporter/RBN coverage, and exact versus probable attribution. Exact reports agree with the transmitted slot and expected RF frequency; probable reports satisfy the wider fixed time and frequency bounds.

The lower-left map attribution is also the map-source button. Tap it to choose Automatic or a specific global or national map. The picker temporarily covers the map, so it does not reserve any of the map viewport. The same retained choice is used by the Spots, Path Outlook, and Find an activation location maps; changing it on either selectable map changes every map. Automatic uses USGS in the United States, Natural Resources Canada in Canada, and BKG TopPlusOpen elsewhere. A specific national map is not substituted outside its coverage or when its service is unavailable; CQFTx shows its retained tiles or the unavailable-tile background.

While the app is open on Wi-Fi, GNSS selects automatic map coverage: national zooms 1–8 for the current US/Canada coverage, regional zooms 9–11 within 250 km, and local zooms 12–13 within 50 km. Small position changes do not restart the coverage plan; it recenters after 25 km or a country change. Each cache has its own 512 MiB limit, so local browsing cannot evict broader coverage. Downloads pause when the app stops, Wi-Fi is lost, or a tile fails, and resume on a later app/Wi-Fi restart or coverage change. Unsupported exact map providers remain viewport-only.

After 30 days, CQFTx checks retained image versions. An unchanged image receives another 30 days without downloading its image body. Canadian base maps and labels are checked separately. Failed checks preserve old tiles for offline use. Coverage is limited by available cache space; the app does not guarantee a complete offline package for very large areas. National/regional maps survive Android cache cleanup; local detail may be removed by Android.

POTA and SOTA marker details identify the spotter and feed source when supplied, show whether the station is needed or worked in the selected context, identify an active QSO and recent local decode, and retain frequency changes plus stale or QRT markers for five minutes. Cached activity catalogs add jurisdiction and multi-reference context for POTA, and association, region, elevation, points, and activation history for SOTA. A data-quality line reports unmapped observations, four-character locator precision, PSK/RBN disagreement, future or old timestamps, and the age of each available feed.

WWFF activators from the official Spotline feed appear as green leaf markers. The WWFF count in the Spots title reflects current spots matching the selected band and FT8/FT4 mode. Marker details include the WWFF reference and reserve name, spotter provenance, frequency, age, and remarks.

Activator-spot feeds and activation-location catalogs are separate caches. A spot-location fallback is always a local lookup by the spot's exact program reference: it never starts a directory download or geocoder, chooses the nearest park, infers a site from the activator's callsign, or uses the operator's GNSS position. An unresolved spot remains in its source count and station list, but it has no map marker and is reported as unmapped in the data-quality line.

Each incoming activity feed retains its last successful snapshot in memory while CQFTx is running. A polling failure or offline transition preserves that snapshot with its original fetch time; spots continue to age, expire, and respond to the selected band and mode. A successful valid empty snapshot clears the prior list. This spot snapshot is not durable across an app-process restart. The separate program-location catalogs are durable, and a newly updated catalog is used to resolve missing spot coordinates on the next successful spot poll; it does not silently move markers in the already retained snapshot.

The transparent HF summary beside the map's Time control provides minimized NOAA space-weather context without reducing the map. Tap it to show the details panel; use Minimize in the panel header to give that space back to the map. When minimized, the map expands to the available phone or tablet viewport. Its automatic fit prevents unused map bands on a newly sized dialog, while any zoom you select remains under manual control. On compact screens, PSK upload moves into the Time row and an offline Reconnect action overlays the map instead of consuming a separate row. The panel reports the NOAA R, G, and S scales, planetary Kp, 10.7 cm solar flux, and a plain-language HF interpretation alongside the receiver evidence CQFTx is actually observing. Day/night and path context can be toggled independently; solar shading and the gray line are calculated locally from CQFTx's synchronized app clock.

The same panel contains Antenna settings. Enter the antenna height above local ground using the unit shown by CQFTx; it follows Android's regional measurement system. Select the closest broad configuration: horizontal wire/dipole, vertical/monopole, directional/beam, or other. CQFTx uses retained exact GNSS coordinates for the station marker and every RF route, distance, bearing, path outlook, and terrain calculation. It does not substitute the Maidenhead-grid center. Terrain horizon overlays 24 local azimuth sectors sampled to 32 km. Green sectors retain a low horizon, amber sectors are limited, red sectors contain a substantial obstruction, and blue indicates a possible open-water direction. Tap a mapped station to see its local horizon angle, dominant feature, compact elevation profile, confidence, and the bounded percentage adjustment applied as terrain context. Elevations come from the 90 m Copernicus DEM through Open-Meteo, so buildings, individual trees, small cliffs, antenna pattern details, and reflections remain outside the model.

When internet connectivity is unavailable, CQFTx retains the last complete NOAA snapshot and cached spots. Offline information is explicitly marked, aged, and visually subdued; it is not presented as a live warning. Day/night context keeps updating locally. The last complete terrain horizon is also retained for its sampled location. Retry and Update terrain request their respective refreshes after connectivity returns.

Tap a mapped station and choose Path outlook to open the dedicated route view. CQFTx shows an experimental opportunity estimate for now, 30 minutes, one hour, and two hours ahead. Direct PSK Reporter/RBN evidence, a current POTA/SOTA/WWFF report, receiver coverage, band and daylight geometry, and the retained NOAA snapshot contribute to the result. The explanation lists each factor and lowers confidence for cached data and longer horizons. This is an empirical operating aid, not an ITU-R P.533 circuit-reliability prediction or a guarantee that the remote operator is listening and will answer.

After every transmission CQFTx waits for CAT-confirmed receive, restarts USB capture, and applies a short settling interval. Audio from an incomplete recovery can still provide positive decodes, but it cannot be used to conclude that a station failed to answer.

Choosing a decode filter

Filters change what you see. Hidden decodes still update station state, QSO state, ranking, and diagnostics. Messages addressed to your callsign remain visible in every filter, using the app's normal portable-callsign matching.

Filter Traffic shown in addition to messages addressed to you
All All retained received messages and local transmissions.
CQs Received CQ calls and your transmissions.
My Traffic All your transmissions, including CQ calls. Other received traffic is hidden, regardless of the selected QSO partner.
POTA / SOTA Traffic involving stations identified by current verified spots or recent decoded CQ POTA / CQ SOTA evidence, including your transmissions to them.
Current QSO Received traffic involving the selected partner, plus your transmissions.
Watched Received messages matched by enabled watch rules.
Relevant Traffic CQ and target-related traffic, relevant directed replies, and your transmissions.

Choose My Traffic beside CQs to follow your calls, incoming reports, acknowledgements, and sign-offs together. Choose Current QSO to also see your partner's retained traffic with other stations. On narrow layouts, scroll the filter row horizontally to reach the remaining choices.

RX and TX rows share a chronological 20-window limit and an absolute 10-minute lifetime. Expiring a displayed message does not remove saved QSOs or logging state. Filters do not extend that history.

Open Watch rules from the main menu to create offline decode alerts. A rule can combine transmitting callsigns, CQ/activity designator tokens, Maidenhead grid prefixes, country names or ISO alpha-2 codes, state or province candidates, band, and mode. Values within one condition are alternatives; different conditions must all match. Callsigns prefixed with = require an exact match, while ~ also matches portable and other same-station variants. Each rule has its own 1–1,440 minute visual-alert cooldown, defaulting to five minutes. To bound decode work, up to 32 rules and 16 values per condition may be configured.

Every matching received decode displays an eye beside its message under every filter. The eye is not rate-limited. An eligible match also shows a persistent visual banner with the transmitting callsign, decoded message, and matching rule names; dismiss it with Close. CQFTx does not play alert audio, vibrate, request audio focus, or change the radio audio route. If CQFTx receives a match while off-screen, the latest eligible match is held and shown on return without consuming its cooldown until the banner is actually visible. Watch matching uses bundled offline data and never contacts QRZ or another network service.

Long-press any received decode to open its station snapshot. The dashboard summarizes known location and distance in Android's regional measurement system, separate POTA, SOTA, WWFF, and WWBOTA activity indicators, PSK Reporter evidence, retained decodes, and logged QSOs. Each activity indicator is gray without evidence and green when activity is found. Live spots use the selected band/mode and existing expiration rules; recent POTA/SOTA CQ evidence is also shown. WWBOTA currently has no live activity feed, so cached bunker locations do not imply active stations. Open Integrations → QRZ.com from the main menu to validate QRZ Callbook credentials. CQFTx encrypts the saved password with Android Keystore, obtains a temporary QRZ XML Callbook session, and refreshes an expired session automatically. It stores only selected station fields in the station-state cache, so previously retrieved callbook information remains visible offline. Live lookup requires validated credentials, Internet connectivity, and a QRZ XML Callbook subscription.

QRZ Logbook upload uses a separate Logbook API access key. Configure it in the QRZ Logbook Upload section of Integrations → QRZ.com, directly below the Callbook lookup credentials and their validate/store controls. CQFTx validates the key with QRZ before enabling uploads and shows the selected book name, exact owner callsign, configured date range, and uploaded, pending, blocked, and local-only counts. The key is encrypted with a separate Android Keystore key and is never written to diagnostics or backups.

A QSO is always committed to CQFTx first. QRZ work occurs afterward and cannot delay completion, transmit timing, or the next contact. Offline QSOs remain in a durable queue. CQFTx drains the queue oldest-first after connectivity returns, on startup, after another QSO, or when Retry now is selected. Transient failures use a unique network-constrained job with exponential backoff beginning at 30 seconds. A successful insert is not complete until CQFTx fetches that QRZ record and verifies the callsigns, UTC time, band, and detailed mode (FT8, FT4, SSB, FM, or AM). If that identity does not match, the accepted record remains available for safe read-back retry, its QSO detail explains the mismatch, and later queued QSOs continue processing. Review the local and QRZ records, then use Retry now.

The station callsign stored on the QSO must exactly match the QRZ logbook owner, including /P, /M, or another suffix. A mismatch is retained locally and shown as blocked; create another QRZ logbook for that callsign or export the QSO or activity as ADIF and upload it to the appropriate book. Tap a QSO in CQFTx's log to see its QRZ state: local only, pending, retry scheduled, accepted pending verification, verified, or blocked.

Initial key setup asks whether existing eligible QSOs should be uploaded; the default is no. ADIF imports remain local-only unless explicitly selected by a later Upload local-only QSOs action. Historical POTA/SOTA activations that predate the QRZ selection can be included only through the separate historical-activation approval. An activation explicitly unchecked by the operator remains excluded from later uploads.

To import a TrustedQSL backup on the tablet, open Integrations → LoTW → Choose TQSL backup (.tbk) and select the file in Android's document picker. CQFTx checks the certificate and matching station-location entries, then shows the identities for review. Confirm Import backup to replace the previously imported copy. The app encrypts its copy in private device storage; the original file stays where it is. Replacing or removing a backup stops LoTW uploads first; if that cannot complete, the saved backup is retained. Remove imported backup deletes the app's copy. Importing a backup does not enable LoTW uploads or submit any QSO. Tap Check local LoTW signing to test the imported certificate and station on the device. CQFTx signs and verifies a disposable record in memory, then discards it. This check does not submit a contact or confirm LoTW acceptance. Password-protected TQSL keys are identified but cannot yet pass this check. After a successful local check, Enable LoTW uploads starts delivery for new eligible QSOs. LoTW uses the signed file as its upload credential; the setup check itself never contacts LoTW. Stop LoTW uploads preserves the local log and per-QSO receipts. A lost upload response is marked Needs review and is not automatically sent again.

At activation start, select QRZ, ClubLog, and LoTW separately. Unavailable destinations cannot be newly selected. The selections can be changed in the activity overview until the first local QSO is saved, then they lock. Normal QSOs follow each configured destination's global upload setting.

For Normal QSOs, automatic logging skips a repeat with the same station and contact on the same mode and dial frequency within five minutes of a saved contact. A completed decode row with no message to send also creates no new log entry. Operators can still enter or log a genuinely separate contact explicitly. The cooldown does not apply when the frequency or mode changes.

To send one older normal QSO deliberately, open it in the local log and use its destination-specific Upload this saved QSO action. For LoTW, review and save the Contact established (UTC) date and time first if those fields are blank. CQFTx does not infer that time from the start of an older exchange. The action queues only the selected QSO and retains any existing receipt to prevent an automatic duplicate.

Decode history is partitioned by amateur band and digital mode. The pane shows only the selected band and FT8/FT4 mode. A new context therefore begins with an empty view; returning to a previously used band and mode restores up to 20 still-valid cached windows for that context. Changing band or mode does not shorten another context's cache lifetime.

Each decode-window group begins with the same compact E or O badge used in the waterfall. The badge identifies whether that group belongs to an even or odd FT8/FT4 window.

Decode colors are:

If a worked station moves to another park, its current POTA spot makes the new park eligible for another QSO. When that spot is missing or still shows the old park, choose Call despite priority in the station's priority options, then select the station again. This allows the call during an activation without clearing worked history. The override does not change the logged park reference or bypass log duplicate checks; check the remote park information before relying on the new contact for park-to-park credit.

3. Waterfall and TX offset

Open the waterfall to inspect recent receive windows and select an open TX offset. CQFTx finds contiguous openings that persist across the analyzed windows and ranks them by width. The first recommendation for an opening centers the complete transmitted signal to maximize separation from neighboring signals. When fewer than three separate openings exist, CQFTx adds distinct, well-separated choices from the remaining verified-clear space within those openings. Proximity to the middle of the receiver passband is only a tie-breaker.

The waterfall provides:

Choosing an offset directly switches to Locked so the chosen value is used. During TX, the offset and mode change together for the next transmission.

Open-offset selection and the occupied-offset warning use the same occupancy score. Before an operator-initiated transmission, CQFTx examines only RX windows with the same even/odd parity as the intended TX window. Activity in the opposite parity does not produce a warning. An occupied offset produces a transient red toast; it does not require acknowledgement and does not block or disarm transmission.

When live PSK Reporter spots are available, CQFTx can also show a Possible TX offset collision banner. It compares the full on-air FT8 range, so stations using different radio dial frequencies can still overlap. The banner appears only when a receiver that has recently reported your station reports another callsign overlapping a slot in which you transmitted. It is an advisory based on delayed third-party reports; an absent banner does not prove the offset is clear. Check the offset when safe. CQFTx never moves the offset or stops TX for this warning. Use Warn about reported FT8 TX offset collisions in the Spots panel to turn this advisory on or off. The choice is saved across app restarts. Turning it off immediately hides the banner and stops receiving other stations' reports for this feature; your own spots remain available.

4. Calling a station

To work a station that is calling CQ:

  1. Tap its decode row.
  2. Confirm if the CQ is geographically directed elsewhere.
  3. CQFTx starts an outbound QSO and schedules the correct message in the station's listening slot.
  4. The software advances through call/grid, report, R-report, and final messages automatically.
  5. A valid completed exchange is logged automatically.

You can change the target at any time by tapping another received decode row, including while CQFTx is transmitting. The newly tapped station becomes the active target immediately. CQFTx checkpoints the previous exchange as Suspended in the QSO State Table without changing its reports, completed steps, retry state, or completion status.

When the current TX window is also a valid transmit window for the new target, CQFTx starts transmitting after the required radio/PTT preparation if it is receiving. If already transmitting a QSO, it keeps PTT asserted, discards queued audio for the previous message, and continues the new target's message at the current waveform position. This applies to any explicitly selected station, including directed replies and resumed exchanges, throughout the remaining waveform. An automatic CQ first stops and releases the transmitter before the selected QSO starts. A fresh transmission also needs enough time for the existing PTT preparation margin. Audio that has already reached the radio cannot be recalled, so a late switch can reduce the chance that the new message decodes. Target selection is never blocked by that timing. If no usable audio remains, or the new target listens in a different slot, the selection remains active and its message is sent in the next matching window.

The normal waveform end and return-to-receive deadline do not move. A selection made after the waveform ends still changes the target immediately, but there is no remaining message audio to play in that window. Automatic replies and retries retain their earlier start limits.

With a locked TX offset, changing targets preserves the selected offset. In Follow mode, the new target's offset is used. Tapping the active station again does not reset an exchange unless its retry limit has been reached.

To return to an exchange later, open the QSO State Table and tap Resume CALLSIGN beneath its Suspended row. CQFTx restores that station's saved exchange step, reports, retries, slot, and offset, then makes it the active target. If another QSO is active, that QSO is checkpointed as Suspended by the same rule.

Canceling a directed-CQ confirmation or selecting an invalid target leaves the current contact and waiting callers intact. If replacement PCM generation fails, CQFTx restores the previous contact and holds TX for an explicit retry. A slow CQ shutdown retains the chosen caller until RX ownership is released.

Tap any QSO progress button—CALL, REPORT, R-REPORT, FINAL (RR73), or 73—to select that outgoing message immediately. During transmission, CQFTx requests a waveform replacement through the current transmitter; it does not extend the slot. Otherwise the message is prepared for the next eligible normal transmit window. Incoming decodes cannot advance past this operator selection until that message has been transmitted. After successful transmission, normal automatic progression resumes from subsequent received messages; the selection is a one-transmission override, not a persistent manual mode. Selecting another stage replaces the pending choice; End QSO still stops the exchange. The former Skip Step action is removed. Selection alone does not mark a message sent or claim a completed contact. If waveform preparation fails, TX is held and the selection is retained for an explicit retry.

Other traffic from the selected station does not pause the workflow. Only valid directed exchange messages advance QSO state.

If retries are exhausted, tapping the station again resets the retry counter and attempts the exchange again. End QSO cancels the active attempt without claiming a completed contact.

5. Calling CQ

Open CQ Options to select the CQ message and slot, then tap Start CQ. The options and start buttons are replaced by one large Stop CQ button.

When the readiness check blocks a new CQ, its button reads CQ blocked and cannot start transmission. Open Radio setup remains available beside the operating controls. A running CQ still exposes Stop CQ if a connection fails. The decode pane says when RX audio is unavailable or when it is waiting for the first receive window; a quiet completed window is reported separately.

The Integrations menu summarizes each service independently. QRZ shows key validation and pending, accepted, and verified counts; ClubLog shows its account check, whether new uploads are on, pending, submitted, verified, and blocked-QSO counts; LoTW shows signing readiness and pending, accepted, and confirmed counts. Accepted or submitted QSOs still await the service's remote verification stage. Open ClubLog to see the callsign, UTC time, and reason for each blocked QSO; the matching local log entry shows its reason too. A blocked receipt does not stop later ClubLog uploads. Check the remote log before resubmitting because a remote copy may already exist. Older saved-identity blocks whose retained ADIF now validates receive a readback-only check; CQFTx does not upload those QSOs again automatically. LoTW setup groups the imported TQSL backup and local signing check, web report access, and upload controls in that order.

Direct callers are retained in the CQ replies queue even when CQ has stopped or the queue was previously empty. Receiving a caller does not itself enable TX. When you tap Start CQ, CQFTx answers the highest-priority eligible waiting caller before sending another CQ. Duplicate contacts in the current operating context are excluded. Existing ignored-station, pending-log, band/mode, and caller-freshness rules still apply; a standby caller needs a fresh reception to be selected automatically.

If a station uses all retries without replying, its unfinished exchange is preserved and removed from the active queue. In Assisted or Full, while CQ remains authorized, CQFTx proceeds to the next eligible waiting caller, excluding the timed-out station for that handoff. If nobody is waiting, only Full resumes CQ automatically, subject to the configured Max calls limit. An operator stop, TX hold, or a newly selected QSO prevents an old timeout callback from starting another contact.

While CQ is authorized:

  1. CQFTx transmits only in the selected slot.
  2. It receives and decodes in the opposite slot.
  3. A valid reply in the direct response window stops CQ.
  4. CQFTx ranks eligible responders and automatically starts the best one.
  5. The QSO proceeds through logging without operator interaction.
  6. After completion, None ends automatic answering. Assisted and Full retain the authorized session and select the next eligible caller through the normal TX checks. A TX hold prevents continuation. With an empty queue, Assisted keeps listening; Full starts another bounded CQ run.

Tap Stop CQ to revoke automatic reply authorization. Later directed messages remain visible and selectable, but they cannot automatically start a QSO from the stopped session.

A first signal report is a valid shortened reply. CQFTx sends the corresponding R-report. An R-signal report may start directly at RR73 when the retained station history supports the exchange. An isolated RRR, RR73, or 73 without report-exchange evidence cannot create or log a new QSO.

Outgoing signal reports use the station's latest accepted received signal strength. When later decode stages refine the same message, the displayed decode uses the latest measurement at the same trust level, even when it is weaker. A suspect duplicate does not replace a trusted decode in history or change the outgoing report. Explicitly accepting an AP decode updates its history entry while retaining its operator-accepted label; if a newer reception exists, its signal strength remains the outgoing report even when the older accepted message advances the exchange. Selecting a retained decode without a current station record uses that decode's measured signal strength.

POTA and SOTA replies retain priority over ordinary replies. Within the same eligibility class, R-reports rank ahead of first reports, which rank ahead of grid replies. Equal-stage replies retain first-response order.

Grid-only contest replies

Some FT8/FT4 contest exchanges use YOURCALL THEIRCALL R GRID instead of a numerical signal report. CQFTx recognizes this as an acknowledged grid from the selected station. If CQFTx has already transmitted your grid in that contact, it proceeds to RR73. Otherwise it sends your ordinary grid message first and waits for acknowledgement. Report stages are not required for this exchange; reports that were never sent or received remain blank in the log. The displayed RX signal strength is still the measured reception strength.

A manually selected stage remains pinned until its successful transmission; subsequent received messages resume automation. Repeated acknowledged grids for an already logged contact resend RR73 for that contact and do not create another log entry. A later CQ from that station does not by itself turn a repeated acknowledged report into a new contact. This supports incoming grid-only exchanges, not a new contest transmit mode: the current native encoder is not used to generate R GRID messages. See the WSJT-X contest message examples.

6. QSO status panel

The QSO panel presents:

The entire exchange is automatic after target selection. Operator controls remain available for ending the QSO or handling exceptional recovery.

Log an incomplete active contact

Open QSO Options, then choose Log this QSO to save the active contact before its exchange completes. This is an explicit operator decision: known reports are saved and missing reports stay blank. The app keeps the exchange, retries, TX hold and automation authorization unchanged. Saving does not send a message or claim that a final message was received.

The contact appears in Last saved only after storage confirms success. Failed writes remain available for retry, including after restart when recovery storage succeeds. Repeated saves and later automatic completion reuse the saved exchange; they do not create another entry or overwrite corrections you made in the log. If you switch contacts while the options dialog is open, reopen it for the current contact. Standalone Send 73 and closeout-only retries cannot create a new contact.

Final 73 and manual resends

Enable Send final 73 during activations when starting an activation, or in Activity while an activation is running, to send one courtesy 73 after receiving a valid RR73. The setting defaults to off; Normal operation continues to send its usual courtesy 73. The contact is completed and saved before the courtesy transmission. Canceling that transmission does not remove the logged contact; a failed save remains available for retry.

To send or resend a final 73 after moving on, long-press the station's decoded row and select Send 73 in its station details. This works for already-worked stations and does not create a contact or change the existing log. It requires a recent, non-suspect decode with slot information on the current band and mode. The latest qualifying decode supplies the slot; your existing TX offset/lock setting still applies.

The status reports 73 to CALLSIGN queued. Use Stop QSO to cancel. Auto CQ stops, an on-air frame finishes normally, and the 73 uses the next eligible slot. Any previous exchange is suspended for explicit resume from the QSO State Table. Each resend requires another Send 73 action. A failed attempt does not repeat automatically. Leaving the operating screen cancels a pending manual 73; requests do not survive app restoration.

7. Logging

Normal operation uses the continuous station log. Every selected activation program uses a separate activation session and log.

CQFTx logs after durable exchange completion. Receiving RR73 or 73 can complete logging before a courtesy transmission. Receiving RRR prepares a required 73 in Normal operation and every activation, including POTA; only RR73 uses the activation fast-close policy unless the final-73 setting is enabled. A failed log write is retained for retry, and repeated completion callbacks cannot create duplicate records. A contact that is an award duplicate is still kept once in the master log; CQFTx excludes only its program-specific qualification credit.

Tap the QSO log icon in the main display to review and manage logs. The logbook contains QSO and activation views, search and activity filters, ADIF export, ADIF import, backup restore, and log-clearing controls. Log management is not part of the hamburger menu.

In Manage Logs, Save complete database backup… writes a SQLite file to the location selected in Android's file picker. This includes every operator database table: contacts, activations, pending exchanges, QRZ/ClubLog/LoTW delivery state, and watch rules. Verify that Android reports the save complete before moving or deleting the original device. Account credentials and catalog caches are stored outside this database and are not in this file.

Restore complete database from file… validates the selected file and shows a replacement warning. Stop CQ and finish any active QSO first. On confirmation, CQFTx validates and migrates an older supported backup in a private copy, saves the current database as a rollback backup, replaces all operator database rows in one transaction, and closes. Reopen the app to load the restored state. A corrupt or incompatible backup leaves the current database untouched. Merge QSOs from latest internal backup is a separate additive operation; it does not restore integration receipts or other database state.

Add a contact manually

On the logbook's QSO tab, select Add QSO to enter a completed contact. Manual entry supports SSB, FM, AM, FT8, and FT4 and works offline. Phone modes are logbook choices; the live operating-mode selector remains FT8/FT4. Opening the form does not stop CQ or an active exchange, or key the radio.

The full-screen form scrolls so Callsign and the operating fields remain reachable with the keyboard open. Done and Log & Next stay outside the scrolling form: below it across the full form width in both orientations. The station and activity context appears above Callsign. Mode, band, and frequency have visible labeled controls; check them before saving. A usable frequency reported by a ready radio fills frequency and band when the form opens. Without one, the selected band remains and frequency is blank for manual entry. New forms start in SSB, so confirm FM or AM when needed.

Enter the callsign, sent/received reports (default 59), and optional State/Province. Each field keeps its label beside the value, including fields under More details. Large fields have a thicker outline when focused; the fixed action area separates Done from the larger Log & Next action. Tap a report to select its value and replace it with the numeric keyboard. QRZ station lookup is optional, may fill an untouched State/Province, and never blocks offline logging. A Worked earlier hint shows the latest matching station contact across bands and modes; it does not reject a contact or determine award credit. The current activation program’s worked-reference field is shown directly. Expand Park-to-park / Summit-to-summit for other optional worked references. More details exposes UTC and grid.

Log & Next saves locally, clears contact-specific values, restores the report defaults, and returns focus to Callsign. A persistent Last logged row shows the saved callsign, band, mode, and UTC; tap it to edit through the normal log editor; in landscape, scroll the form to reach this row. The row appears only after confirmed durable saving. Software keyboard Next and plain Enter advance between visible fields; external keyboards can use Ctrl+Enter to submit and Tab to move focus. Done or Back asks before discarding unfinished contact data; tapping outside does not dismiss the form. The activity active when you open the form is attached to every contact entered in that form. With no active activity, entries go into the Normal log. Close and reopen the form when you need a different activity context. QRZ upload follows that activity's saved consent, or the configured QRZ book for Normal contacts.

After each save, mode remains selected and the app refreshes band and frequency from the radio for the next contact. If you edited either radio field manually, both values remain as entered. Read radio requests a fresh CAT read beside the visible operating fields. If the radio is unavailable or the read fails, the current values stay in place and the form prompts for manual entry. Verify the fields match the contact you are logging. UTC start/end and optional grid are editable under More details. FT8/FT4 use signed signal reports rather than the phone-mode default of 59. A validation or storage failure keeps the draft available for correction or retry; wait for Last logged before treating the contact as saved.

Review, export, and import

Log rows may be corrected. Swipe deletion offers undo. ADIF export is available for completed logs and ended activation sessions.

Open Manage, then Import ADIF, to select an ADIF file through Android's document picker. CQFTx reads at most 16 MiB and does not modify or remove the selected source. Before writing anything, it presents:

Only FT8, FT4, SSB, FM, and AM records with valid contacted and station callsigns, a valid UTC start that is not in the future, a frequency that maps to a supported amateur band, and valid supplied grid values are accepted. Grids are optional. Ordinary contacts require no activation reference; a station activity reference is required only when the imported record explicitly identifies the operator's contact as part of an activation. These are the same minimum viable-QSO checks used before CQFTx exports a log. Cancel leaves the log unchanged. Confirming Import first writes and verifies a complete pre-merge database and JSONL backup, then merges every accepted QSO in one SQLite transaction. Any merge failure rolls back the entire batch. The final report gives added, duplicate, and rejected counts; duplicate detection is rechecked during the transaction in case the log changed after preview.

8. Activation programs

Open Activity. Select POTA, SOTA, WWFF, or WWBOTA to start with one program, or use Find an activation location when an exact GNSS position is available. Program-first setup offers Find nearby, Search locations, and manual reference entry for the selected program.

Location-first discovery immediately opens the full-screen cached-locations map for all selectable programs. It centers on the current GNSS position and initially shows an area extending 20 km north, south, east, and west; there is no intermediate filter form. Each provider-owned result appears under its stable program/reference identity with only its evidenced program badges. Tapping a marker shows the location, coordinates, distance, references, and evidence. Choose the activation action explicitly, then select the primary program when the location supports more than one.

Completed pan, pinch, or zoom-button gestures query the retained index for the visible map area and show at most 200 results. Tapping a marker does not perform another query. The recenter action returns to the current station position. The same retained map-tile cache is used offline; a missing background tile does not remove cached activation locations or prevent manual reference entry.

All discovery queries are local and do not wait for Internet. While a discovery or activation-setup view is open, CQFTx uses each live GNSS position fix so a new nearby lookup starts from the latest available coordinates. Program-first nearby lookup reads the selected program's own cached catalog, uses a fixed 200 km radius, and lists the ten closest results. Search locations also reads that provider catalog directly. When available, the combined location index adds verified references from other programs to the selected result; it is not required to choose the primary location.

Opening discovery, changing a selection, and moving the map never download or rebuild a catalog. Provider directories refresh separately in the background. Only a changed, verified provider generation rebuilds the shared location index used by the combined map. A failed download, parse, database replacement, or shared-index rebuild keeps the last complete generation. These caches are durable across app restart and contain no operator logs. When GNSS or a catalog is unavailable, enter a reference manually; CQFTx retains it as an unverified snapshot for that activation.

After choosing a location, select Choose programs at this location to review its references. Choose one primary activation type and explicitly select any secondary references. The primary type controls the CQ message and automatic-spotting choice. Identical non-empty location names merge into one result and are labeled as exact-name matches; matching coordinates alone do not create that relationship. CQFTx may show references from another catalog within 1 km as possible matches, but distance alone never proves eligibility. To use one, confirm whether it is the same site, located within the reference, or overlaps its activation area. That confirmation can apply only to the current activation or be remembered on this device. Remembered mappings continue to be applied automatically during later location-index rebuilds.

Activation setup includes Log this activation’s QSOs to QRZ.com when a validated QRZ Logbook key is enabled. Each activity type remembers its most recent selection. The active activation may change the choice until its first QSO is committed locally; the choice then locks for that activation. When QRZ is not configured, the checkbox is disabled but activation setup and local/POTA export logging continue normally.

Starting an activity changes logging and CQ context; it does not change an operating mode.

For POTA:

  1. Start a POTA activity.
  2. Choose a nearby park from GPS results or enter a reference manually.
  3. Verify the reference and grid.
  4. Optionally enable automatic self-spotting.
  5. Start CQ or tap another station as desired.

Automatic POTA spotting waits for the first successful activation transmission, refreshes after frequency or mode changes and at the configured interval, and posts QRT when the activity ends. It is available only when POTA is the primary activation type. A secondary POTA reference provides a manual POTA spotting action instead.

For SOTA, choose or enter the summit reference, then operate the same way. SOTA spot submission remains a manual action.

For WWFF, choose or search the cached official directory, or enter one WWFF reference manually. CQFTx shows progress toward 44 qualifying contacts for the session. Incoming activators appear from the WWFF Spotline feed when their spots match the selected band and FT8/FT4 mode. Outgoing WWFF spotting remains an explicit action that opens Spotline; CQFTx does not submit automatically.

For WWBOTA, choose a nearby bunker from the cached official master list, search by reference or name, or enter a full B/<scheme>-NNNN reference. Up to five co-located bunker references may be entered as a comma-separated list. CQFTx shows 25 qualifying contacts for HF or mixed-band operation and five for VHF-only. The same station can earn another contact on another band; merely changing mode on the same band does not add another. This progress is an operating aid, not an award adjudication. WWBOTA spotting opens the manual cluster action; CQFTx does not submit automatically without an approved provider policy. WWBOTA publishes an API, but CQFTx's first integration keeps the external write operator-driven until its fixed rate, identity, and conflict rules complete field validation.

CANParks closed in September 2026 and is no longer available for location discovery, activation setup, incoming spots, or outgoing spotting. Existing CANParks log records remain readable and retain their historical ADIF association.

Every logged QSO receives an immutable copy of all selected program references. The general ADIF export preserves every association; award-specific export creates the required program/reference projections. POTA, SOTA, and WWFF dedicated fields remain compatible. Programs without dedicated ADIF fields, including WWBOTA, use the appropriate MY_SIG/MY_SIG_INFO and SIG/SIG_INFO associations.

9. Radio safety

CQFTx verifies the selected radio and audio routes before every transmit. Failed CAT, removed USB audio, incomplete waveform output, or a route change aborts the transmission and returns the radio to RX without advancing QSO state.

On capable radios CQFTx monitors power and SWR. A protection event:

QMX firmware SWR protection is polled through the radio driver. A red lock indicates the radio itself is in protection mode; clear that condition at the radio before transmitting again.

10. Background behavior

Optional background receive uses an Android foreground service. Leaving the app stops active or automatic transmission and puts an active contact on TX hold. Returning to the app keeps RX available; use Send QSO, confirm a valid new station selection, or tap Start CQ to re-enable TX. A USB detach immediately invalidates the radio session; reconnecting requires fresh CAT and audio validation.

11. Diagnostics and recovery

Use Diagnostics to inspect radio identity, CAT replies, audio routes, receive-window quality, decode timing, TX timing, SWR/power, QSO decisions, and log outcomes.

Export Diagnostics creates a ZIP suitable for field-failure review. Reset Operating State clears the active QSO, CQ authorization, prepared transmission, and retained decodes while preserving completed logs and station configuration.

Debug builds include RF-safe operation, pressure, QSO-state, and native-audio simulators. These harnesses never key a physical radio.

12. Quick starts

Work a CQ

  1. Connect and validate the radio.
  2. Select band and FT8/FT4.
  3. Choose or lock a clear TX offset.
  4. Tap an eligible CQ.
  5. Let CQFTx complete and log the exchange.

Call CQ

  1. Connect and validate the radio.
  2. Select band, FT8/FT4, CQ message, and slot.
  3. Choose or lock a clear TX offset.
  4. Tap Start CQ.
  5. Let CQFTx select and complete valid replies.
  6. Tap Stop CQ when finished.

Start an activation

  1. Open Activity and select a program, or choose Find an activation location.
  2. Choose a nearby cached location, search the cache, or enter a reference manually.
  3. Select a primary type and any verified secondary program references. Confirm any proximity-only suggestion before it can be used.
  4. Confirm grid, radio, band, mode, and TX offset.
  5. Enable automatic POTA self-spotting if POTA is primary and desired. Secondary POTA, SOTA, WWFF, and WWBOTA provide manual spotting actions.
  6. Start CQ or select a CQ station.
  7. End the activity explicitly and export its ADIF log. POTA setup can optionally copy the activating park reference into each ADIF COMMENT; the checkbox is off on first use and remembers the operator's most recent choice. Structured POTA fields are always exported independently of that compatibility option.

Retuning and pending QSO recovery

When CAT reports a changed dial frequency, CQFTx suspends the current QSO, cancels prepared transmission and CQ continuation, and retains the exchange for later resumption. Select the station or start CQ again on the intended frequency to resume operation. Decodes still completing from the previous operating context cannot advance the new exchange.

End Activation is available even when some QSO logs have not been saved. The confirmation warns that those contacts remain pending. Ending retains them under the original activation; you can start another activity while recovering them. The end-of-activation ADIF export is available immediately and includes saved and available pending contacts, deduplicated in favor of saved records. It also works when every available contact is pending. Review the warning and contacts before submission. Ending or exporting does not discard pending contacts, resolve their recovery state, or claim that they were saved to the local log. The activation's own end state must still be stored; if that write fails, CQFTx reports the failure and allows another attempt.

Skipping a final transmission saves a pending log confirmation for recovery after restart; it does not log the contact automatically. If storage cannot be confirmed, CQFTx warns you to keep the app open until you confirm or discard the entry. Automatic handoff to the next CQ caller excludes STANDBY stations. They remain visible and manually selectable; a fresh qualifying reply restores automatic eligibility.

Discarding a pending QSO displays Discarding… until storage confirms removal. Logging and a second discard are unavailable during that operation. If removal fails, the entry remains pending and CQFTx reports that it can be retried.

Viewing and skipping queued callers

In the left QSO management area, Queue opens a scrollable list of the active contact and waiting callers in priority order. Standby and closeout-only entries are labelled separately. Close and reopen the list to refresh it.

Skip station immediately selects the next eligible waiting caller using the normal transmit controls. The unfinished contact is retained but its current queue entry is removed; a fresh reply can add it again. If no eligible caller remains and Full automation is still authorized, CQ resumes after the current transmit owner returns the radio to RX. The configured Max calls limit still applies. Assisted keeps listening for new callers without sending CQ; None stops automatic answering after the contact. If CQ is disabled, transmission stops. This differs from Stop QSO, which stops the operation instead of advancing through callers.

In Full, CQ also resumes when the last queued QSO completes or exhausts its retries. Stop CQ revokes this authorization; Stop QSO holds transmission and ends the CQ session. Safety/readiness failures still prevent automatic transmission.

QSO automation level

Under Station Setup, use the three-position QSO automation slider:

Setting Caller handling Empty queue
None (default) Answer one station per operator-started CQ session End automatic answering
Assisted Work eligible callers in queue order Keep listening and answer fresh callers; do not send CQ
Full Work eligible callers in queue order Resume CQ, with the configured Max calls limit

Changing the setting does not authorize transmission. Start CQ explicitly to start a session at the selected level. Changing levels invalidates the old session authorization; it does not interrupt a contact already underway. Skip station remains an explicit way to select the next eligible caller in any level. Stop QSO and Stop CQ revoke the session; queued callers remain subject to duplicate, freshness, AP-trust, and operator-hold checks.

Each activation started in Assisted or Full requires Continue / Cancel on an offline rules notice for its selected programs. Cancel leaves the activation unstarted. Selecting Full also requires a new acknowledgement before the slider accepts that selection. There is no “remember my choice” bypass.

The notices cite POTA rule 6, WWFF §3.10, SOTA §3.7.1, and WWBOTA general/national award rules, as applicable. POTA and WWFF expressly require personal operator action; the displayed SOTA and WWBOTA provisions are not presented as an explicit software-automation ban.

The Full notice explains U.S. control-operator duties and control arrangements under 47 CFR §97.3, §97.105, §97.109, and automatic digital station restrictions under §97.221. Supervised sequencing is not necessarily regulatory automatic control. Continue acknowledges the notice, rather than certifying legal or program compliance.

Combined RR73 and next-caller report

In Assisted or Full, an eligible caller waiting in the same mode and transmit slot can be announced in the current contact's closing frame:

K1ABC RR73; K2NEW <MYCALL> -12

The first callsign is the contact being completed. Its log is created only after successful transmission, through the normal durable-log/recovery path. The second callsign receives its first signal report in that same frame. If it does not reply, the next attempt sends the ordinary K2NEW MYCALL -12; it does not repeat the previous contact's RR73. A response arriving while logging finishes retains its more advanced QSO stage. Existing retry limits and operator stops apply.

The Type 0.1 format hashes the transmitting callsign (shown in angle brackets) and represents reports in two-decibel steps from -30 to +32. Both recipient calls must fit its standard-callsign encoding. Unsupported calls, a different slot/mode, an ineligible queue target, or an explicitly forced stage retain normal messages.

Decoder 0.4.93 adds reception of this compound frame. A known transmitting callsign produces separate RR73 and report observations for the two recipients. An unresolved callsign hash remains visible as <...> but cannot drive a QSO. Decoder 0.4.93 has passed its reviewed host and tablet qualification, including FT8/FT4 round-trip checks. App release checks remain separate and are still in progress. Historical failures remain recorded.