Installation

Diese Software ist in der Programmiersprache Python geschrieben und setzt mindestens ein bereits installiertes Python 3.8 voraus. 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.

Eine recht gute Anleitung wie man Python unter Windows 10 installieren kann findet man unter https://www.digitalocean.com/community/tutorials/install-python-windows-10 (in Englisch).

Installation des Memory Channels Processor

  1. Klonen des Git repositories https://gitlab.com/oe3lrt/memory-channels-processor.git

  2. In den geklonten Ordner wechseln

  3. Das Python-Paket und seine AbhängigkeitenInstall installieren.

    Install the package
    pip install .
  4. 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.6 (1)
    1 Hier sollte die 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 {csv,fm-channels-iaru-r1,ha2to-repeater-list,oevsv-repeater-db,tsv} [{csv,fm-channels-iaru-r1,ha2to-repeater-list,oevsv-repeater-db,tsv} ...]]
                                 [--output-file <file>]
                                 [--output-format {chirp,csv,icom,icom-ic-705,icom-ic-9700,icom-id-52,icom-rs-ba1v2,icom-rs-ms1,kenwood-th-d74,opengd77,tsv,xlsx}]
                                 [--band [{13cm,23cm,70cm,2m,6m,10m,12m,15m,20m,40m,80m} ...]]
                                 [--type [{fm,d-star,dmr} ...]]
                                 [--distance-max <distance>]
                                 [--filter [<key>=<value> ...]]
                                 [--sort {band,callsign,country,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,simplex,state} [{band,callsign,country,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,simplex,state} ...]]
                                 [--sort-descending] [--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> ...]]
                                 [--tsv-input-file [<file> ...]]
                                 [--jinja2-extension <name> [<name> ...]]
                                 [--jinja2-lenient] [--icom-type {fm,d-star}]
                                 [--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>] [--offline]
                                 [--no-cache] [--verbose] [--version]

Process memory channels

options:
  -h, --help            show this help message and exit
  --source {csv,fm-channels-iaru-r1,ha2to-repeater-list,oevsv-repeater-db,tsv} [{csv,fm-channels-iaru-r1,ha2to-repeater-list,oevsv-repeater-db,tsv} ...]
                        The data source (default: [])
  --output-file <file>  The output file (default: None)
  --output-format {chirp,csv,icom,icom-ic-705,icom-ic-9700,icom-id-52,icom-rs-ba1v2,icom-rs-ms1,kenwood-th-d74,opengd77,tsv,xlsx}
                        The output format (default: csv)
  --band [{13cm,23cm,70cm,2m,6m,10m,12m,15m,20m,40m,80m} ...]
                        Filter for a specific band (default: None)
  --type [{fm,d-star,dmr} ...]
                        Filter for a specific type (default: [])
  --distance-max <distance>
                        Filter for a specific maximum distance (default: None)
  --filter [<key>=<value> ...]
                        Filter for specific key value combinations (Available
                        keys: callsign, name, band, dstar_rpt1, dstar_rpt2,
                        landmark, state, country, dup, name_formatted,
                        locator) (default: {})
  --sort {band,callsign,country,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,simplex,state} [{band,callsign,country,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,simplex,state} ...]
                        The key used for sorting (default: [])
  --sort-descending     The sorting direction (default: True)
  --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)
  --tsv-input-file [<file> ...], --tsv [<file> ...]
                        The tsv input file (default: None)
  --jinja2-extension <name> [<name> ...]
                        Jinja2 extension name (default: [])
  --jinja2-lenient      Disable strict mode (default: False)
  --icom-type {fm,d-star}
                        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)
  --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:

Nützliche Befehle
# 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-ic-705" --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-ic-705" --icom-group-number "1" --icom-group-name "Austria" --icom-type="d-star" --sort "name"  --sort "callsign" --sort "freq_tx"