Conversion carnet de trafic radio-amateur  en Adif

 

Pourquoi ce projet ?

 Depuis plusieurs années je fais de nombreux QSO en FT8 et FT4,  programmes Wsjtx ou Jtdx, pour  évaluer la propagation  (qui j’ai entendu ou qui m’a entendu et comment) l’application Psk-Reporter est excellente. Voir  Psk-Reporter

 

Il y a quelque temps, j’ai installé sous Windows10,  l’application  GridTracker.

 

 

   Pour éviter le passage d’une fenêtre à l’autre ou de visualiser des petites fenêtres (sur un même PC) puisque GridTracker et Wsjtx  le permettent :  L’appli réside sur un PC , sur un autre PC (proche)  Wsjtx est actif,  chaque message reçu est envoyé sous forme d’un flux UPD vers GridTracker.

Questions :  que peut-on obtenir en plus par rapport au contexte actuel ?

  La partie intéressante (ludique) est le positionnement immédiat sur une carte de la station appelée ou appelante.

  L’accès à un carnet de trafic permet de visualiser les stations déjà contactées, en  obtenir tous les renseignements sur les derniers  Qso effectués sur la bande et dans le mode.  

  Un grand nombre de carnets de trafic sont supportés par l’appli, le mien (développement personnel) n’est pas supporté, par contre Il est possible de mettre en ligne un fichier Adif comme Logbook.

C’est donc l’objectif du projet qui suit.

 

  Procédure pour convertir les données extraites de la DB   (carnet de trafic informatique)  puis les intégrer à la place du fichier Adif de Wsjtx  ou Jtdx ou GridTracker.

Pour obtenir le résultat 3 phases sont nécessaires, l’idée a été d’automatiser le plus possible ces opérations, mais aussi d’en garder trace, il est si facile de perdre une macro VBA.

 

Phase 1

Extraction depuis le carnet de trafic vers une feuille Excel.

 

Note  Ce genre d’extraction est possible sur toute Data Base supportant les requêtes  en SQL (j’utilise Microsoft Access).

 C’est valable aussi avec MySql , Sqlite, MariaDB, Oracle  et d’autres certainement.

Voir sur ce même site   QSO FT8 vers DB

 

Ci-dessous la requête.

SELECT Carnet_Log_FT8.Call, Carnet_Log_FT8.Gridsquare, Carnet_Log_FT8.Mode, Carnet_Log_FT8.[Band], Carnet_Log_FT8.Qso_Date, Carnet_Log_FT8.Time_on, Carnet_Log_FT8.Country

FROM Carnet_Log_FT8

WHERE (((Carnet_Log_FT8.Mode) Like "FT8" Or (Carnet_Log_FT8.Mode) Like "FT4") AND ((Carnet_Log_FT8.Qso_Date) Like "2022-*")) OR (((Carnet_Log_FT8.Mode) Like "ft8" Or (Carnet_Log_FT8.Mode) Like "ft4") AND ((Carnet_Log_FT8.Qso_Date) Like "2022-*"))

ORDER BY Carnet_Log_FT8.Qso_Date, Carnet_Log_FT8.Time_on;

 

Explications :  la DB est nommée Carnet_Log_FT8 , les champs extraits sont : Call , Gridsquare, Mode, Qso_Date, Time_on, Country.

Lorsque  les Qso FT4 ou FT8 sont effectués dans l’année 2022.

Classé par  Date et Heure de début du Qso

 

Le fichier Excel obtenu est composé des colonnes :

Call

Gridsquare

Mode

Band

Qso_Date (format aaaa-mm-jj)

Time_on (format 1900-01-00  hh:mm:ss)

Country

Ce classeur est nommé « Vers_adif.xlsx »

 

Phase 2

Mise en forme de la feuille Excel pour obtenir un fichier  Adif compatible avec GridTracker et bien entendu Wsjtx et Jtdx.

 

Une seule macro  VBA  « Log_Vers_Adif » suffit à réaliser les 3 fonctions qui suivent.

 

 

Etape 01

Convertir Qso_Date sous la forme aaaammjj

Convertir Time_on sous la forme hhmmss

Copier cette feuille modifiée dans un nouveau classeur de format « .csv »

Comment :

Ouvre le fichier « Vers_adif.xlsx » issu de la requête d’extraction sur la DB.

Le champ « Qso_Date »  colonne E est mis sous la forme yyyymmjj .

Le champ « Time_on »  colonne F est mis sous la forme hhmmss .

Une nouvelle feuille est créée et enregistrée sous le nom « Vers_adif.csv » c’est du texte, chaque champ est séparé par un « point virgule ».

Ferme la feuille.

 

Etape 02

Comment

Importe le fichier « Vers_adif.csv » il est chargé dans une nouvelle feuille de calcul.

 (Onglet Données extérieures puis Données externes puis texte)

Tous les champs sont importés   et sauvés en texte ou numérique.

Sauvegarde sous « Classeur1.xlxs »

 

Etape 03

Comment :

Ouvre le classeur « Classeur1.xlsx »

Prend l’en-tête de chaque colonne (nom du champ) ligne 1 du tableau.

Attribue au contenu de chaque cellule :

Un nom de champ et sa longueur, délimité par les balises < > , le contenu du champ.

Termine chaque ligne correspondante à un Qso par un <EOR> (end of record)

Le fichier est sauvegardé en « .adi »  (c’est du texte).

Un nom de fichier est attribué automatiquement   (Log_au_aaaa-mm-jj.adi) .

Ferme la feuille.

A noter une macro « Conv_en_adif » avait été développée il y a quelques années pour alimenter et mettre à jour avec le même contenu,  les fichiers adif  des différents PC où  j’utilise indifféremment Wsjtx ou Jtdx.  

 

En réalité  pour simplifier la procédure ces 3 étapes sont  regroupées dans une seule et unique macro « Log_Vers_Adif » , Il suffit d’exécuter la macro , quelques messages permettent au cours du déroulement d’en suivre la progression.

La source de cette  macro  en  format texte (pdf)  dispo au cas où…

 

 

Etape 04

Correction du fichier adif

La mise sur 6 caractères de l’heure ne fonctionnant pas avec Excel  (pas possible sur une zone numérique d’ajouter des zéros à gauche) , ils s’affichent sur le tableau mais disparaissent lors de la création du fichier « Log_au_aaaa-mm-jj.adi »

Solution :  utiliser Wordpad ou Notepad pour remplacer la chaine de caractères : Time_on :5> par Time_on :6>0

 

 

 

 

 

Phase 3

Ce fichier « .adi »   peut alors remplacer celui de  chaque appli (après avoir fourni de nom du fichier attendu par l’appli). 

 « wsjtx_log.adi »    et  « GridTracker_qso.adif » ces fichiers seront à nouveau alimentés par les applis.

 

  Bien entendu, si l’on utilise   toujours Wsjtx ou toujours  Jtdx    sur un seul et unique  ordinateur, ces rechargements ne sont pas nécessaires.

 

 

Pierre Schuster F5BQV                          le 28/08/2022

 

Retour à l’accueil        http://f5bqv.fr