Memory Channels Processor

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-52 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-52 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

Import Möglichkeiten:

Export Möglichkeiten:

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:

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.

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 {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,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,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)

Installation

Details zur Installation findet man auf der Seite Installation.

Softwareentwicklung

Details zur Entwicklung und zum Development-Setup findet man auf folgender Seite: Softwareentwicklung