Last active
March 16, 2023 13:24
-
-
Save jh4xsy/83246acdc852f348a2459da07178e10c to your computer and use it in GitHub Desktop.
HamLogのADIFをeQSL用に加工するスクリプト
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/ruby | |
# Turbo HAMLOG/WinのADIF出力から | |
# FT8のQSOをカットして, | |
# 衛星通信用にタグを追加するスクリプト | |
f1 = open("LogList.adi", "r") | |
f2 = open("LogList-new.adi", "w") | |
qth = "JH4XSY/1 JCC#1321 GL:PM95vu" | |
# Header | |
l1 = f1.gets | |
l2 = f1.gets | |
l3 = f1.gets | |
f2.puts(l1) | |
f2.puts(l2) | |
f2.puts(l3) | |
# QSO data | |
while l1 = f1.gets | |
l2 = f1.gets | |
l3 = f1.gets | |
if l1.include?("FT8") | |
# SKIP FT8 QSO | |
else | |
# write l1 | |
if l2.include?("SAT") | |
# SAT QSO hack | |
# set SAT_MODE | |
mode = "" | |
if l1.include?("\<BAND:2\>2m") | |
mode="VV" | |
end | |
if l1.include?("\<BAND:4\>70cm\<BAND_RX:2\>2m") | |
mode="B" | |
end | |
if l1.include?("\<BAND:2\>2m\<BAND_RX:4\>70cm") | |
mode="J" | |
end | |
raw1 = l1.split(/[\<|\>]/) | |
# remove FREQ | |
freq = sprintf("\<%s\>%s", raw1[7], raw1[8]) | |
l1.gsub!(freq, "") | |
# remove BAND | |
band = sprintf("\<%s\>%s", raw1[11], raw1[12]) | |
l1.gsub!(band, "") | |
# remove FREQ_RX | |
freq_rx = sprintf("\<%s\>%s", raw1[9], raw1[10]) | |
l1.gsub!(freq_rx, "") | |
# remove BAND_RX | |
band_rx = sprintf("\<%s\>%s", raw1[13], raw1[14]) | |
l1.gsub!(band_rx, "") | |
f2.puts(l1) | |
else | |
# Noraml QSO | |
f2.puts(l1) | |
end | |
# write l2 | |
f2.puts(l2) | |
# write l3 | |
if l2.include?("SAT") | |
# SAT QSO hack | |
# get SAT_NAME | |
raw3 = l3.split(" ") | |
sname = raw3[1] | |
# set QSLMSG | |
up = raw1[8] | |
down = raw1[10] | |
l3.chop! | |
raw3 = l3.split(/[\<|\>]/) | |
qslmsg = sprintf("%s %s %sMHz/%sMHz", qth, raw3[2], up, down) | |
# eQSL hack | |
if sname == "HO-113" | |
sname = "CAS-9" | |
end | |
if sname == "FO-118" | |
sname = "CAS-5A" | |
end | |
f2.printf("\<SAT_NAME:%d\>%s\<SAT_MODE:%d\>%s\<QSLMSG:%d\>%s\r\n", sname.size, sname, mode.size, mode, qslmsg.size, qslmsg) | |
# write l4 | |
l4 = f1.gets | |
f2.printf("\<COMMENT:%d\>%s\<EOR\>\r\n",qslmsg.size, qslmsg) | |
else | |
# Normal QSO | |
f2.printf("<QSLMSG:%d\>%s<COMMENT:%d\>%s", qth.size, qth, qth.size, qth) | |
f2.puts(l3) | |
end | |
end | |
end | |
# | |
f1.close | |
f2.close |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment