Memory Channels Processor

Bitte beachten Sie, dass es sich bei diesem Dokument um einen Entwurf handelt, der noch in Arbeit ist. Es wird der Öffentlichkeit nur zu Informationszwecken zur Verfügung gestellt. Da es sich um ein unfertiges Dokument handelt, fehlen einige Teile oder werden gerade überarbeitet.

Das Programm Memory Channels Processor bietet die Möglichkeit Simplex- und Relais-Kanäle aus verschiedenen Quellen für verschiedene Geräte (z.B. Icom IC-705, ID-52E oder IC-9700) oder für Software (z.B. Chirp, OpenGD77) zur Weiterverarbeitung aufzubereiten.

Die ursprüngliche Umsetzung[1] wurde mit dem Ziel entwickelt die österreichischen 2m/70cm FM und D-STAR Amateurfunk Relaiskanäle[2] möglichst automatisiert für den Import für das Icom IC-705 und ID-52E bereitzustellen.

Die zugrundeliegende Idee wurde in dieser Applikation weiterentwickelt und auf andere technische Beine gestellt.

Mittlerweile gibt es auch die Möglichkeit Daten von anderen Quellen zu importieren und Daten dieser Quellen zu mischen und auch eigens definierte Datensätze hinzuzufügen.

mcp_overview

Setup:

Import Möglichkeiten:

Export Möglichkeiten:

Abhängig von den Spracheinstellungen des Rechners, auf dem der Import der Codeplugs vorgenommen werden soll, kann es vorkommen, dass manche Codeplugs davon abweichende Zeichen als Dezimalzeichen verwenden.

In diesem Fall können die Dezimalzeichen in den Codeplugs z.B. mit einem Texteditor angepasst werden.

Downloads

Für einige Geräte und Formate gibt es automatisch generierte Codeplugs die zum Download angeboten werden. Diese Dateien sind unter anderem auf den folgenden Seiten zu finden:

Bedienung

Die Bedienung des Memory Channels Processor erfolgt über die Kommandozeile. Folgende Optionen und Parameter stehen zur Auswahl:

$ memory-channels-processor --help
usage: memory-channels-processor [-h]
                                 [--source {csv,fm-channels-iaru-r1,oevsv-repeater-db,tsv} [{csv,fm-channels-iaru-r1,oevsv-repeater-db,tsv} ...]]
                                 [--output-file <file>]
                                 [--output-format {chirp,csv,icom-ic-705,icom-ic-9700,icom-id-52,icom-rs-ba1v2,icom-rs-ms1,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,name,name_formatted,offset,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,name,name_formatted,offset,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>] [--offline]
                                 [--no-cache] [--verbose] [--version]

Process memory channels

options:
  -h, --help            show this help message and exit
  --source {csv,fm-channels-iaru-r1,oevsv-repeater-db,tsv} [{csv,fm-channels-iaru-r1,oevsv-repeater-db,tsv} ...]
                        The data source (default: [])
  --output-file <file>  The output file (default: None)
  --output-format {chirp,csv,icom-ic-705,icom-ic-9700,icom-id-52,icom-rs-ba1v2,icom-rs-ms1,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: name, band, dstar_rpt1, dstar_rpt2, landmark,
                        state, country, callsign, 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,name,name_formatted,offset,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,name,name_formatted,offset,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>
                        The csv input file (default: None)
  --tsv-input-file <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: fm)
  --icom-group-number <number>
                        The group number (default: 0)
  --icom-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)

Softwareentwicklung

Details zur Entwicklung und zum Development-Setup findet man auf den folgenden Seiten: