mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2025-02-03 09:44:24 -05:00
Add utility program 'cablog' to convert wsjtx.log to Cabrillo format.
This commit is contained in:
parent
f394d77be7
commit
933aa29451
@ -363,6 +363,7 @@ set (wsjt_FSRCS
|
||||
lib/bpdecode128_90.f90
|
||||
lib/ft8/bpdecode174_91.f90
|
||||
lib/baddata.f90
|
||||
lib/cablog.f90
|
||||
lib/calibrate.f90
|
||||
lib/ccf2.f90
|
||||
lib/ccf65.f90
|
||||
@ -1143,6 +1144,9 @@ target_link_libraries (jt65sim wsjt_fort wsjt_cxx)
|
||||
add_executable (sumsim lib/sumsim.f90)
|
||||
target_link_libraries (sumsim wsjt_fort wsjt_cxx)
|
||||
|
||||
add_executable (cablog lib/cablog.f90)
|
||||
target_link_libraries (cablog)
|
||||
|
||||
add_executable (test_snr lib/test_snr.f90)
|
||||
target_link_libraries (test_snr wsjt_fort)
|
||||
|
||||
@ -1599,7 +1603,7 @@ install (TARGETS jt9 wsprd fmtave fcal fmeasure
|
||||
|
||||
if(WSJT_BUILD_UTILS)
|
||||
install (TARGETS ft8code jt65code jt9code jt4code msk144code
|
||||
q65code fst4sim q65sim echosim hash22calc
|
||||
q65code fst4sim q65sim echosim hash22calc cablog
|
||||
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT runtime
|
||||
BUNDLE DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT runtime
|
||||
)
|
||||
|
105
lib/cablog.f90
Normal file
105
lib/cablog.f90
Normal file
@ -0,0 +1,105 @@
|
||||
program cablog
|
||||
|
||||
character*100 line,infile,outfile
|
||||
character cband*4,cmode*2,cdate*10,cutc*4,callsign*10,mycall*10
|
||||
character csent*3,crcvd*3,dsent*3,drcvd*3
|
||||
integer icomma(20)
|
||||
|
||||
nargs=iargc()
|
||||
if(nargs.ne.4) then
|
||||
print*,"Program cablog converts the file 'wsjtx.log' to a bare-bones"
|
||||
print*,"Cabrillo log for the ARRL International EME Contest. You will"
|
||||
print*,"certainly need to edit the header information, and you may"
|
||||
print*,"edit the log elsewhere as required."
|
||||
print*,' '
|
||||
print*,'Usage: cablog <MyCall> <sent> <rcvd> <infile>'
|
||||
print*,'Example: cablog W2ZQ -15 -16 wsjtx.log'
|
||||
go to 999
|
||||
endif
|
||||
call getarg(1,mycall)
|
||||
outfile=trim(mycall)//'.log'
|
||||
call getarg(2,dsent)
|
||||
call getarg(3,drcvd)
|
||||
call getarg(4,infile)
|
||||
open(10,file=trim(infile),status='old')
|
||||
open(12,file=trim(outfile),status='unknown')
|
||||
|
||||
write(12,1000)
|
||||
1000 format('START-OF-LOG: 3.0'/ &
|
||||
'CONTEST: ARRL-EME'/ &
|
||||
'CALLSIGN: '/ &
|
||||
'CATEGORY-OPERATOR: '/ &
|
||||
'CATEGORY-BAND: '/ &
|
||||
'CATEGORY-MODE: '/ &
|
||||
'EMAIL: '/ &
|
||||
'OPERATORS: '/ &
|
||||
'CATEGORY-POWER: HIGH'/ &
|
||||
'CATEGORY-TRANSMITTER: ONE'/ &
|
||||
'CATEGORY-STATION: FIXED'/ &
|
||||
'CATEGORY-TIME: 24-HOURS'/ &
|
||||
'CATEGORY-ASSISTED: ASSISTED'/ &
|
||||
'LOCATION: SNJ'/ &
|
||||
'CLAIMED-SCORE: '/ &
|
||||
'CLUB: '/ &
|
||||
'NAME: '/ &
|
||||
'ADDRESS: '/ &
|
||||
'ADDRESS: '/ &
|
||||
'ADDRESS: '/ &
|
||||
'CREATED-BY: cablog (C) K1JT')
|
||||
|
||||
n=0
|
||||
do nn=1,9999
|
||||
read(10,'(a100)',end=900) line
|
||||
if(len(trim(line)).eq.0) cycle
|
||||
n=n+1
|
||||
k=0
|
||||
do j=1,100
|
||||
if(line(j:j).eq.',') then
|
||||
k=k+1
|
||||
icomma(k)=j
|
||||
endif
|
||||
enddo
|
||||
cmode='DG'
|
||||
if(index(line,',CW,').gt.10) cmode='CW'
|
||||
cdate=line(1:10)
|
||||
cutc=line(32:33)//line(35:36)
|
||||
i0=index(line(41:),',')
|
||||
callsign=line(41:39+i0)
|
||||
read(line(icomma(6)+1:icomma(7)-1),*,err=10,end=10) freq
|
||||
go to 20
|
||||
10 print*,'***Error at line ',n
|
||||
print*,trim(line)
|
||||
20 if(freq.ge.50.0 .and. freq.le.54.0) cband='50 '
|
||||
if(freq.ge.144.0 .and. freq.le.148.0) cband='144 '
|
||||
if(freq.ge.28.0 .and. freq.le.29.0) cband='144 '
|
||||
if(freq.ge.222.0 .and. freq.le.225.0) cband='222 '
|
||||
if(freq.ge.420.0 .and. freq.le.450.0) cband='432 '
|
||||
if(freq.ge.902.0 .and. freq.le.928.0) cband='902 '
|
||||
if(freq.ge.1240.0 .and. freq.le.1300.0) cband='1.2G'
|
||||
if(freq.ge.2300.0 .and. freq.le.2450.0) cband='2.3G'
|
||||
if(freq.ge.3300.0 .and. freq.le.3500.0) cband='3.4G'
|
||||
if(freq.ge.5650.0 .and. freq.le.5925.0) cband='5.7G'
|
||||
if(freq.ge.10000.0 .and. freq.le.10500.0) cband='10G '
|
||||
if(freq.ge.24000.0 .and. freq.le.24250.0) cband='24G '
|
||||
if(icomma(8).eq.icomma(9)-1) then
|
||||
csent=dsent
|
||||
else
|
||||
csent=line(icomma(8)+1:icomma(9)-1)
|
||||
endif
|
||||
if(icomma(9).eq.icomma(10)-1) then
|
||||
crcvd=drcvd
|
||||
else
|
||||
crcvd=line(icomma(9)+1:icomma(10)-1)
|
||||
endif
|
||||
write(12,1020) cband,cmode,cdate,cutc,mycall,csent,callsign,crcvd
|
||||
1020 format('QSO: ',a4,1x,a2,1x,a10,1x,a4,1x,a6,1x,a3,5x,a10,1x,a3)
|
||||
enddo
|
||||
|
||||
900 write(12,1900)
|
||||
1900 format('END-OF-LOG:')
|
||||
write(*,1910) n,trim(outfile)
|
||||
1910 format('Processed',i5,' QSOs.'/'Output file: ',a)
|
||||
|
||||
999 end program cablog
|
||||
|
||||
!2023-10-28,00:17:00,2023-10-28,00:21:00,G7TZZ,IO92,1296.083100,Q65,-17,-17,,,,
|
Loading…
Reference in New Issue
Block a user