diff --git a/lib/packgrid.f90 b/lib/packgrid.f90 index bfb0f5f40..300d29e01 100644 --- a/lib/packgrid.f90 +++ b/lib/packgrid.f90 @@ -8,12 +8,40 @@ subroutine packgrid(grid,ng,text) text=.false. if(grid.eq.' ') go to 90 !Blank grid is OK - n=99 +! First, handle signal reports in the original range, -01 to -30 dB + if(grid(1:1).eq.'-') then + read(grid(2:3),*,err=800,end=800) n + if(n.ge.1 .and. n.le.30) then + ng=NGBASE+1+n + go to 900 + endif + go to 10 + else if(grid(1:2).eq.'R-') then + read(grid(3:4),*,err=800,end=800) n + if(n.ge.1 .and. n.le.30) then + ng=NGBASE+31+n + go to 900 + endif + go to 10 +! Now check for RO, RRR, or 73 in the message field normally used for grid + else if(grid(1:4).eq.'RO ') then + ng=NGBASE+62 + go to 900 + else if(grid(1:4).eq.'RRR ') then + ng=NGBASE+63 + go to 900 + else if(grid(1:4).eq.'73 ') then + ng=NGBASE+64 + go to 900 + endif + +! Now check for extended-range signal reports: -50 to -31, and 0 to +49. +10 n=99 c1=grid(1:1) - read(grid,*,err=1) n - go to 2 -1 read(grid(2:4),*,err=2) n -2 if(n.ge.-50 .and. n.le.49) then + read(grid,*,err=20) n + go to 30 +20 read(grid(2:4),*,err=30) n +30 if(n.ge.-50 .and. n.le.49) then if(c1.eq.'R') then write(grid,1002) n+50 1002 format('LA',i2.2) @@ -21,33 +49,28 @@ subroutine packgrid(grid,ng,text) write(grid,1003) n+50 1003 format('KA',i2.2) endif - go to 10 - else if(grid(1:2).eq.'RO') then - ng=NGBASE+62 - go to 100 - else if(grid(1:3).eq.'RRR') then - ng=NGBASE+63 - go to 100 - else if(grid(1:2).eq.'73') then - ng=NGBASE+64 - go to 100 + go to 40 endif +! Maybe it's free text ? if(grid(1:1).lt.'A' .or. grid(1:1).gt.'R') text=.true. if(grid(2:2).lt.'A' .or. grid(2:2).gt.'R') text=.true. if(grid(3:3).lt.'0' .or. grid(3:3).gt.'9') text=.true. if(grid(4:4).lt.'0' .or. grid(4:4).gt.'9') text=.true. - if(text) go to 100 + if(text) go to 900 -10 call grid2deg(grid//'mm',dlong,dlat) +! OK, we have a properly formatted grid locator +40 call grid2deg(grid//'mm',dlong,dlat) long=dlong lat=dlat+ 90.0 ng=((long+180)/2)*180 + lat - go to 100 + go to 900 90 ng=NGBASE + 1 + go to 900 + +800 text=.true. +900 continue -100 continue return end subroutine packgrid - diff --git a/mainwindow.cpp b/mainwindow.cpp index 04b7626f6..7f9101497 100644 --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -1536,11 +1536,11 @@ void MainWindow::on_genStdMsgsPushButton_clicked() //genStdMsgs button void MainWindow::on_logQSOButton_clicked() //Log QSO button { - int nMHz=144; + double dialFreq=g_pWideGraph->dialFreq(); QDateTime t = QDateTime::currentDateTimeUtc(); QString logEntry=t.date().toString("yyyy-MMM-dd,") + t.time().toString("hh:mm,") + m_hisCall + "," + m_hisGrid + "," + - QString::number(nMHz) + ",JTMSK\n"; + QString::number(dialFreq) + "," + m_mode + "\n"; QFile f("wsjt.log"); if(!f.open(QFile::Append)) { msgBox("Cannot open file \"wsjt.log\"."); diff --git a/widegraph.ui b/widegraph.ui index b005cd705..9866f675d 100644 --- a/widegraph.ui +++ b/widegraph.ui @@ -326,7 +326,7 @@ true - Dial Freq (kHz) + Dial Freq (MHz) @@ -348,7 +348,7 @@ - 473.000 + 1.8395