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