Fast, minimal terminal-based amateur radio logger
CQOps est un logger radioamateur rapide, conçu en priorité pour le terminal, destiné aux opérateurs qui souhaitent saisir leurs contacts de manière fiable au clavier tout en conservant une faible charge système. Il convient à l’utilisation en station, aux opérations portables, aux stations de club, aux field days ainsi qu’aux machines de classe Raspberry Pi ou aux anciens ordinateurs portables.
CQOps enregistre toujours les QSO localement en premier. Les intégrations utilisant Internet sont facultatives.
CQOps est centré sur la saisie rapide des QSO, l’enregistrement local des données et une utilisation pratique sur le terrain.
L’enregistrement local ne nécessite pas d’accès à Internet. Les fonctions réseau sont ignorées en mode --offline.
CQOps convient notamment aux utilisateurs suivants :
CQOps n’a pas vocation à remplacer toutes les fonctions d’un logger de bureau complet ou d’une plateforme web de log. Il se concentre sur la saisie rapide dans le terminal, l’utilisation sur le terrain, le fonctionnement hors ligne et les stations partagées.
CQOps a été conçu en tenant compte des besoins des clubs radioamateurs. L’opérateur actif est toujours visible dans la barre d’état — un seul coup d’œil suffit pour savoir qui utilise actuellement la station. Le changement d’opérateur nécessite une seule combinaison (Ctrl+O) et prend effet immédiatement : l’indicatif et le nom de l’opérateur sont inscrits dans chaque QSO suivant. Aucun logout, aucune demande de mot de passe, aucune interruption.
Les logs, presets d’équipement et concours sont parcourus de la même manière — Ctrl+L, Ctrl+R, Ctrl+C. Une station de club avec des opérateurs tournants, plusieurs équipements et plusieurs concours actifs peut changer de contexte en moins d’une seconde, sans toucher à la souris.
Lors des field days et des événements publics, le CQOps Live dashboard peut projeter une carte en temps réel, le flux des QSO et des statistiques sur un grand écran. Les visiteurs et les membres du club peuvent suivre l’activité de la station sans se regrouper autour du terminal de l’opérateur. Il suffit d’activer l’intégration HTTP Server et d’y accéder depuis n’importe quel appareil équipé d’un navigateur web.
Parcourir toutes les versions :
https://github.com/szporwolik/cqops/releases
| Paquet | Lien | Remarques |
|---|---|---|
| Programme d’installation | cqops-setup.exe | Recommandé pour la plupart des utilisateurs. Ajoute CQOps au menu Démarrer et au PATH. |
| ZIP portable | cqops-windows-portable.zip | Extraire et exécuter sans installation. |
Ajoutez le dépôt Cloudsmith APT, puis installez :
curl -1sLf 'https://dl.cloudsmith.io/public/szporwolik/cqops/setup.deb.sh' | sudo -E bash
sudo apt update
sudo apt install cqops
Ou téléchargez le .deb directement :
| Architecture | Lien | Usage |
|---|---|---|
| amd64 | cqops_amd64.deb | La plupart des PC Intel/AMD |
| arm64 | cqops_arm64.deb | Systèmes ARM 64 bits |
| armhf | cqops_armhf.deb | Raspberry Pi OS 32 bits |
Installez le paquet téléchargé :
sudo dpkg -i cqops_*.deb
Ajoutez le dépôt Cloudsmith RPM, puis installez :
curl -1sLf 'https://dl.cloudsmith.io/public/szporwolik/cqops/setup.rpm.sh' | sudo -E bash
sudo dnf install cqops
Installez depuis l’AUR :
# CachyOS (utilise paru par défaut)
paru -S cqops-bin
# Arch / Manjaro
yay -S cqops-bin
Également disponible via pacaur, aura ou makepkg manuel. PKGBUILD sur aur.archlinux.org/packages/cqops-bin.
| Architecture | Lien | Usage |
|---|---|---|
| amd64 | cqops-linux-amd64.tar.gz | La plupart des PC Intel/AMD |
| arm64 | cqops-linux-arm64.tar.gz | Systèmes ARM 64 bits |
| armhf | cqops-linux-armhf.tar.gz | Raspberry Pi OS 32 bits |
| Architecture | Lien | Usage |
|---|---|---|
| Apple Silicon | cqops-darwin-arm64 | Mac M1/M2/M3 |
| Intel | cqops-darwin-amd64 | Mac Intel |
Installation manuelle :
chmod +x cqops-darwin-* && sudo mv cqops-darwin-* /usr/local/bin/cqops
git clone https://github.com/szporwolik/cqops.git
cd cqops
make build
make install
La compilation depuis les sources nécessite Go 1.26 ou une version ultérieure.
| Exigence | Valeur |
|---|---|
| Taille minimale du terminal | 80×24 caractères |
| Taille recommandée | 80×43 caractères ou plus |
| Terminal Windows recommandé | Windows Terminal |
| Terminal prenant en charge Kitty graphics | Kitty, Ghostty ou WezTerm |
cqops # Start the TUI
cqops --offline # Start without network activity
cqops --version # Print version and exit
cqops --help # Show help
Au premier démarrage, CQOps ouvre l’assistant de configuration. Seules les informations essentielles de la station sont nécessaires pour l’enregistrement local. Les intégrations réseau peuvent être ignorées puis configurées ultérieurement.
| Page | Configuration effectuée |
|---|---|
| Station & Logbook | Log initial, indicatif de station, opérateur, grid locator, références et zones facultatives, Wavelog URL/API/station profile ID |
| Rig | Preset d’équipement, modèle, antenne, puissance, backend, rotor facultatif et réglages UDP WSJT-X facultatifs |
| Integrations | Réglages de recherche du callbook (QRZ.com, HamQTH, QRZ.RU, Callook.info) |
| General | Fuseau horaire IANA |
| Summary | Vérification et enregistrement |
Backends d’équipement pris en charge :
rigctld.| Key | Action |
|---|---|
| Ctrl+S | Valider et continuer ; sur Summary, enregistrer et démarrer CQOps |
| Esc | Revenir en arrière |
| F10 | Quitter |
| Tab / Shift+Tab | Passer d’un champ à l’autre |
| Space | Basculer les cases à cocher |
Les réglages de l’assistant peuvent être modifiés ultérieurement avec F9.
Démarrez CQOps :
cqops
Terminez l’assistant de configuration en indiquant au minimum votre indicatif et votre grid locator.
Ouvrez QSO form avec F1.
Saisissez l’indicatif du correspondant. CQOps convertit automatiquement les indicatifs en majuscules.
Complétez les autres champs. Si l’équipement actif est connecté par flrig ou Hamlib, CQOps peut remplir automatiquement frequency, band, mode et submode.
Appuyez sur Enter pour enregistrer.
Si un avertissement DUPE! apparaît, appuyez à nouveau sur Enter pour enregistrer malgré tout, ou sur Esc pour annuler.
Le QSO enregistré apparaît immédiatement dans le tableau Recent QSOs.
CQOps utilise une disposition fixe dans le terminal :
┌─ Status Bar ───────────────────────────────────────────────────────────────────┐
│ CQOps v0.8.9 Log Portable Rig FTDx10 Call SP9MOA/P │
│ Net WSJT Hamlib DXC WL 23:00L 2100Z │
├─ Tab Bar ──────────────────────────────────────────────────────────────────────┤
│ F1 QSO F2 QRZ F4 DXC F5 HRD F6 REF F7 BPL F8 LOG F9 CFG │
├─ Main Content Area ────────────────────────────────────────────────────────────┤
│ QSO form, partner view, map, editor, dashboard data, or active screen content │
├─ Help Bar ─────────────────────────────────────────────────────────────────────┤
│ ? Help • Enter Log QSO • F10 Quit │
└────────────────────────────────────────────────────────────────────────────────┘
La Status bar affiche :
L,Z.Les libellés courants comprennent Net, WSJT, Rig, Flrig, Hamlib, Rotator, DXC, WL et GPS. Le libellé GPS suit la même convention de couleurs : rouge lorsque la connexion est absente, jaune lorsque le GPS est connecté sans fix et blanc lorsqu’une position est acquise.
| Couleur | Signification |
|---|---|
| Blanc/par défaut | Connecté ou actif |
| Jaune | Désactivé, en cours de connexion ou normalement hors ligne |
| Rouge | Erreur ou déconnecté |
| Couleur d’accent + gras | WSJT-X émet |
| Key | Tab | Screen |
|---|---|---|
| F1 | QSO | QSO form et Recent QSOs |
| F2 | QRZ | Partner view : données du callbook, carte, statistiques, photo |
| F4 | DXC | Spots et filtres de DX Cluster |
| F5 | HRD | Spots de PSK Reporter et carte de propagation |
| F6 | REF | Recherche de références SOTA/POTA/WWFF/IOTA |
| F7 | BPL | Band Plan Browser |
| F8 | LOG | Logbook Editor, ADIF, synchronisation Wavelog |
| F9 | CFG | Menus de configuration |
La Help bar affiche les raccourcis correspondant à l’écran actif. Appuyez sur ? pour ouvrir l’intégralité du Help overlay.
Avant le départ :
Sur le terrain :
Démarrez CQOps en mode hors ligne :
cqops --offline
L’opérateur actif est enregistré dans le champ ADIF OPERATOR.
Chaque log peut conserver ses propres informations de station, réglages Wavelog, réglages de concours et opérateurs.
Un preset d’équipement peut contenir le backend, le modèle, l’antenne, la puissance, les réglages du rotor et les réglages UDP de WSJT-X.
Lorsque l’intégration UDP de WSJT-X est activée, CQOps peut recevoir les messages ADIF de WSJT-X et enregistrer automatiquement les QSO numériques terminés.
Les QSO enregistrés automatiquement :
Si l’opérateur indiqué par WSJT-X ne correspond pas à l’opérateur actif dans CQOps, un avertissement est affiché.
Avant une longue session numérique, vérifiez :
CQOps enregistre toujours les QSO localement en premier. La synchronisation Wavelog est facultative.
| Action | Where | Shortcut | Notes |
|---|---|---|---|
| Upload unsent QSOs | Logbook Editor | w |
Envoi par lots de 50 |
| Download from Wavelog | Logbook Editor | Ctrl+W |
Téléchargement incrémental avec last_fetched_id |
L’état d’envoi est suivi pour chaque QSO :
En cas d’échec de l’envoi, le QSO reste dans le log local et l’opération peut être réessayée ultérieurement. Le purge d’un log réinitialise la fetch ID à 0, ce qui permet un téléchargement complet.
QSO form est l’écran principal d’enregistrement. Ouvrez-le avec F1.
CQOps peut remplir les champs à partir des sources suivantes :
| Source | Champs |
|---|---|
| flrig / Hamlib | Frequency, Freq RX en split, Mode, Submode |
| Callbook (QRZ.com / HamQTH / QRZ.RU / Callook.info) | Name, QTH, Grid, Country, CQ zone, ITU zone, DXCC, Continent, photo |
| Base REF | Références SOTA, POTA, WWFF et IOTA |
| Wavelog lookup | État worked/confirmed si configuré |
| Données DXCC/préfixes | Données liées au préfixe et au pays |
| Colonne gauche | Colonne centrale | Colonne droite |
|---|---|---|
| Date UTC | Mode | Power W |
| Time UTC | Submode | Freq RX |
| Call | Name | SOTA Ref |
| RST sent | QTH | POTA Ref |
| RST rcvd | Grid | WWFF Ref |
| Frequency MHz | Country | IOTA |
| Band | SIG | SIG Info |
| Exch sent | ||
| Exch rcvd |
Les champs Exch sent et Exch rcvd n’apparaissent que lorsqu’un concours est actif.
La ligne inférieure contient :
Les champs tels que Band, Mode et Submode peuvent être parcourus avec PgUp/PgDn.
Lorsque les deux grid locator sont connus, CQOps affiche la distance et l’azimut.
QSO form peut également afficher des indicateurs comme :
| Key | Action |
|---|---|
| Enter | Enregistrer le QSO |
| Ctrl+S | Envoyer un spot DX depuis le formulaire rempli |
| Esc | Annuler la confirmation de doublon |
| Enter dans la confirmation DUPE | Enregistrer malgré tout le doublon |
Ouvrez Logbook Editor avec F8.
Il permet de :
Les modifications apparaissent immédiatement dans Recent QSOs.
CQOps prend en charge l’import et l’export ADIF 3.1.7.
| Action | Shortcut |
|---|---|
| Import ADIF | Ctrl+I |
| Export ADIF | Ctrl+E |
L’import valide les enregistrements, ignore les doublons et affiche un résumé. Les QSO importés sont marqués pour l’envoi à Wavelog si la synchronisation Wavelog est configurée.
L’export peut contenir tous les QSO ou uniquement ceux filtrés par concours. CONTEST_ID est conservé.
Le traitement de mode et submode suit ADIF 3.1.7 comme décrit dans ce manuel :
QSO form comporte des champs séparés Mode et Submode. Les deux peuvent être parcourus avec PgUp/PgDn.
CQOps comprend un panneau léger de logging de concours destiné à une participation occasionnelle aux concours. Il ne remplace pas les loggers spécialisés comme N1MM, Win-Test ou TR4W. Pour une participation sérieuse en multi-op, multi-radio ou catégorie assisted, utilisez un logger de concours dédié. CQOps convient lorsque vous souhaitez donner quelques points, suivre votre rate pour le plaisir ou enregistrer quelques QSO de concours pendant une activation SOTA/POTA sans quitter votre logger habituel.
Créez ou configurez un concours dans Logbook Editor avec Ins.
La configuration du concours comprend :
| Marker | Replaced with |
|---|---|
@rst |
RST envoyé ou reçu |
@serial |
Numéro de série incrémenté automatiquement |
@cqz |
Zone CQ de la station DX |
@mycqz |
Votre zone CQ |
@itu |
Zone ITU de la station DX |
@myitu |
Votre zone ITU |
@grid |
Grid de la station DX |
@mygrid |
Votre grid |
Appuyez sur Ctrl+C pour parcourir les concours actifs ou sélectionnez-en un dans le menu Contest (F7). Les champs d’échange apparaissent automatiquement dans QSO form et les numéros de série s’incrémentent automatiquement.
Lorsqu’un concours est actif, la barre inférieure affiche un résumé en temps réel :
IARU-HF · IARU HF 45 QSOs Started 16:13 Last 14:04 ago Next #45 On 2:41
| Champ | Signification |
|---|---|
IARU-HF |
ADIF ID du concours, c’est-à-dire son identifiant exploitable par machine |
· IARU HF |
Nom affiché du concours, visible lorsqu’il diffère de l’ID |
45 QSOs |
Nombre total de QSO enregistrés pendant cette session de concours |
Started 16:13 |
Heure du premier QSO de concours de la journée |
Last 14:04 ago |
Temps écoulé depuis le dernier QSO de concours |
Next #45 |
Numéro de série qui sera envoyé lors du prochain QSO |
On 2:41 |
Temps total d’activité — somme des intervalles entre QSO inférieurs à 30 minutes |
Le champ Started est masqué sur les terminaux de moins de 120 colonnes. Le nom du concours et le temps On sont masqués en dessous de 100 colonnes.
Lorsqu’un concours est actif et que le terminal est suffisamment large, un panneau compact bordé de jaune apparaît à droite de QSO form :
╭──────────────────────────────────╮
│ Rate 2/h --/h │
│ Count 60m 0 hr 0 │
│ Peak 1m120 10m 54 60m 29 │
│ Avg 8/h Sess 5:36 │
│ QSO/min last 60m max 1 │
│ │
│ │
│ │
│ │
│ -60m now │
╰──────────────────────────────────╯
| Ligne | Champ | Signification |
|---|---|---|
| Rate | 2/h |
Rate sur les 10 derniers QSO — vitesse de courte rafale |
--/h |
Rate sur les 100 derniers QSO — affiche -- jusqu’à 100 QSO |
|
| Count | 60m 0 |
QSO enregistrés pendant les 60 dernières minutes |
hr 0 |
QSO enregistrés pendant l’heure en cours depuis :00 |
|
| Peak | 1m120 |
Meilleur rate sur 1 minute : 120/h correspond à 2 QSO dans cette minute |
10m 54 |
Meilleure fenêtre glissante de 10 minutes : moyenne de 54/h | |
60m 29 |
Meilleure fenêtre glissante de 60 minutes : moyenne de 29/h | |
| Avg | 8/h |
Moyenne de session — total des QSO divisé par le nombre d’heures depuis le premier QSO |
Sess 5:36 |
Durée totale de la session du premier au dernier QSO, en H:MM ou en minutes | |
| Chart | max 1 |
La minute la plus chargée comportait 1 QSO. Les barres affichent les QSO par minute |
-60m…now |
Bord gauche = il y a 60 minutes ; bord droit = maintenant |
Le graphique utilise des blocs Unicode (█) répartis sur quatre lignes de barres verticales. Les rates Peak omettent le suffixe /h, puisque Peak implique déjà « par heure ». Les durées omettent les secondes, qui ne feraient qu’ajouter du bruit avec une actualisation à la minute.
Pour soumettre votre log de concours, ouvrez Logbook Editor (Ctrl+E) lorsqu’un concours est actif. Lorsqu’un filtre de concours est appliqué, la boîte d’export ADIF propose d’exporter uniquement les QSO appartenant au concours actif. Le résultat est un fichier ADIF 3.1.7 conforme, avec les champs d’échange, les numéros de série et l’ADIF ID du concours conservés, prêt à être envoyé au robot de l’organisateur ou à son système de contrôle des logs.
Lorsqu’un concours est actif :
CONTEST_ID,Favorites enregistre des presets de frequency, mode et band dans trois slots, ce qui suffit pour les fréquences d’appel les plus utilisées. Les raccourcis utilisent Alt pour éviter les conflits avec les touches d’édition habituelles du terminal et fonctionner de manière fiable dans différents terminaux.
| Shortcut | Action |
|---|---|
| Alt+Ins / Alt+Home / Alt+PgUp | Rappeler un favorite du slot 1, 2 ou 3 |
| Alt+Shift+Ins / Alt+Shift+Home / Alt+Shift+PgUp | Enregistrer les frequency, mode et band actuels dans le slot 1, 2 ou 3 |
Favorites est enregistré dans la configuration et partagé entre les logs.
Exemple :
145.55.FM.2m.Ouvrez REF Lookup avec F6.
La recherche porte sur :
Vous pouvez rechercher par préfixe, nom ou identifiant de référence. Les références sélectionnées peuvent remplir QSO form.
Ouvrez Band Plan Browser avec F7.
Il offre un accès rapide à :
Une fréquence sélectionnée peut être utilisée pour régler l’équipement actif. Les données du plan de bandes peuvent également être exportées au format Markdown.
Toutes les intégrations sont facultatives. L’enregistrement local fonctionne sans elles.
CQOps prend en charge plusieurs fournisseurs de callbook avec cascade par priorité. Lorsque vous appuyez sur Ins dans le formulaire QSO, les fournisseurs sont interrogés dans l’ordre jusqu’à ce que l’un d’eux renvoie un résultat :
Si un fournisseur de priorité supérieure échoue ou est désactivé, le suivant est essayé. Lorsque Base call fallback est activé (par défaut : oui), CQOps essaie également l’indicatif de base (sans préfixe ni suffixe) si l’indicatif complet ne donne aucun résultat.
Activez et configurez les fournisseurs dans F9 → Callbook.
Dans QSO form, appuyez sur Ins pour remplir des champs du callbook tels que :
Partner view sous F2 peut afficher la photo de l’opérateur lorsqu’elle est disponible.
⚠️ Experimental. L’affichage des photos peut utiliser le protocole Kitty terminal graphics et nécessite un terminal compatible : Kitty, Ghostty ou WezTerm. Activez-le sous F9 → General → Kitty Graphics. Les terminaux standard et les sessions SSH sans transmission graphique utiliseront une image de remplacement composée de glyphes.
L’intégration Wavelog prend en charge :
Wavelog se configure par log actif avec :
CQOps enregistre toujours les QSO localement en premier. Un échec de l’envoi Wavelog ne supprime pas les données locales.
L’intégration flrig utilise XML-RPC sur HTTP.
Endpoint par défaut :
localhost:12345
CQOps peut lire :
En fonctionnement split, VFO A correspond à Frequency et VFO B à Freq RX.
Le contrôle du poste par Hamlib utilise le daemon TCP rigctld.
Selon le poste et les possibilités du backend, CQOps peut interroger :
CQOps gère proprement l’absence de prise en charge des noms de VFO lorsque cela est possible.
⚠️ Experimental. Le contrôle du rotor est expérimental. Vérifiez toujours les limites physiques de votre antenne avant toute utilisation. Soyez prêt à arrêter immédiatement le mouvement avec Alt+/. Utilisez cette fonction avec prudence : une mauvaise configuration peut endommager le rotor ou l’antenne.
Le contrôle du rotor utilise Hamlib rotctld.
CQOps prend en charge :
| Shortcut | Action |
|---|---|
| Alt+, | Modifier azimuth de −5° |
| Alt+. | Modifier azimuth de +5° |
| Alt+; | Modifier elevation de +5° |
| Alt+’ | Modifier elevation de −5° |
| Alt+\ | Orienter le rotor vers le cap de trajet calculé |
| Alt+/ | Arrêter le rotor |
L’intégration WSJT-X utilise les messages UDP de WSJT-X. CQOps analyse les messages ADIF et peut enregistrer automatiquement les QSO terminés.
Le libellé de l’équipement prend la couleur d’accent lorsque WSJT-X émet. Si l’opérateur indiqué par WSJT-X ne correspond pas à l’opérateur actif, CQOps affiche un avertissement.
CQOps peut lire la position d’un récepteur GPS et l’utiliser comme grid locator de la station — idéal pour les opérations portables, mobiles ou sur le terrain.
Deux backends sont pris en charge :
/dev/ttyUSB0.127.0.0.1:2947. Utile lorsque le GPS est partagé avec d’autres applications ou accessible par le réseau.L’indicateur GPS dans la barre d’état affiche :
| Couleur | Signification |
|---|---|
Rouge GPS |
Déconnecté / erreur |
Jaune GPS |
Connecté, pas encore de fix |
Blanc GPS |
Fix acquis, position verrouillée |
Lorsqu’un fix est obtenu, le grid locator de la station est remplacé par la position calculée à partir du GPS et marqué (GPS) dans la ligne d’état :
Rig SSB - FTDx10/Dipole · Grid JO62TJ43PL (GPS)
Activez Grid from GPS dans les réglages Station & Logbook pour utiliser le grid GPS dans l’enregistrement des QSO, les balises APRS, la carte du dashboard et les calculs de distance.
Grid precision se configure dans le menu Integration avec 10, 8 ou 6 caractères. La valeur par défaut est 10 caractères, soit environ 25 m de précision. Le grid est toujours calculé en interne à pleine précision puis tronqué au niveau de son utilisation.
L’intégration DX Cluster utilise telnet et nécessite un accès à Internet.
Serveur par défaut :
dxspots.com:7300
Les filtres comprennent :
| Key | Action |
|---|---|
| Enter | Remplir QSO form, régler l’équipement et revenir à QSO |
| Space | Régler l’équipement et rester dans DX Cluster |
| Backspace | Effacer tous les filtres |
Lorsque DX Cluster est connecté, QSO form bénéficie de deux fonctions supplémentaires :
L’intégration PSK Reporter nécessite un accès à Internet. C’est un excellent outil pour vérifier rapidement la propagation réelle : qui reçoit votre signal, ou qui recevez-vous actuellement sur une bande donnée ?
Elle fournit :
CQOps prend en charge trois types de service APRS. Choisissez celui qui correspond à la configuration de votre station :
| Service | Connection | Internet required |
|---|---|---|
| APRS-IS | TCP vers un serveur APRS-IS | Oui |
| KISS | Port série vers un TNC KISS matériel | Non |
| KISS Server | TCP vers un serveur TNC KISS, par exemple Dire Wolf | Non, le réseau local suffit |
Sélectionnez le type de service dans le menu Integrations :
F9 → Integrations → APRS → Service (Space to cycle)
Les trois services prennent en charge la réception des rapports de position APRS des stations proches et leur affichage sur la carte locale de CQOps Live avec :
Tous les services prennent également en charge le periodic position beaconing. CQOps transmet le grid locator de la station à l’intervalle configuré. Lorsque GPS est actif et que Grid from GPS est activé, la balise utilise automatiquement la position issue du GPS — idéal en portable ou en mobile.
Se connecte au réseau mondial APRS-IS par Internet. Nécessite :
Serveur par défaut :
euro.aprs2.net:14580
APRS-IS est configuré globalement sous F9 → Integrations → APRS. Callsign, SSID, symbol, comment, beacon interval et range filter de chaque log sont configurés sous F9 → Logbooks → [active logbook] → APRS.
Se connecte directement à un TNC KISS matériel par port série. Aucune connexion Internet n’est nécessaire : les trames APRS sont émises et reçues par la radio.
Configurez serial port, baud rate, data bits, parity, stop bits et DTR/RTS dans le menu Integrations :
F9 → Integrations → APRS → Service: KISS
Lorsque KISS est sélectionné, les champs série Port, Baud, Data bits, Parity, Stop bits, DTR et RTS deviennent visibles.
Le bouton Test ouvre le port série afin de vérifier que le TNC est accessible.
Se connecte à un TNC KISS accessible en TCP, par exemple une instance Dire Wolf exécutée sur la même machine ou sur le réseau local. Aucune connexion Internet n’est nécessaire.
Saisissez l’hôte et le port dans le menu Integrations :
F9 → Integrations → APRS → Service: KISS Server → Host / Port
Valeurs par défaut : 127.0.0.1:8001
Les balises sont envoyées selon l’intervalle configuré pour chaque log. L’intervalle minimal est de 1 minute. La balise contient :
Lorsque GPS est actif et que Grid from GPS est activé dans les réglages Station, la balise utilise automatiquement le grid locator calculé à partir du GPS. Aucune mise à jour manuelle du grid n’est nécessaire pendant un déplacement.
Beacon interval et les autres réglages propres au log sont configurés sous :
F9 → Logbooks → [active logbook] → APRS
Les rapports de position APRS reçus sont conservés en cache local et affichés sur la carte du CQOps Live dashboard. Les stations sont représentées par leurs symboles APRS et peuvent être sélectionnées pour afficher les détails. La vue s’ajuste automatiquement afin de montrer toutes les stations visibles dans la portée configurée.
La réception APRS est indépendante de l’émission des balises : vous pouvez recevoir sans émettre, et inversement. Activez simplement APRS dans Integrations et choisissez le type de service.
Les données solaires proviennent de hamqsl.com et comprennent :
Les mises à jour en direct nécessitent un accès à Internet. Les données en cache restent disponibles hors ligne après un téléchargement réussi.
CQOps Live est un dashboard intégré au navigateur qui affiche en temps réel l’activité de la station.
Il est utile pour :
Réglages par défaut :
| Setting | Default |
|---|---|
| Address | 0.0.0.0 |
| Port | 8073 |
| Local URL | http://localhost:8073 |
Le serveur démarre immédiatement après l’enregistrement.
Address binding: La valeur par défaut
0.0.0.0rend le dashboard accessible depuis tout appareil du réseau local. Cela est utile pour les écrans de field day, les stations de club ou la surveillance depuis une autre pièce. Réglez address sur127.0.0.1pour limiter l’accès à la machine locale.
CQOps Live possède deux modes d’affichage.
Affiché lorsqu’aucun callsign actif n’est en cours de contact.
Il présente :
Affiché lorsqu’un callsign est en cours de contact.
Il présente :
L’Info box au-dessus de la carte locale change de module toutes les 5 secondes :
La Weather row affiche les conditions Open-Meteo actuelles pour le grid locator de la station :
Les données météo sont récupérées dans le navigateur et sont simplement omises lorsque la connexion est indisponible.
La local map de droite est consacrée à la surveillance du voisinage APRS. Elle peut afficher :
CQOps Live se met à jour par Server-Sent Events (SSE). Aucun rechargement de page n’est nécessaire.
Le dashboard est conçu pour le matériel peu puissant :
Dans le formulaire d’intégration HTTP Server, vous pouvez configurer :
| Field | Description |
|---|---|
| Header 1 | Titre principal de l’en-tête et de la zone hero. Utilise « CQOps Live » par défaut. |
| Header 2 | Sous-titre sous le titre. Utilise « Less clicking. More radio. » par défaut. |
| Logo URL | URL publique de l’image affichée en haut à gauche. Utilise le logo CQOps par défaut. |
| Event Start | Date au format YYYY-MM-DD. Filtre les statistiques et listes de QSO à partir de cette date. |
Ouvrez la configuration avec F9.
| Plateforme | Chemin de configuration |
|---|---|
| Linux / macOS | ~/.config/cqops/config.yaml |
| Windows | %APPDATA%\cqops\config.yaml |
Les identifiants sensibles sont enregistrés séparément dans secrets.enc, dans le même répertoire de configuration.
Les secrets sont chiffrés avec une clé liée à la machine. Lors du transfert de la configuration vers une autre machine, les identifiants doivent être saisis à nouveau.
Appuyez sur F9 pour ouvrir le menu principal, puis sélectionnez :
| Menu | Configures |
|---|---|
| General | Units, timezone, partner map/picture, solar panel, sources SCP/REF, Kitty Graphics, Debug mode |
| Logbooks | Station callsign, grid, references, CQ/ITU zones, IARU region, GPS grid ; Wavelog par log (URL, API key, station profile) ; APRS par log (callsign, symbol, beacon, range) |
| Operators | Profils operator callsign et operator name pour les stations multi-opérateurs |
| Rigs | Presets d’équipement : model, antenna, power, backend (None/flrig/Hamlib), rotor, WSJT-X UDP |
| Contests | Profils de concours : name, date, ADIF contest ID, exchange templates, starting serial number |
| Integration | DX Cluster (host, port, login), HTTP Server du dashboard (address, port, branding), GPS service (serial/GPSD, grid precision) |
| Callbook | Fournisseurs QRZ.com, HamQTH, QRZ.RU, Callook.info ; ordre de priorité, base-call fallback, Wavelog lookup |
| Notifications | QSO saved alerts, Wavelog QSO sent status, dupe beep, error sounds |
Utilisez plusieurs logs pour home, portable, contest et club.
Appuyez sur Ctrl+L pour parcourir les logs actifs.
Chaque log conserve ses propres :
Les profils opérateur contiennent :
Appuyez sur Ctrl+O pour parcourir les opérateurs actifs.
L’opérateur actif est enregistré dans le champ ADIF OPERATOR et transmis lors des envois vers Wavelog.
Les presets d’équipement enregistrent :
Appuyez sur Ctrl+R pour parcourir les équipements actifs.
Depuis la version v0.8.7, les identifiants sont enregistrés sous forme chiffrée.
| Élément | Valeur |
|---|---|
| Fichier des secrets | secrets.enc |
| Emplacement | Même répertoire que config.yaml |
| Permissions Unix | 0600 lorsque pris en charge |
| Chiffrement | AES-256-GCM avec une clé liée à la machine |
| Données protégées | QRZ password, DX Cluster login, Wavelog API keys |
Les secrets en clair provenant d’anciennes configurations sont migrés au premier démarrage.
Si secrets.enc est endommagé, CQOps démarre avec un avertissement et demande de saisir à nouveau les identifiants.
| Key | Action |
|---|---|
| F1 | QSO form et Recent QSOs |
| F2 | Partner view |
| F4 | DX Cluster |
| F5 | PSK Reporter |
| F6 | REF Lookup |
| F7 | Band Plan Browser |
| F8 | Logbook Editor |
| F9 | Configuration / main menu |
| F10 | Quit |
| Ctrl+F9 | Log viewer |
| ? | Help overlay |
| Ctrl+L | Cycle active logbook |
| Ctrl+R | Cycle active rig |
| Ctrl+C | Cycle active contest |
| Ctrl+O | Cycle active operator |
| Esc | Back to previous screen |
| Key | Action |
|---|---|
| Tab | Next field |
| Shift+Tab | Previous field |
| ↑ / ↓ | Move within column |
| Enter | Save QSO, with duplicate confirmation if needed |
| Del | Clear all form fields |
| Ins | Lookup: Callbook, Wavelog, DXCC, and duplicate check |
| PgUp / PgDn | Cycle band, mode, or submode |
| Ctrl+S | Send DX spot from filled form |
| Ctrl+P | Fill call from nearest DXC spot |
| Ctrl+C | Cycle active contest |
| Alt+, | Adjust rotor azimuth −5° |
| Alt+. | Adjust rotor azimuth +5° |
| Alt+; | Adjust rotor elevation +5° |
| Alt+’ | Adjust rotor elevation −5° |
| Alt+\ | Point rotor to bearing from own grid to partner grid |
| Alt+/ | Stop rotor |
| Alt+Ins / Alt+Home / Alt+PgUp | Recall favorite (slot 1/2/3) |
| Alt+Shift+Ins / Alt+Shift+Home / Alt+Shift+PgUp | Save frequency, mode, band to favorite |
| Key | Action |
|---|---|
| ↑ / ↓ | Navigate rows |
| PgUp / PgDn | Previous or next page |
| Home / End | First or last row |
| Enter / e | Edit selected QSO |
| Delete | Delete selected QSO |
| p | Purge all QSOs |
| Ctrl+C | Cycle contest filter |
| Ctrl+E | Export ADIF |
| Ctrl+I / Tab | Import ADIF |
| w | Upload unsent QSOs to Wavelog |
| Ctrl+W | Download contacts from Wavelog |
| Esc / F6 | Close editor and return to QSO form |
| Key | Action |
|---|---|
| ↑ / ↓ | Navigate spots |
| Enter | Fill QSO form, tune rig, and return to QSO |
| Space | Tune rig to selected spot and stay on DX Cluster |
| Home | Cycle band filter forward |
| End | Cycle band filter backward |
\ |
Cycle spotter continent filter |
| Ins | Cycle mode filter forward |
| Del | Cycle mode filter backward |
| PgUp | Cycle time filter forward |
| PgDn | Cycle time filter backward |
| Backspace | Clear all filters |
| Esc / F4 | Return to QSO form |
| Key | Action |
|---|---|
| F2 | Cycle Partner view → Photo → Back |
| Esc / F1 | Return to QSO form |
Vérifiez :
que le démarrage réseau ne bloque pas, en essayant :
cqops --offline
Consultez les logs :
| Plateforme | Chemin des logs |
|---|---|
| Linux | ~/.local/share/cqops/logs/ |
| macOS | ~/Library/Application Support/cqops/logs/ |
| Windows | %APPDATA%\cqops\logs\ |
Pour flrig :
12345.Pour Hamlib :
rigctld est en cours d’exécution,Les libellés d’état facilitent le diagnostic :
| Couleur | Signification |
|---|---|
| Blanc/par défaut | Connecté |
| Jaune | Désactivé ou en cours de connexion |
| Rouge | Échec |
Les toasts de reconnexion peuvent être masqués. CQOps peut effectuer silencieusement de nouvelles tentatives.
Vérifiez :
Vérifiez :
Les erreurs d’envoi sont affichées sous forme de toasts. Les QSO restent enregistrés localement même si l’envoi échoue. L’échec d’un QSO individuel ne bloque pas le reste du lot.
Fichier de configuration :
| Plateforme | Chemin |
|---|---|
| Linux / macOS | ~/.config/cqops/config.yaml |
| Windows | %APPDATA%\cqops\config.yaml |
Fichier des secrets :
secrets.enc
Le fichier des secrets est enregistré dans le même répertoire que config.yaml.
Si la configuration est endommagée, déplacez ou supprimez le fichier puis redémarrez CQOps. L’assistant de configuration créera une nouvelle configuration.
Le champ last_fetched_id n’apparaît qu’après un téléchargement Wavelog réussi.
Essayez de :
cqops --offline lorsque le réseau n’est pas fiable.Avant de signaler un bogue :
Activez Debug mode dans F9 → General → Debug, ou définissez :
debug: true
dans config.yaml.
Signalez les problèmes sur GitHub :
https://github.com/szporwolik/cqops/issues
Indiquez :
cqops --version,