Installation
Diese Software ist in der Programmiersprache Python geschrieben.
Wenn der Memory Channels Processor
lokal installiert werden soll, um selbst Codeplugs zu generieren oder für eigene Bedürfnisse anzupassen, bitte einfach folgenden Schritte befolgen.
Die bereits automatisch erstellten Codeplugs für diverse Geräte finden sich jedoch im Abschnitt Downloads.
Installation von Python
Python selbst kann unter https://www.python.org/downloads/ bezogen werden.
-
Windows (Binary)
-
Windows (Git)
-
Debian/Ubuntu (Git)
Wenn das Programm memory-channels-processor
als ausführbare Datei (als sog. Binary) heruntergeladen wird, muss Python nicht extra installiert werden.
Das Installationsprogramm installiert Python in Ihrem Benutzerordner und fügt seine ausführbaren Verzeichnisse Ihrem Benutzerpfad hinzu.
Weitere Informationen zu den Installationsoptionen finden Sie auf der Seite Using Python on Windows auf der Python-Website.
-
Laden Sie die Installationsdatei für Python 3.12
Windows installer (64-bit)
von der Downloads-Seite von Python.org Webseite herunter. -
Führen Sie die ausführbare Installationsdatei aus, die Sie im vorherigen Schritt heruntergeladen haben.
-
Wählen Sie, dass Sie die ausführbare Python-Datei zu Ihrem Pfad hinzufügen möchten (
Add python.exe to PATH
). -
Wählen Sie Customize installation aus.
-
Bei Optional Features wählen sie pip aus und bestätigen mit Next
-
Nun installieren Sie mit Install die ausgewählte Python Version.
-
Verwenden Sie die folgenden Befehle, um zu prüfen, ob Python und pip korrekt installiert sind.
C:\Users\myname> python --version Python 3.12 C:\Users\myname> pip --version pip 23.1.2 from C:\Users\myname\AppData\Local\Programs\Python\Python312\Lib\site-packages\pip (python 3.12)
Unter Debian oder Ubuntu ist Python meist schon installiert. Sollte es nicht installiert sein, kann es wie folgt installiert werden:
sudo apt update
sudo apt install python3
python3 --version
Installation des Memory Channels Processor
Es gibt mehrere Möglichkeiten den memory-channels-processor
auszuführen.
Für die einzelnen Betriebssysteme bitte die folgenden Schritte befolgen:
-
Windows (Binary)
-
Windows (Git)
-
Debian/Ubuntu (Git)
-
Download der ausführbaren Datei 📦 memory-channels-processor.exe (gezippt)
-
Zip-Datei entpacken
-
Öffnen einer Konsole (Windows+R,
cmd
+ Enter) bzw. PowerShell (Windows+R,powershell
+ Enter) -
Wechseln in das Verzeichnis in das der
memory-channels-processor.exe
entpwckt wurdeWechseln in das Verzeichnis desmemory-channels-processor.exe
C:\Users\myname> cd C:\Users\myname\Downloads C:\Users\myname\Downloads>
-
Den Befehl
memory-channels-processor.exe --version
ausführen um zu sehen, ob alles geklappt hat. Die Ausgabe sollte in etwa so aussehen:C:\Users\myname\Downloads> memory-channels-processor.exe --version 0.0.29 (1)
1 Hier sollte die aktuelle Version des memory-channels-processor
stehen
-
Klonen des Git repositories
https://gitlab.com/oe3lrt/memory-channels-processor.git
-
In den geklonten Ordner wechseln
-
Das Python-Paket und seine Abhängigkeiten installieren.
Installieren Sie das Paketmemory-channels-processor
mit pipC:\Users\myname> pip install --upgrade --user .
-
Den Befehl
memory-channels-processor --version
ausführen um zu sehen, ob alles geklappt hat. Die Ausgabe sollte in etwa so aussehen:C:\Users\myname> memory-channels-processor --version 0.0.29 (1)
1 Hier sollte die aktuelle Version des memory-channels-processor
stehen
-
Klonen des Git repositories
https://gitlab.com/oe3lrt/memory-channels-processor.git
-
In den geklonten Ordner wechseln
-
Das Python-Paket und seine Abhängigkeiten installieren.
Installieren Sie das Paketmemory-channels-processor
mit pip (Ubuntu 22.04)sudo apt update sudo apt install python3 python3-pip pip install . (1)
1 Der .
(Punkt) verweist auf das aktuelle Verzeichnis und darf nicht weggelassen werden!Installieren Sie das Paketmemory-channels-processor
mit pipx (Ubuntu 24.04)sudo apt update sudo apt install python3 python3-pip python3-pipx pipx install . (1)
1 Der .
(Punkt) verweist auf das aktuelle Verzeichnis und darf nicht weggelassen werden! -
Den Befehl
memory-channels-processor --version
ausführen um zu sehen, ob alles geklappt hat. Die Ausgabe sollte in etwa so aussehen:memory-channels-processor --version 0.0.29 (1)
1 Hier sollte die aktuelle Version des memory-channels-processor
stehen
Der Befehl memory-channels-processor --help
gibt Auskunft über alle zur Auswahl stehenden Parameter:
$ memory-channels-processor --help
usage: memory-channels-processor [-h]
[--source {cb-channels,csv,fm-channels-iaru-r1,ha2to-repeater-list,ircddb-repeaters,json,oevsv-repeater-db,pmr-channels,rtr-radio-db,slovakia-repeater-list,sota-summits,tsv,uska-repeater-list,xml} [{cb-channels,csv,fm-channels-iaru-r1,ha2to-repeater-list,ircddb-repeaters,json,oevsv-repeater-db,pmr-channels,rtr-radio-db,slovakia-repeater-list,sota-summits,tsv,uska-repeater-list,xml} ...]]
[--output-file <file>]
[--output-format {chirp,cpeditor,csv,icom,icom-ic-705,icom-ic-9700,icom-id-52,icom-rs-ba1v2,icom-rs-ms1,json,kenwood-th-d74,map,opengd77,rtsystems-wcs-705,tsv,wfview,xlsx,xml}]
[--output-columns <Column 1,Column 2,...>]
[--output-no-header]
[--band [{13cm,23cm,pmr,70cm,2m,radio,6m,10m,cb,12m,15m,20m,40m,80m} ...]]
[--country [<country - ISO 3166-1 alpha-3> ...]]
[--type [{fm,d-star,dmr} ...]]
[--distance-max <distance>]
[--filter [<key>=<value> ...]]
[--sort {band,callsign,country,country_code,ctcss,ctcss_rx,ctcss_tx,distance,dmr,dmr_id,dstar,dstar_rpt1,dstar_rpt2,dup,fm,freq_rx,freq_tx,heading,landmark,lat,loc_exact,locator,long,multimode,name,name_formatted,offset,scan_group,sea_level,simplex,source_id,source_license,source_name,source_provider,source_type,source_url,split,state} [{band,callsign,country,country_code,ctcss,ctcss_rx,ctcss_tx,distance,dmr,dmr_id,dstar,dstar_rpt1,dstar_rpt2,dup,fm,freq_rx,freq_tx,heading,landmark,lat,loc_exact,locator,long,multimode,name,name_formatted,offset,scan_group,sea_level,simplex,source_id,source_license,source_name,source_provider,source_type,source_url,split,state} ...]]
[--sort-descending]
[--merge-on {band,callsign,country,country_code,ctcss,ctcss_rx,ctcss_tx,distance,dmr,dmr_id,dstar,dstar_rpt1,dstar_rpt2,dup,fm,freq_rx,freq_tx,heading,landmark,lat,loc_exact,locator,long,multimode,name,name_formatted,offset,scan_group,sea_level,simplex,source_id,source_license,source_name,source_provider,source_type,source_url,split,state} [{band,callsign,country,country_code,ctcss,ctcss_rx,ctcss_tx,distance,dmr,dmr_id,dstar,dstar_rpt1,dstar_rpt2,dup,fm,freq_rx,freq_tx,heading,landmark,lat,loc_exact,locator,long,multimode,name,name_formatted,offset,scan_group,sea_level,simplex,source_id,source_license,source_name,source_provider,source_type,source_url,split,state} ...]]
[--merge-file <file>] [--locator <locator>]
[--name-format {callsign,5-char,6-char,7-char,name,name-5-char,name-6-char,name-7-char,callsign-name,callsign-mode-name,name-callsign,name-mode-callsign,custom}]
[--name-format-custom <name format template>]
[--csv-input-file [<file> ...]]
[--json-input-file [<file> ...]]
[--tsv-input-file [<file> ...]]
[--xml-input-file [<file> ...]]
[--jinja2-extension <name> [<name> ...]]
[--jinja2-lenient]
[--icom-type {fm,d-star,fm-radio,gps}]
[--icom-group-number <number>]
[--icom-group-name <name>]
[--kenwood-type {fm,d-star}]
[--kenwood-world-number <number>]
[--kenwood-world-name <name>]
[--kenwood-country-number <number>]
[--kenwood-country-name <name>]
[--kenwood-group-number <number>]
[--kenwood-group-name <name>]
[--rtsystems-type {fm,d-star}]
[--rtsystems-group-number <number>]
[--rtsystems-group-name <name>] [--offline]
[--no-cache] [--verbose] [--version]
Process memory channels
options:
-h, --help show this help message and exit
--source {cb-channels,csv,fm-channels-iaru-r1,ha2to-repeater-list,ircddb-repeaters,json,oevsv-repeater-db,pmr-channels,rtr-radio-db,slovakia-repeater-list,sota-summits,tsv,uska-repeater-list,xml} [{cb-channels,csv,fm-channels-iaru-r1,ha2to-repeater-list,ircddb-repeaters,json,oevsv-repeater-db,pmr-channels,rtr-radio-db,slovakia-repeater-list,sota-summits,tsv,uska-repeater-list,xml} ...]
The data source (default: [])
--output-file <file> The output file (default: None)
--output-format {chirp,cpeditor,csv,icom,icom-ic-705,icom-ic-9700,icom-id-52,icom-rs-ba1v2,icom-rs-ms1,json,kenwood-th-d74,map,opengd77,rtsystems-wcs-705,tsv,wfview,xlsx,xml}
The output format (default: csv)
--output-columns <Column 1,Column 2,...>
The column names to output. If multiple are defines
separate with ",". (default: [])
--output-no-header Disable output of header row with column names
(default: True)
--band [{13cm,23cm,pmr,70cm,2m,radio,6m,10m,cb,12m,15m,20m,40m,80m} ...]
Filter for a specific band (default: None)
--country [<country - ISO 3166-1 alpha-3> ...]
Filter for a specific country (default: [])
--type [{fm,d-star,dmr} ...]
Filter for a specific type (default: [])
--distance-max <distance>
Filter for a specific maximum distance (in kilometers)
(default: None)
--filter [<key>=<value> ...]
Filter for specific key value combinations (Available
keys: callsign, name, band, dmr, dstar, dstar_rpt1,
dstar_rpt2, fm, landmark, state, country,
country_code, loc_exact, locator, source_id,
source_name, source_provider, source_type,
source_license, source_url, dup, ctcss, simplex,
split, multimode, name_formatted) (default: {})
--sort {band,callsign,country,country_code,ctcss,ctcss_rx,ctcss_tx,distance,dmr,dmr_id,dstar,dstar_rpt1,dstar_rpt2,dup,fm,freq_rx,freq_tx,heading,landmark,lat,loc_exact,locator,long,multimode,name,name_formatted,offset,scan_group,sea_level,simplex,source_id,source_license,source_name,source_provider,source_type,source_url,split,state} [{band,callsign,country,country_code,ctcss,ctcss_rx,ctcss_tx,distance,dmr,dmr_id,dstar,dstar_rpt1,dstar_rpt2,dup,fm,freq_rx,freq_tx,heading,landmark,lat,loc_exact,locator,long,multimode,name,name_formatted,offset,scan_group,sea_level,simplex,source_id,source_license,source_name,source_provider,source_type,source_url,split,state} ...]
The key used for sorting (default: [])
--sort-descending The sorting direction (default: True)
--merge-on {band,callsign,country,country_code,ctcss,ctcss_rx,ctcss_tx,distance,dmr,dmr_id,dstar,dstar_rpt1,dstar_rpt2,dup,fm,freq_rx,freq_tx,heading,landmark,lat,loc_exact,locator,long,multimode,name,name_formatted,offset,scan_group,sea_level,simplex,source_id,source_license,source_name,source_provider,source_type,source_url,split,state} [{band,callsign,country,country_code,ctcss,ctcss_rx,ctcss_tx,distance,dmr,dmr_id,dstar,dstar_rpt1,dstar_rpt2,dup,fm,freq_rx,freq_tx,heading,landmark,lat,loc_exact,locator,long,multimode,name,name_formatted,offset,scan_group,sea_level,simplex,source_id,source_license,source_name,source_provider,source_type,source_url,split,state} ...]
The key(s) used for merging (default: [])
--merge-file <file> The merge csv input file (default: None)
--locator <locator> The locator used as reference for calculating
distances (default: None)
--name-format {callsign,5-char,6-char,7-char,name,name-5-char,name-6-char,name-7-char,callsign-name,callsign-mode-name,name-callsign,name-mode-callsign,custom}, --chirp-name {callsign,5-char,6-char,7-char,name,name-5-char,name-6-char,name-7-char,callsign-name,callsign-mode-name,name-callsign,name-mode-callsign,custom}
The name format (default: callsign)
--name-format-custom <name format template>
The custom name format (default: )
--csv-input-file [<file> ...], --csv [<file> ...]
The csv input file (default: None)
--json-input-file [<file> ...], --json [<file> ...]
The JSON input file (default: None)
--tsv-input-file [<file> ...], --tsv [<file> ...]
The tsv input file (default: None)
--xml-input-file [<file> ...], --xml [<file> ...]
The XML input file (default: None)
--jinja2-extension <name> [<name> ...]
Jinja2 extension name (default: [])
--jinja2-lenient Disable strict mode (default: False)
--icom-type {fm,d-star,fm-radio,gps}
The output type (default: None)
--icom-group-number <number>
The group number (default: 0)
--icom-group-name <name>
The group name (default: Default Group Name)
--kenwood-type {fm,d-star}
The output type (default: None)
--kenwood-world-number <number>
The world number (1-6) (default: 4)
--kenwood-world-name <name>
The world name (default: Europe)
--kenwood-country-number <number>
The country number (1-150) (default: 9)
--kenwood-country-name <name>
The country name (default: Austria)
--kenwood-group-number <number>
The group number (1-300) (default: 75)
--kenwood-group-name <name>
The group name (default: Default)
--rtsystems-type {fm,d-star}
The output type (default: None)
--rtsystems-group-number <number>
The group number (default: 0)
--rtsystems-group-name <name>
The group name (default: Default Group Name)
--offline Enable offline mode (default: False)
--no-cache Disable caching of web requests (default: True)
--verbose Enable verbosity (default: False)
--version Show the version (default: False)
Nützliche Befehle
Folgende Befehle können bei der Verwendung des Memory Channels Processor
nützlich sein:
# FM: Export from ÖVSV Repeater-DB to CSV
memory-channels-processor --source "oevsv-repeater-db" --band 70cm --type "fm" --output-file "fm_70cm_gen_oevsv-repeater-db.csv" --output-format="csv"
memory-channels-processor --source "oevsv-repeater-db" --band 2m --type "fm" --output-file "fm_2m_gen_oevsv-repeater-db.csv" --output-format="csv"
# D-STAR: Export from ÖVSV Repeater-DB to CSV
memory-channels-processor --source "oevsv-repeater-db" --band 23cm --band 70cm --band 2m --type "d-star" --output-file "d-star_23cm_70cm_2m_gen_oevsv-repeater-db.csv" --output-format="csv" --sort "callsign" --sort "freq_tx" --sort "name"
# FM: Input from CSV, filter and export to CSV - should be the same data - just for testing
memory-channels-processor --source "csv" --band 70cm --type "fm" --csv-input-file "fm_70cm_gen_oevsv-repeater-db.csv" --output-file "fm_70cm_gen_oevsv-repeater-db_dup.csv" --output-format="csv"
# FM + Additional data: Export from ÖVSV Repeater-DB mixed with additional entries to Icom
memory-channels-processor --source "oevsv-repeater-db" --source "csv" --band 70cm --type "fm" --csv-input-file "fm_additional.csv" --output-file "icom_ic705_id52_fm_70cm_gen_oevsv-repeater-db_additional.csv" --output-format="icom" --icom-group-number "02" --icom-group-name "OE 70cm"
# D-STAR: Export from ÖVSV Repeater-DB to Icom
memory-channels-processor --source "oevsv-repeater-db" --band 23cm --band 70cm --band 2m --type "d-star" --output-file "icom_ic705_id52_d-star_23cm_70cm_2m_gen_oevsv-repeater-db.csv" --output-format="icom" --icom-group-number "1" --icom-group-name "Austria" --icom-type="d-star" --sort "name" --sort "callsign" --sort "freq_tx"