From b986c7c81c3f089fc4fc6a47361b3cec23f93fbc Mon Sep 17 00:00:00 2001 From: Joe Taylor Date: Thu, 30 Nov 2023 15:56:09 -0500 Subject: [PATCH] Modify cablog to handle MAP65 log files wsjt.log as well as WSJT-X log files wsjtx.log. --- lib/cablog.f90 | 81 +++++++++++++++++++++++++++++++++----------------- 1 file changed, 53 insertions(+), 28 deletions(-) diff --git a/lib/cablog.f90 b/lib/cablog.f90 index ebc7295cf..a6ba28859 100644 --- a/lib/cablog.f90 +++ b/lib/cablog.f90 @@ -3,7 +3,11 @@ 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 + character*3 cmo(12) integer icomma(20) + logical map65 + data cmo/'Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep', & + 'Oct','Nov','Dec'/ nargs=iargc() if(nargs.ne.4) then @@ -48,9 +52,12 @@ program cablog 'CREATED-BY: cablog (C) K1JT') n=0 + map65=.false. + do nn=1,9999 read(10,'(a100)',end=900) line if(len(trim(line)).eq.0) cycle + if(line(6:6).ge.'A' .and. line(6:6).le.'Z') map65=.true. n=n+1 k=0 do j=1,100 @@ -61,38 +68,54 @@ program cablog 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 + + if(map65) then + do i=1,12 + if(cmo(i).eq.line(6:8)) write(cdate(6:7),'(i2.2)') i + enddo + cdate(1:5)=line(1:5) + cdate(8:10)=line(9:11) + cutc=line(13:14)//line(16:17) + i0=index(line(19:),',') + callsign=line(19:17+i0) + cband='144 ' 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) + 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 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) + + write(12,1030) cband,cmode,cdate,cutc,mycall,csent,callsign,crcvd +1030 format('QSO: ',a4,1x,a2,1x,a10,1x,a4,1x,a6,1x,a3,5x,a10,1x,a3) enddo 900 write(12,1900) @@ -103,3 +126,5 @@ program cablog 999 end program cablog !2023-10-28,00:17:00,2023-10-28,00:21:00,G7TZZ,IO92,1296.083100,Q65,-17,-17,,,, +!2023-Nov-30,20:31,W8WN,EM77,0,Q65A +