Setzen von "Skip" für Chirp-Codeplugs und "SKIP" für Icom-Codeplugs

Analog zum vorigen Beispiel kann man auch benutzerdefinierte Werte setzen, sodass manche Einträge eines Datensatzes den nicht benutzt werden sollen. Das ist derzeit für die Verwendung in Chirp und Icom-Codeplugs (Stichwort Scan-Groups oder D-STAR 'USE') implementiert.

Wieder dienen die Wiener FM Repeater als Beispiel:

Generieren eines Basis-Datensatzes im CSV-Format
memory-channels-processor --source "oevsv-repeater-db" --band 70cm --type "fm" --output-format="csv" --filter "callsign~=OE1X"
Ausgabe des CSV-Basis-Datensatzes
callsign,name,band,freq_tx,freq_rx,ctcss_tx,ctcss_rx,dmr,dmr_id,dstar,dstar_rpt1,dstar_rpt2,fm,landmark,state,country,country_code,loc_exact,lat,long,locator,sea_level,scan_group,source_id,source_name,source_provider,source_type,source_license,source_url,offset,dup,ctcss,simplex,split,multimode,name_formatted,distance,heading
OE1XBA,Porrtower,70cm,430.7125,438.3125,162.2,162.2,False,,False,,,True,Favoriten,Wien,Austria,AUT,True,48.16796379539441,16.38715982437134,JN88EE,232,,oevsv-repeater-db,ÖVSV-Repeater Database,ÖVSV UKW Referat,dynamic,CC BY 4.0,https://www.oevsv.at/funkbetrieb/amateurfunkfrequenzen/ukw-referat/,7.6,-,True,False,False,False,OE1XBA,,
OE1XAT,Hermannskogel,70cm,430.875,438.475,162.2,162.2,False,,False,,,True,Grinzing,Wien,Austria,AUT,True,48.27041873853696,16.29355072975159,JN88DG,542,,oevsv-repeater-db,ÖVSV-Repeater Database,ÖVSV UKW Referat,dynamic,CC BY 4.0,https://www.oevsv.at/funkbetrieb/amateurfunkfrequenzen/ukw-referat/,7.6,-,True,False,False,False,OE1XAT,,
OE1XFW,Laaerberg Turm,70cm,431.05,438.65,,,False,,False,,,True,Oberlaa Stadt,Wien,Austria,AUT,True,48.157173,16.396717,JN88ED,252,,oevsv-repeater-db,ÖVSV-Repeater Database,ÖVSV UKW Referat,dynamic,CC BY 4.0,https://www.oevsv.at/funkbetrieb/amateurfunkfrequenzen/ukw-referat/,7.6,-,False,False,False,False,OE1XFW,,
OE1XUU,Kahlenberg,70cm,431.35,438.95,162.2,162.2,False,,False,,,True,Josefsdorf,Wien,Austria,AUT,True,48.276145,16.333217,JN88DG,483,,oevsv-repeater-db,ÖVSV-Repeater Database,ÖVSV UKW Referat,dynamic,CC BY 4.0,https://www.oevsv.at/funkbetrieb/amateurfunkfrequenzen/ukw-referat/,7.6,-,True,False,False,False,OE1XUU,,
OE1XFU,Satzberg,70cm,431.4,439.0,162.2,162.2,False,,False,,,True,Hütteldorf,Wien,Austria,AUT,True,48.21527259679771,16.2613320350647,JN88DF,435,,oevsv-repeater-db,ÖVSV-Repeater Database,ÖVSV UKW Referat,dynamic,CC BY 4.0,https://www.oevsv.at/funkbetrieb/amateurfunkfrequenzen/ukw-referat/,7.6,-,True,False,False,False,OE1XFU,,

Nun wird für die gewünschten Repeater wieder eine Datei erstellt, die die Zuordnung zu den Skip Werten enthält. Intern werden diese Gruppen in der Spalte skip verwaltet (siehe Tabelle Verfügbare Variablen).

Beim z.B. Icom IC-705 stehen bei den FM-Speicherplätzen (Memory CH) zur Markierung der Scan-Gruppen Zugehörigkeit die Gruppen 1, 2 oder 3 zur Verfügung.

Es sollen die Repeater OE1XBA und OE1XUU dem Wert True und OE1XAT sowie OE1XFW dem Wert False zugeordnet werden. Alle anderen Repeater wird kein (positiver) Wert zugeordnet. Als Bezug zwischen den beiden Datensätzen soll die Spalte callsign dienen.

Die erstellte Datei sollte nun aussehen:

Ausgabe des Datensatzes der Datei scan_group_mapping.csv
callsign,skip
OE1XBA,True
OE1XAT,True
OE1XFW,False
OE1XUU,

Beide Datensätze können nun mit folgendem Aufruf gemerged (also zusammengefügt) werden:

Merge des Basis-Datensatzes mit anderen Daten im CSV-Format (aus der Datei skip_mapping.csv)
memory-channels-processor --source "oevsv-repeater-db" --band 70cm --type "fm" --output-format="csv" --filter "callsign~=OE1X" --merge-file "skip_mapping.csv" --merge-on "callsign"

Der Memory Channels Processor fügt nun die Daten zusammen. In der Spalte skip sind die Werte aus der benutzerdefinierten Datei eingetragen. Sollte kein Eintrag "matchen", so wird False eingetragen.

Für die Ausgabe wird dann der Datensatz noch ins gewünschte Icom CSV-Format transformiert. Die Werte - transformiert in ON oder OFF - finden sich nun in der Spalte SKIP:

Ausgabe des resultierenden Datensatzes im Icom-Format
Group No;Group Name;CH No;Name;SEL;Frequency;Dup;Offset;TS;Mode;SKIP;TONE;Repeater Tone;TSQL Frequency;DTCS Code;DTCS Polarity;DV SQL;DV CSQL Code;Your Call Sign;RPT1 Call Sign;RPT2 Call Sign
01;OE 70cm Repeater;00;Porrtower;OFF;438,312500;DUP-;7,600000;12,5kHz;FM;Skip;TONE(T)/TSQL(R);162,2Hz;162,2Hz;23;BOTH N;;;;OE1XBA;
01;OE 70cm Repeater;01;Hermannskogel;OFF;438,475000;DUP-;7,600000;12,5kHz;FM;Skip;TONE(T)/TSQL(R);162,2Hz;162,2Hz;23;BOTH N;;;;OE1XAT;
01;OE 70cm Repeater;02;Laaerberg Turm;OFF;438,650000;DUP-;7,600000;12,5kHz;FM;OFF;OFF;88,5Hz;88,5Hz;23;BOTH N;;;;OE1XFW;
01;OE 70cm Repeater;03;Kahlenberg;OFF;438,950000;DUP-;7,600000;12,5kHz;FM;OFF;TONE(T)/TSQL(R);162,2Hz;162,2Hz;23;BOTH N;;;;OE1XUU;
01;OE 70cm Repeater;04;Satzberg;OFF;439,000000;DUP-;7,600000;12,5kHz;FM;OFF;TONE(T)/TSQL(R);162,2Hz;162,2Hz;23;BOTH N;;;;OE1XFU;

Für die Ausgabe im Chirp-Format wird dann der Datensatz ebenfalls noch transformiert. Die Werte - transformiert in oder S - finden sich nun in der Spalte Skip:

Ausgabe des resultierenden Datensatzes im Chirp-Format
Location,Name,Frequency,Duplex,Offset,Tone,rToneFreq,cToneFreq,DtcsCode,DtcsPolarity,RxDtcsCode,CrossMode,Mode,TStep,Skip,Power,Comment,URCALL,RPT1CALL,RPT2CALL,DVCODE
00,Porrtower,438.3125,-,7.6,TSQL,162.2,162.2,023,NN,023,Tone->Tone,FM,12.5,S,5W,Porrtower 70cm,,,,
01,Hermannskogel,438.475,-,7.6,TSQL,162.2,162.2,023,NN,023,Tone->Tone,FM,12.5,S,5W,Hermannskogel 70cm,,,,
02,Laaerberg Turm,438.65,-,7.6,,88.5,88.5,023,NN,023,Tone->Tone,FM,12.5,,5W,Laaerberg Turm 70cm,,,,
03,Kahlenberg,438.95,-,7.6,TSQL,162.2,162.2,023,NN,023,Tone->Tone,FM,12.5,,5W,Kahlenberg 70cm,,,,
04,Satzberg,439.0,-,7.6,TSQL,162.2,162.2,023,NN,023,Tone->Tone,FM,12.5,,5W,Satzberg 70cm,,,,