Skip to content

Instantly share code, notes, and snippets.

@jh4xsy
Last active March 16, 2023 13:24
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jh4xsy/83246acdc852f348a2459da07178e10c to your computer and use it in GitHub Desktop.
Save jh4xsy/83246acdc852f348a2459da07178e10c to your computer and use it in GitHub Desktop.
HamLogのADIFをeQSL用に加工するスクリプト
#!/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