Merge branch 'develop' into feat-fst280

This commit is contained in:
Bill Somerville 2021-01-15 22:14:36 +00:00
commit 455ec12e44
No known key found for this signature in database
GPG Key ID: D864B06D1E81618F
26 changed files with 6460 additions and 6025 deletions

View File

@ -49,6 +49,7 @@ project (wsjtx
LANGUAGES C CXX Fortran LANGUAGES C CXX Fortran
) )
set (PROJECT_DESCRIPTION "WSJT-X: Digital Modes for Weak Signal Communications in Amateur Radio") set (PROJECT_DESCRIPTION "WSJT-X: Digital Modes for Weak Signal Communications in Amateur Radio")
set (CMAKE_PROJECT_DESCRIPTION ${PROJECT_DESCRIPTION})
# #
# Local CMake modules and support files # Local CMake modules and support files

View File

@ -161,6 +161,7 @@ void HamlibTransceiver::register_transceivers (logger_type * logger,
{ {
rig_set_debug_callback (debug_callback, logger); rig_set_debug_callback (debug_callback, logger);
rig_set_debug (RIG_DEBUG_TRACE); rig_set_debug (RIG_DEBUG_TRACE);
BOOST_LOG_SEV (*logger, boost::log::trivial::info) << "Hamlib version: " << rig_version ();
rig_load_all_backends (); rig_load_all_backends ();
rig_list_foreach (register_callback, registry); rig_list_foreach (register_callback, registry);
} }

View File

@ -4,12 +4,10 @@ subroutine encode240_101(message,codeword)
use crc use crc
integer, parameter:: N=240, K=101, M=N-K integer, parameter:: N=240, K=101, M=N-K
character*24 c24
integer*1 codeword(N) integer*1 codeword(N)
integer*1 gen(M,K) integer*1 gen(M,K)
integer*1 message(K) integer*1 message(K)
integer*1 pchecks(M) integer*1 pchecks(M)
integer*4 ncrc24
include "ldpc_240_101_generator.f90" include "ldpc_240_101_generator.f90"
logical first logical first
data first/.true./ data first/.true./

View File

@ -4,12 +4,10 @@ subroutine encode240_74(message,codeword)
use crc use crc
integer, parameter:: N=240, K=74, M=N-K integer, parameter:: N=240, K=74, M=N-K
character*24 c24
integer*1 codeword(N) integer*1 codeword(N)
integer*1 gen(M,K) integer*1 gen(M,K)
integer*1 message(K) integer*1 message(K)
integer*1 pchecks(M) integer*1 pchecks(M)
integer*4 ncrc24
include "ldpc_240_74_generator.f90" include "ldpc_240_74_generator.f90"
logical first logical first
data first/.true./ data first/.true./

View File

@ -164,6 +164,7 @@ subroutine fastosd240_74(llr,k,apmask,ndeep,message74,cw,nhardmin,dmin)
cw=c0 cw=c0
ntotal=0 ntotal=0
nrejected=0 nrejected=0
xlambda=0.0
if(ndeep.eq.0) goto 998 ! norder=0 if(ndeep.eq.0) goto 998 ! norder=0
if(ndeep.gt.4) ndeep=4 if(ndeep.gt.4) ndeep=4

View File

@ -68,7 +68,7 @@ subroutine genfst4(msg0,ichk,msgsent,msgbits,i4tone,iwspr)
if(ichk.eq.1) go to 999 if(ichk.eq.1) go to 999
if(unpk77_success) go to 2 if(unpk77_success) go to 2
1 msgbits=0 msgbits=0
itone=0 itone=0
msgsent='*** bad message *** ' msgsent='*** bad message *** '
go to 999 go to 999

View File

@ -1,4 +1,4 @@
subroutine get_fst4_bitmetrics(cd,nss,nmax,nhicoh,bitmetrics,s4,nsync_qual,badsync) subroutine get_fst4_bitmetrics(cd,nss,bitmetrics,s4,nsync_qual,badsync)
use timer_module, only: timer use timer_module, only: timer
include 'fst4_params.f90' include 'fst4_params.f90'
@ -21,9 +21,10 @@ subroutine get_fst4_bitmetrics(cd,nss,nmax,nhicoh,bitmetrics,s4,nsync_qual,badsy
data isyncword2/2,3,1,0,3,2,0,1/ data isyncword2/2,3,1,0,3,2,0,1/
data graymap/0,1,3,2/ data graymap/0,1,3,2/
data first/.true./,nss0/-1/ data first/.true./,nss0/-1/
save first,one,cp,nss0 save first,one,nss0
if(nss.ne.nss0 .and. allocated(ci)) deallocate(ci) if(nss.ne.nss0 .and. allocated(ci)) deallocate(ci)
if(first .or. nss.ne.nss0) then if(first .or. nss.ne.nss0) then
allocate(ci(nss,0:3)) allocate(ci(nss,0:3))
one=.false. one=.false.

View File

@ -5,7 +5,6 @@ subroutine get_fst4_bitmetrics2(cd,nss,hmod,nsizes,bitmetrics,s4snr,badsync)
complex csymb(nss) complex csymb(nss)
complex, allocatable, save :: c1(:,:) ! ideal waveforms, 4 tones complex, allocatable, save :: c1(:,:) ! ideal waveforms, 4 tones
complex cp(0:3) ! accumulated phase shift over symbol types 0:3 complex cp(0:3) ! accumulated phase shift over symbol types 0:3
complex csum,cterm
integer isyncword1(0:7),isyncword2(0:7) integer isyncword1(0:7),isyncword2(0:7)
integer graymap(0:3) integer graymap(0:3)
integer ip(1) integer ip(1)

View File

@ -6,7 +6,7 @@ program ldpcsim240_74
parameter(N=240, K=74, M=N-K) parameter(N=240, K=74, M=N-K)
character*8 arg character*8 arg
character*37 msg0,msg character*37 msg0
character*77 c77 character*77 c77
character*24 c24 character*24 c24
integer*1 msgbits(74) integer*1 msgbits(74)
@ -15,7 +15,7 @@ program ldpcsim240_74
integer*1 codeword(N),message74(74) integer*1 codeword(N),message74(74)
integer ncrc24 integer ncrc24
real rxdata(N),llr(N) real rxdata(N),llr(N)
logical first,unpk77_success logical first
data first/.true./ data first/.true./
nargs=iargc() nargs=iargc()

View File

@ -128,6 +128,7 @@ subroutine osd240_101(llr,k,apmask,ndeep,message101,cw,nhardmin,dmin)
nrejected=0 nrejected=0
npre1=0 npre1=0
npre2=0 npre2=0
nt=0
if(ndeep.eq.0) goto 998 ! norder=0 if(ndeep.eq.0) goto 998 ! norder=0
if(ndeep.gt.6) ndeep=6 if(ndeep.gt.6) ndeep=6

View File

@ -128,6 +128,7 @@ subroutine osd240_74(llr,k,apmask,ndeep,message74,cw,nhardmin,dmin)
nrejected=0 nrejected=0
npre1=0 npre1=0
npre2=0 npre2=0
nt=0
if(ndeep.eq.0) goto 998 ! norder=0 if(ndeep.eq.0) goto 998 ! norder=0
if(ndeep.gt.6) ndeep=6 if(ndeep.gt.6) ndeep=6

View File

@ -89,6 +89,7 @@ contains
mycall13=mycall mycall13=mycall
if(iwspr.ne.0.and.iwspr.ne.1) return if(iwspr.ne.0.and.iwspr.ne.1) return
if(lagain) continue ! use lagain to keep compiler happy
if(first) then if(first) then
! read the fst4_calls.txt file ! read the fst4_calls.txt file
@ -401,7 +402,7 @@ contains
cframe=c2(is0:iend) cframe=c2(is0:iend)
bitmetrics=0 bitmetrics=0
call timer('bitmetrc',0) call timer('bitmetrc',0)
call get_fst4_bitmetrics(cframe,nss,nblock,nhicoh,bitmetrics, & call get_fst4_bitmetrics(cframe,nss,bitmetrics, &
s4,nsync_qual,badsync) s4,nsync_qual,badsync)
call timer('bitmetrc',1) call timer('bitmetrc',1)
if(badsync) cycle if(badsync) cycle

View File

@ -91,7 +91,6 @@ program ft8sim_gfsk
call sgran() call sgran()
msg0=msg
do ifile=1,nfiles do ifile=1,nfiles
c0=0. c0=0.
c0(0:NWAVE-1)=cwave c0(0:NWAVE-1)=cwave

View File

@ -738,7 +738,7 @@ int main(int argc, char *argv[])
signed char message[]={-9,13,-35,123,57,-39,64,0,0,0,0}; signed char message[]={-9,13,-35,123,57,-39,64,0,0,0,0};
char *callsign, *grid, *call_loc_pow; char *callsign, *grid, *call_loc_pow;
char *ptr_to_infile,*ptr_to_infile_suffix; char *ptr_to_infile,*ptr_to_infile_suffix;
char *data_dir=NULL; char *data_dir=".";
char wisdom_fname[200],all_fname[200],spots_fname[200]; char wisdom_fname[200],all_fname[200],spots_fname[200];
char timer_fname[200],hash_fname[200]; char timer_fname[200],hash_fname[200];
char uttime[5],date[7]; char uttime[5],date[7];
@ -905,11 +905,11 @@ int main(int argc, char *argv[])
strcpy(timer_fname,"."); strcpy(timer_fname,".");
strcpy(hash_fname,"."); strcpy(hash_fname,".");
if(data_dir != NULL) { if(data_dir != NULL) {
strcpy(wisdom_fname,data_dir); strncpy(wisdom_fname,data_dir, sizeof wisdom_fname);
strcpy(all_fname,data_dir); strncpy(all_fname,data_dir, sizeof all_fname);
strcpy(spots_fname,data_dir); strncpy(spots_fname,data_dir, sizeof spots_fname);
strcpy(timer_fname,data_dir); strncpy(timer_fname,data_dir, sizeof timer_fname);
strcpy(hash_fname,data_dir); strncpy(hash_fname,data_dir, sizeof hash_fname);
} }
strncat(wisdom_fname,"/wspr_wisdom.dat",20); strncat(wisdom_fname,"/wspr_wisdom.dat",20);
strncat(all_fname,"/ALL_WSPR.TXT",20); strncat(all_fname,"/ALL_WSPR.TXT",20);

View File

@ -103,18 +103,18 @@ namespace
// 7050 - 7060 DM WB(<2700Hz) with 7050 - 7053 ACDS // 7050 - 7060 DM WB(<2700Hz) with 7050 - 7053 ACDS
// //
// 7040 PSK31 // 7040 PSK31
// 7043.25 OLIVIA, Contestia, etc. (main QRQ) // 7043.25 OLIVIA, Contestia, etc. (main QRG)
// 7070 PSK31 // 7070 PSK31
// 7073.25 OLIVIA, Contestia, etc. (main QRQ) // 7073.25 OLIVIA, Contestia, etc. (main QRG)
// 7090 LSB QRP CoA // 7090 LSB QRP CoA
// //
// R2: 7040 - 7050 DM NB(<500Hz) with 7047 - 7050 ACDS // R2: 7040 - 7050 DM NB(<500Hz) with 7047 - 7050 ACDS
// 7050 - 7053 DM WB(<2700Hz) ACDS shared with all modes // 7050 - 7053 DM WB(<2700Hz) ACDS shared with all modes
// //
// 7040 RTTY DX // 7040 RTTY DX
// 7043.25 OLIVIA, Contestia, etc. (main QRQ) // 7043.25 OLIVIA, Contestia, etc. (main QRG)
// 7070 PSK31 (also LSB EMCOMM) // 7070 PSK31 (also LSB EMCOMM)
// 7073.25 OLIVIA, Contestia, etc. (main QRQ) // 7073.25 OLIVIA, Contestia, etc. (main QRG)
// 7080 - 7125 RTTY/Data // 7080 - 7125 RTTY/Data
// 7090 LSB QRP CoA // 7090 LSB QRP CoA
// //
@ -122,7 +122,7 @@ namespace
// //
// 7030 - 7100 DM WB(<3000Hz) JA 7045 - 7100 shared with all modes // 7030 - 7100 DM WB(<3000Hz) JA 7045 - 7100 shared with all modes
// //
// 7026.25 OLIVIA, Contestia, etc. (main QRQ) // 7026.25 OLIVIA, Contestia, etc. (main QRG)
// 7035 PSK31 // 7035 PSK31
// 7050 JA LSB EMCOMM // 7050 JA LSB EMCOMM
// 7090 LSB QRP CoA // 7090 LSB QRP CoA
@ -143,7 +143,7 @@ namespace
// 10139.25 OLIVIA, Contestia, etc. // 10139.25 OLIVIA, Contestia, etc.
// 10142 PSK31 // 10142 PSK31
// 10142.25 OLIVIA, Contestia, etc. // 10142.25 OLIVIA, Contestia, etc.
// 10143.25 OLIVIA, Contestia, etc. (main QRQ) // 10143.25 OLIVIA, Contestia, etc. (main QRG)
// //
// R2: 10130 - 10140 DM NB(<500Hz) shared with ACDS // R2: 10130 - 10140 DM NB(<500Hz) shared with ACDS
// 10140 - 10150 DM WB(<2700Hz) // 10140 - 10150 DM WB(<2700Hz)
@ -153,14 +153,14 @@ namespace
// 10140 - 10150 Packet // 10140 - 10150 Packet
// 10142 PSK31 // 10142 PSK31
// 10142.25 OLIVIA, Contestia, etc. // 10142.25 OLIVIA, Contestia, etc.
// 10143.25 OLIVIA, Contestia, etc. (main QRQ) // 10143.25 OLIVIA, Contestia, etc. (main QRG)
// //
// R3: 10130 - 10150 DM NB(<2000Hz) // R3: 10130 - 10150 DM NB(<2000Hz)
// //
// 10139.25 OLIVIA, Contestia, etc. // 10139.25 OLIVIA, Contestia, etc.
// 10142 PSK31 // 10142 PSK31
// 10142.25 OLIVIA, Contestia, etc. // 10142.25 OLIVIA, Contestia, etc.
// 10143.25 OLIVIA, Contestia, etc. (main QRQ) // 10143.25 OLIVIA, Contestia, etc. (main QRG)
// //
{10136000, Modes::FT8, IARURegions::ALL}, {10136000, Modes::FT8, IARURegions::ALL},
{10138000, Modes::JT65, IARURegions::ALL}, {10138000, Modes::JT65, IARURegions::ALL},

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -2108,7 +2108,7 @@ Error(%2): %3</source>
<message> <message>
<location filename="../widgets/mainwindow.ui" line="376"/> <location filename="../widgets/mainwindow.ui" line="376"/>
<source>Enter this QSO in log</source> <source>Enter this QSO in log</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../widgets/mainwindow.ui" line="379"/> <location filename="../widgets/mainwindow.ui" line="379"/>
@ -2464,7 +2464,7 @@ Yellow when too low</source>
<message> <message>
<location filename="../widgets/mainwindow.ui" line="679"/> <location filename="../widgets/mainwindow.ui" line="679"/>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Select operating band or enter frequency in MHz or enter kHz increment followed by k.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source> <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Select operating band or enter frequency in MHz or enter kHz increment followed by k.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt; MHz kHz k.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation> <translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt; k.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
</message> </message>
<message> <message>
<location filename="../widgets/mainwindow.ui" line="682"/> <location filename="../widgets/mainwindow.ui" line="682"/>
@ -2653,7 +2653,7 @@ Yellow when too low</source>
<message> <message>
<location filename="../widgets/mainwindow.ui" line="1481"/> <location filename="../widgets/mainwindow.ui" line="1481"/>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Frequency to call CQ on in kHz above the current MHz&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source> <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Frequency to call CQ on in kHz above the current MHz&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt; CQ kHz MHz&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation> <translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt; CQ &lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
</message> </message>
<message> <message>
<location filename="../widgets/mainwindow.ui" line="1484"/> <location filename="../widgets/mainwindow.ui" line="1484"/>
@ -3888,10 +3888,10 @@ list. The list can be maintained in Settings (F2).</source>
<location filename="../widgets/mainwindow.cpp" line="2571"/> <location filename="../widgets/mainwindow.cpp" line="2571"/>
<source>If you make fair use of any part of WSJT-X under terms of the GNU General Public License, you must display the following copyright notice prominently in your derivative work: <source>If you make fair use of any part of WSJT-X under terms of the GNU General Public License, you must display the following copyright notice prominently in your derivative work:
&quot;The algorithms, source code, look-and-feel of WSJT-X and related programs, and protocol specifications for the modes FSK441, FT8, JT4, JT6M, JT9, JT65, JTMS, QRA64, ISCAT, MSK144 are Copyright (C) 2001-2021 by one or more of the following authors: Joseph Taylor, K1JT; Bill Somerville, G4WJS; Steven Franke, K9AN; Nico Palermo, IV3NWV; Greg Beam, KI7MT; Michael Black, W9MDB; Edson Pereira, PY2SDR; Philip Karn, KA9Q; and other members of the WSJT Development Group.&quot;</source> &quot;The algorithms, source code, look-and-feel of WSJT-X and related programs, and protocol specifications for the modes FSK441, FT8, JT4, JT6M, JT9, JT65, JTMS, QRA64, ISCAT, MSK144 are Copyright (C) 2001-2020 by one or more of the following authors: Joseph Taylor, K1JT; Bill Somerville, G4WJS; Steven Franke, K9AN; Nico Palermo, IV3NWV; Greg Beam, KI7MT; Michael Black, W9MDB; Edson Pereira, PY2SDR; Philip Karn, KA9Q; and other members of the WSJT Development Group.&quot;</source>
<translation> GNU 使 WSJT-X , : <translation> GNU 使 WSJT-X , :
&quot;WSJT-X , , , FSK441, FT8, JT4, JT6M, JT9, JT65, JTMS, QRA64, ISCAT, MSK144 (C) 2001-2021 由以下一个或多个作者: Joseph Taylor, K1JT; Bill Somerville, G4WJS; Steven Franke, K9AN; Nico Palermo, IV3NWV; Greg Beam, KI7MT; Michael Black, W9MDB; Edson Pereira, PY2SDR; Philip Karn, KA9Q; WSJT .&quot;</translation> &quot;WSJT-X , , , FSK441, FT8, JT4, JT6M, JT9, JT65, JTMS, QRA64, ISCAT, MSK144 (C) 2001-2019 由以下一个或多个作者: Joseph Taylor, K1JT; Bill Somerville, G4WJS; Steven Franke, K9AN; Nico Palermo, IV3NWV; Greg Beam, KI7MT; Michael Black, W9MDB; Edson Pereira, PY2SDR; Philip Karn, KA9Q; WSJT .&quot;</translation>
</message> </message>
<message> <message>
<location filename="../widgets/mainwindow.cpp" line="2846"/> <location filename="../widgets/mainwindow.cpp" line="2846"/>
@ -6040,7 +6040,7 @@ and DX Grid fields when a 73 or free text message is sent.</source>
<message> <message>
<location filename="../Configuration.ui" line="1791"/> <location filename="../Configuration.ui" line="1791"/>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;The callsign of the operator, if different from the station callsign.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source> <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;The callsign of the operator, if different from the station callsign.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt; ().&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation> <translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;, .&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
</message> </message>
<message> <message>
<location filename="../Configuration.ui" line="1798"/> <location filename="../Configuration.ui" line="1798"/>
@ -6060,7 +6060,7 @@ and DX Grid fields when a 73 or free text message is sent.</source>
<message> <message>
<location filename="../Configuration.ui" line="1824"/> <location filename="../Configuration.ui" line="1824"/>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;The program can send your station details and all decoded signals with grid squares as spots to the http://pskreporter.info web site.&lt;/p&gt;&lt;p&gt;This is used for reverse beacon analysis which is very useful for assessing propagation and system performance.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source> <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;The program can send your station details and all decoded signals with grid squares as spots to the http://pskreporter.info web site.&lt;/p&gt;&lt;p&gt;This is used for reverse beacon analysis which is very useful for assessing propagation and system performance.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;http://pskreporter.info网站.&lt;/p&gt;&lt;p&gt;这用于反向信标分析这对于评估传播和系统性能非常有用.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation> <translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;http://pskreporter.info网站.&lt;/p&gt;&lt;p&gt;这用于反向信标分析, 这对于评估传播和系统性能非常有用.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
</message> </message>
<message> <message>
<location filename="../Configuration.ui" line="1827"/> <location filename="../Configuration.ui" line="1827"/>
@ -6226,7 +6226,7 @@ and DX Grid fields when a 73 or free text message is sent.</source>
<location filename="../Configuration.ui" line="2177"/> <location filename="../Configuration.ui" line="2177"/>
<source>Items may be edited. <source>Items may be edited.
Right click for insert and delete options.</source> Right click for insert and delete options.</source>
<translation> <translation>.
.</translation> .</translation>
</message> </message>
<message> <message>

View File

@ -2464,7 +2464,7 @@ Yellow when too low</source>
<message> <message>
<location filename="../widgets/mainwindow.ui" line="679"/> <location filename="../widgets/mainwindow.ui" line="679"/>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Select operating band or enter frequency in MHz or enter kHz increment followed by k.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source> <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Select operating band or enter frequency in MHz or enter kHz increment followed by k.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt; MHz kHz , k.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation> <translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;, k.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
</message> </message>
<message> <message>
<location filename="../widgets/mainwindow.ui" line="682"/> <location filename="../widgets/mainwindow.ui" line="682"/>
@ -2474,7 +2474,7 @@ Yellow when too low</source>
<message> <message>
<location filename="../widgets/mainwindow.ui" line="685"/> <location filename="../widgets/mainwindow.ui" line="685"/>
<source>Select operating band or enter frequency in MHz or enter kHz increment followed by k.</source> <source>Select operating band or enter frequency in MHz or enter kHz increment followed by k.</source>
<translation> MHz kHz , k.</translation> <translation>, k.</translation>
</message> </message>
<message> <message>
<location filename="../widgets/mainwindow.ui" line="1060"/> <location filename="../widgets/mainwindow.ui" line="1060"/>
@ -2653,7 +2653,7 @@ Yellow when too low</source>
<message> <message>
<location filename="../widgets/mainwindow.ui" line="1481"/> <location filename="../widgets/mainwindow.ui" line="1481"/>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Frequency to call CQ on in kHz above the current MHz&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source> <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Frequency to call CQ on in kHz above the current MHz&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;CQ kHz MHz&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation> <translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;CQ &lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
</message> </message>
<message> <message>
<location filename="../widgets/mainwindow.ui" line="1484"/> <location filename="../widgets/mainwindow.ui" line="1484"/>
@ -2726,14 +2726,14 @@ Not available to nonstandard callsign holders.</source>
<message> <message>
<location filename="../widgets/mainwindow.ui" line="1655"/> <location filename="../widgets/mainwindow.ui" line="1655"/>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Check this to start recording calibration data.&lt;br/&gt;While measuring calibration correction is disabled.&lt;br/&gt;When not checked you can view the calibration results.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source> <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Check this to start recording calibration data.&lt;br/&gt;While measuring calibration correction is disabled.&lt;br/&gt;When not checked you can view the calibration results.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;.&lt;br/&gt;.&lt;br/&gt;.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation> <translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;.&lt;br/&gt;.&lt;br/&gt;.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
</message> </message>
<message> <message>
<location filename="../widgets/mainwindow.ui" line="1658"/> <location filename="../widgets/mainwindow.ui" line="1658"/>
<source>Check this to start recording calibration data. <source>Check this to start recording calibration data.
While measuring calibration correction is disabled. While measuring calibration correction is disabled.
When not checked you can view the calibration results.</source> When not checked you can view the calibration results.</source>
<translation>. <translation>.
. .
.</translation> .</translation>
</message> </message>
@ -3691,7 +3691,7 @@ list. The list can be maintained in Settings (F2).</source>
<message> <message>
<location filename="../widgets/mainwindow.cpp" line="530"/> <location filename="../widgets/mainwindow.cpp" line="530"/>
<source>Scanned ADIF log, %1 worked before records created</source> <source>Scanned ADIF log, %1 worked before records created</source>
<translation> ADIF , %1 </translation> <translation> ADIF , %1 </translation>
</message> </message>
<message> <message>
<location filename="../widgets/mainwindow.cpp" line="640"/> <location filename="../widgets/mainwindow.cpp" line="640"/>
@ -3888,10 +3888,10 @@ list. The list can be maintained in Settings (F2).</source>
<location filename="../widgets/mainwindow.cpp" line="2551"/> <location filename="../widgets/mainwindow.cpp" line="2551"/>
<source>If you make fair use of any part of WSJT-X under terms of the GNU General Public License, you must display the following copyright notice prominently in your derivative work: <source>If you make fair use of any part of WSJT-X under terms of the GNU General Public License, you must display the following copyright notice prominently in your derivative work:
&quot;The algorithms, source code, look-and-feel of WSJT-X and related programs, and protocol specifications for the modes FSK441, FT8, JT4, JT6M, JT9, JT65, JTMS, QRA64, ISCAT, MSK144 are Copyright (C) 2001-2021 by one or more of the following authors: Joseph Taylor, K1JT; Bill Somerville, G4WJS; Steven Franke, K9AN; Nico Palermo, IV3NWV; Greg Beam, KI7MT; Michael Black, W9MDB; Edson Pereira, PY2SDR; Philip Karn, KA9Q; and other members of the WSJT Development Group.&quot;</source> &quot;The algorithms, source code, look-and-feel of WSJT-X and related programs, and protocol specifications for the modes FSK441, FT8, JT4, JT6M, JT9, JT65, JTMS, QRA64, ISCAT, MSK144 are Copyright (C) 2001-2020 by one or more of the following authors: Joseph Taylor, K1JT; Bill Somerville, G4WJS; Steven Franke, K9AN; Nico Palermo, IV3NWV; Greg Beam, KI7MT; Michael Black, W9MDB; Edson Pereira, PY2SDR; Philip Karn, KA9Q; and other members of the WSJT Development Group.&quot;</source>
<translation> GNU 使 WSJT-X , : <translation> GNU 使 WSJT-X , :
&quot;WSJT-X , , , FSK441, FT8, JT4, JT6M, JT9, JT65, JTMS, QRA64, ISCAT, MSK144 (C) 2001-2021 由以下一個或多個作者: Joseph Taylor, K1JT; Bill Somerville, G4WJS; Steven Franke, K9AN; Nico Palermo, IV3NWV; Greg Beam, KI7MT; Michael Black, W9MDB; Edson Pereira, PY2SDR; Philip Karn, KA9Q; WSJT .&quot;</translation> &quot;WSJT-X , , , FSK441, FT8, JT4, JT6M, JT9, JT65, JTMS, QRA64, ISCAT, MSK144 (C) 2001-2019 由以下一個或多個作者: Joseph Taylor, K1JT; Bill Somerville, G4WJS; Steven Franke, K9AN; Nico Palermo, IV3NWV; Greg Beam, KI7MT; Michael Black, W9MDB; Edson Pereira, PY2SDR; Philip Karn, KA9Q; WSJT .&quot;</translation>
</message> </message>
<message> <message>
<location filename="../widgets/mainwindow.cpp" line="2846"/> <location filename="../widgets/mainwindow.cpp" line="2846"/>
@ -4225,7 +4225,7 @@ is already in CALL3.TXT, do you wish to replace it?</source>
<message> <message>
<location filename="../widgets/mainwindow.cpp" line="6762"/> <location filename="../widgets/mainwindow.cpp" line="6762"/>
<source>Doing this will remove all QSO records for the current contest. They will be kept in the ADIF log file but will not be available for export in your Cabrillo log.</source> <source>Doing this will remove all QSO records for the current contest. They will be kept in the ADIF log file but will not be available for export in your Cabrillo log.</source>
<translation>. ADIF , .</translation> <translation>. ADIF , .</translation>
</message> </message>
<message> <message>
<location filename="../widgets/mainwindow.cpp" line="6775"/> <location filename="../widgets/mainwindow.cpp" line="6775"/>
@ -6031,12 +6031,12 @@ and DX Grid fields when a 73 or free text message is sent.</source>
<message> <message>
<location filename="../Configuration.ui" line="1781"/> <location filename="../Configuration.ui" line="1781"/>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Some logging programs will not accept WSJT-X mode names.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source> <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Some logging programs will not accept WSJT-X mode names.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt; WSJT-X .&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation> <translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt; WSJT-X .&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
</message> </message>
<message> <message>
<location filename="../Configuration.ui" line="1784"/> <location filename="../Configuration.ui" line="1784"/>
<source>Con&amp;vert mode to RTTY</source> <source>Con&amp;vert mode to RTTY</source>
<translation>&amp;RTTY模式</translation> <translation>&amp;RTTY模式</translation>
</message> </message>
<message> <message>
<location filename="../Configuration.ui" line="1791"/> <location filename="../Configuration.ui" line="1791"/>
@ -6141,12 +6141,12 @@ and DX Grid fields when a 73 or free text message is sent.</source>
<message> <message>
<location filename="../Configuration.ui" line="1949"/> <location filename="../Configuration.ui" line="1949"/>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;When checked, WSJT-X will broadcast a logged contact in ADIF format to the configured hostname and port. &lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source> <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;When checked, WSJT-X will broadcast a logged contact in ADIF format to the configured hostname and port. &lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;, WSJT-X ADIF . &lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation> <translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;, WSJT-X ADIF . &lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
</message> </message>
<message> <message>
<location filename="../Configuration.ui" line="1952"/> <location filename="../Configuration.ui" line="1952"/>
<source>Enable logged contact ADIF broadcast</source> <source>Enable logged contact ADIF broadcast</source>
<translation> ADIF </translation> <translation> ADIF </translation>
</message> </message>
<message> <message>
<location filename="../Configuration.ui" line="1959"/> <location filename="../Configuration.ui" line="1959"/>

View File

@ -2,14 +2,6 @@
<ui version="4.0"> <ui version="4.0">
<class>MainWindow</class> <class>MainWindow</class>
<widget class="QMainWindow" name="MainWindow"> <widget class="QMainWindow" name="MainWindow">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>1124</width>
<height>582</height>
</rect>
</property>
<property name="windowTitle"> <property name="windowTitle">
<string>WSJT-X by K1JT</string> <string>WSJT-X by K1JT</string>
</property> </property>
@ -1147,6 +1139,9 @@ Not available to nonstandard callsign holders.</string>
</item> </item>
<item> <item>
<widget class="QCheckBox" name="cbRxAll"> <widget class="QCheckBox" name="cbRxAll">
<property name="toolTip">
<string>Decode other Hounds calling above 1000 Hz audio offset</string>
</property>
<property name="text"> <property name="text">
<string>Rx All Freqs</string> <string>Rx All Freqs</string>
</property> </property>
@ -2801,7 +2796,7 @@ Double-click to reset to the standard 73 message</string>
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>1124</width> <width>1110</width>
<height>21</height> <height>21</height>
</rect> </rect>
</property> </property>
@ -3446,6 +3441,9 @@ Double-click to reset to the standard 73 message</string>
</customwidget> </customwidget>
</customwidgets> </customwidgets>
<tabstops> <tabstops>
<tabstop>decodedTextBrowser</tabstop>
<tabstop>decodedTextBrowser2</tabstop>
<tabstop>cbCQonly</tabstop>
<tabstop>logQSOButton</tabstop> <tabstop>logQSOButton</tabstop>
<tabstop>stopButton</tabstop> <tabstop>stopButton</tabstop>
<tabstop>monitorButton</tabstop> <tabstop>monitorButton</tabstop>
@ -3455,7 +3453,81 @@ Double-click to reset to the standard 73 message</string>
<tabstop>autoButton</tabstop> <tabstop>autoButton</tabstop>
<tabstop>stopTxButton</tabstop> <tabstop>stopTxButton</tabstop>
<tabstop>tuneButton</tabstop> <tabstop>tuneButton</tabstop>
<tabstop>decodedTextBrowser</tabstop> <tabstop>cbMenus</tabstop>
<tabstop>bandComboBox</tabstop>
<tabstop>readFreq</tabstop>
<tabstop>sbNB</tabstop>
<tabstop>dxCallEntry</tabstop>
<tabstop>dxGridEntry</tabstop>
<tabstop>lookupButton</tabstop>
<tabstop>addButton</tabstop>
<tabstop>txFirstCheckBox</tabstop>
<tabstop>TxFreqSpinBox</tabstop>
<tabstop>pbR2T</tabstop>
<tabstop>sbFtol</tabstop>
<tabstop>pbT2R</tabstop>
<tabstop>RxFreqSpinBox</tabstop>
<tabstop>rptSpinBox</tabstop>
<tabstop>sbTR</tabstop>
<tabstop>cbHoldTxFreq</tabstop>
<tabstop>sbF_Low</tabstop>
<tabstop>sbF_High</tabstop>
<tabstop>sbSubmode</tabstop>
<tabstop>syncSpinBox</tabstop>
<tabstop>sbCQTxFreq</tabstop>
<tabstop>cbCQTx</tabstop>
<tabstop>cbRxAll</tabstop>
<tabstop>cbShMsgs</tabstop>
<tabstop>cbFast9</tabstop>
<tabstop>cbAutoSeq</tabstop>
<tabstop>cbFirst</tabstop>
<tabstop>cbTx6</tabstop>
<tabstop>cbSWL</tabstop>
<tabstop>pbBestSP</tabstop>
<tabstop>measure_check_box</tabstop>
<tabstop>tabWidget</tabstop>
<tabstop>genStdMsgsPushButton</tabstop>
<tabstop>tx1</tabstop>
<tabstop>txrb1</tabstop>
<tabstop>txb1</tabstop>
<tabstop>tx2</tabstop>
<tabstop>txrb2</tabstop>
<tabstop>txb2</tabstop>
<tabstop>tx3</tabstop>
<tabstop>txrb3</tabstop>
<tabstop>txb3</tabstop>
<tabstop>tx4</tabstop>
<tabstop>txrb4</tabstop>
<tabstop>txb4</tabstop>
<tabstop>tx5</tabstop>
<tabstop>txrb5</tabstop>
<tabstop>txb5</tabstop>
<tabstop>tx6</tabstop>
<tabstop>txrb6</tabstop>
<tabstop>txb6</tabstop>
<tabstop>textBrowser4</tabstop>
<tabstop>comboBoxHoundSort</tabstop>
<tabstop>sbNlist</tabstop>
<tabstop>sbMax_dB</tabstop>
<tabstop>sbNslots</tabstop>
<tabstop>comboBoxCQ</tabstop>
<tabstop>cbMoreCQs</tabstop>
<tabstop>pbFoxReset</tabstop>
<tabstop>WSPRfreqSpinBox</tabstop>
<tabstop>sbFST4W_RxFreq</tabstop>
<tabstop>sbFST4W_FTol</tabstop>
<tabstop>RoundRobin</tabstop>
<tabstop>sbTxPercent</tabstop>
<tabstop>sbTR_FST4W</tabstop>
<tabstop>band_hopping_group_box</tabstop>
<tabstop>band_hopping_schedule_push_button</tabstop>
<tabstop>cbUploadWSPR_Spots</tabstop>
<tabstop>WSPR_prefer_type_1_check_box</tabstop>
<tabstop>cbNoOwnCall</tabstop>
<tabstop>pbTxNext</tabstop>
<tabstop>TxPowerComboBox</tabstop>
<tabstop>outAttenuation</tabstop>
<tabstop>sbSerialNumber</tabstop>
</tabstops> </tabstops>
<resources/> <resources/>
<connections/> <connections/>

View File

@ -534,6 +534,24 @@
<container>1</container> <container>1</container>
</customwidget> </customwidget>
</customwidgets> </customwidgets>
<tabstops>
<tabstop>cbControls</tabstop>
<tabstop>bppSpinBox</tabstop>
<tabstop>fStartSpinBox</tabstop>
<tabstop>fSplitSpinBox</tabstop>
<tabstop>waterfallAvgSpinBox</tabstop>
<tabstop>adjust_palette_push_button</tabstop>
<tabstop>paletteComboBox</tabstop>
<tabstop>cbFlatten</tabstop>
<tabstop>cbRef</tabstop>
<tabstop>spec2dComboBox</tabstop>
<tabstop>gainSlider</tabstop>
<tabstop>zeroSlider</tabstop>
<tabstop>gain2dSlider</tabstop>
<tabstop>zero2dSlider</tabstop>
<tabstop>sbPercent2dPlot</tabstop>
<tabstop>smoSpinBox</tabstop>
</tabstops>
<resources/> <resources/>
<connections/> <connections/>
</ui> </ui>