mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2025-02-03 09:44:24 -05:00
1. New help screen lists available Add-on DXCC prefixes.
2. Initialization of PTT to OFF is fixed. 3. WSJT_Source_Code.tst updated. git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/trunk@117 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
This commit is contained in:
parent
f81ad6aacf
commit
c0fb435c6a
@ -38,7 +38,7 @@ SRCS2F77 = wsjt1.f avesp2.f bzap.f spec441.f spec2d.f mtdecode.f \
|
||||
sync65.f unpackcall.f unpackgrid.f unpackmsg.f unpacktext.f \
|
||||
xcor.f xfft.f wsjt65.f astro.f azdist.f coord.f dcoord.f \
|
||||
deg2grid.f dot.f ftsky.f geocentric.f GeoDist.f grid2deg.f \
|
||||
moon2.f MoonDop.f sun.f toxyz.f
|
||||
moon2.f MoonDop.f sun.f toxyz.f pfxdump.f
|
||||
|
||||
SRCS2C = resample.c ptt.c igray.c wrapkarn.c
|
||||
|
||||
|
@ -1,5 +1,8 @@
|
||||
1 Introduction
|
||||
WSJT DEVELOPMENT OVERVIEW
|
||||
-------------------------
|
||||
|
||||
1 Introduction
|
||||
----------------------------------------------------------------------
|
||||
WSJT is a computer program designed to facilitate Amateur Radio
|
||||
communication under extreme weak-signal conditions. Three very
|
||||
different coding and modulation methods are provided: one for
|
||||
@ -9,7 +12,7 @@ for the very challenging EME (Earth-Moon-Earth) path.
|
||||
|
||||
|
||||
2 Program Overview
|
||||
|
||||
----------------------------------------------------------------------
|
||||
WSJT's user interface is written in Python. The major Python
|
||||
source-code files include:
|
||||
|
||||
@ -50,7 +53,7 @@ weak-signal communication.
|
||||
|
||||
|
||||
3 Some Functional Details
|
||||
|
||||
----------------------------------------------------------------------
|
||||
WSJT execution starts at the top of Python file wsjt.py. The
|
||||
other Python modules are loaded and executed as needed. Fortran
|
||||
routines are called to start a high-priority thread to handle
|
||||
@ -63,7 +66,7 @@ alternating transmission and reception intervals.
|
||||
|
||||
|
||||
4 Other Open-Source Software used in WSJT
|
||||
|
||||
----------------------------------------------------------------------
|
||||
WSJT 5.9 uses the following open source libraries:
|
||||
|
||||
1. FFTW, by Matteo Frigo and Steven Johnson, for computing Fourier
|
||||
@ -79,18 +82,18 @@ WSJT 5.9 uses the following open source libraries:
|
||||
|
||||
|
||||
5 Platform-Dependent Notes
|
||||
|
||||
----------------------------------------------------------------------
|
||||
The Python code should run on any supported Python platform. Most of
|
||||
the remaining code can be recompiled for Linux or OS/X, instead of
|
||||
Windows. Platform-dependent versions of FFTW, PortAudio, and
|
||||
libsamplerate need to be installed.
|
||||
the remaining code can be compiled for Linux, FreeBSD, unix, or OS/X,
|
||||
as well as Windows. Platform-dependent versions of FFTW, PortAudio,
|
||||
and libsamplerate may need to be installed.
|
||||
|
||||
Methods are provided for creating additional threads and setting their
|
||||
runtime priorities in both Windows and Linux.
|
||||
runtime priorities in Windows, Linux, and FreeBSD.
|
||||
|
||||
|
||||
6 Partial List of Functions and Subroutines, and their purposes
|
||||
|
||||
----------------------------------------------------------------------
|
||||
Routines for audio startup, decoding, display computations
|
||||
blanker.f90 Noise blanker
|
||||
fivehz.f90 Called by PortAudio callback
|
||||
@ -161,7 +164,7 @@ runtime priorities in both Windows and Linux.
|
||||
FFTs:
|
||||
fftw3.f Fortran definitions for FFTW
|
||||
four2a.f Wrapper to make FFTW look like four2
|
||||
four2.f FFT in Fortran
|
||||
four2.f FFT in Fortran (a;ternative to using FFTW)
|
||||
ps.f Compute power spectrum
|
||||
xfft.f Real to complex FFT wrapper
|
||||
|
||||
@ -230,7 +233,7 @@ runtime priorities in both Windows and Linux.
|
||||
|
||||
|
||||
7 Compiling Instructions
|
||||
|
||||
----------------------------------------------------------------------
|
||||
Scripts are provided for compiling WSJT in both Windows and Linux.
|
||||
They are presently set up to use Compaq Visual Fortran (v6.6) and
|
||||
Microsoft C (v6.0) in Windows, and g95 and gcc in Linux. My
|
||||
@ -256,11 +259,25 @@ These steps produce a distributable file WSJT6.EXE (Windows) or wsjt6
|
||||
end user does not need to install Python or any of its other
|
||||
extensions, or the compilers.
|
||||
|
||||
A configuration script and Makefile facility is also provided.
|
||||
Assuming that all of the pre-requisites are properly installed, WSJT
|
||||
can now be compiled in Windows as follows:
|
||||
|
||||
8 Present status (December 28, 2005)
|
||||
C> copy Makefile.win Makefile
|
||||
C> nmake
|
||||
|
||||
WSJT version 5-9-2 r25 is fully functional in Windows. The Linux version
|
||||
can be used to decode recorded files, but real-time audio I/O has not
|
||||
yet been implemented.
|
||||
In Linux or FreeBSD, do the following:
|
||||
|
||||
$ ./configure --enable-portaudio (or --enable-alsa)
|
||||
$ make
|
||||
|
||||
|
||||
8 Present status (January 17, 2006)
|
||||
----------------------------------------------------------------------
|
||||
|
||||
WSJT version 5.9.2 (built from SVN revision 115) has been released for
|
||||
Windows. It is is fully functional in Linux and BSD, as well, but
|
||||
presently need to be compiled locally. In due course we plan to
|
||||
provide distributions for standard *nix distributions.
|
||||
|
||||
|
||||
|
@ -18,7 +18,7 @@
|
||||
!------------------------------------------------ ftn_init
|
||||
subroutine ftn_init
|
||||
|
||||
character*1 cjunk
|
||||
character*1 cjunk,fname*80
|
||||
include 'gcom1.f90'
|
||||
include 'gcom2.f90'
|
||||
include 'gcom3.f90'
|
||||
@ -32,6 +32,7 @@ subroutine ftn_init
|
||||
enddo
|
||||
1 iz=i
|
||||
lenappdir=iz
|
||||
call pfxdump(appdir(:iz)//'/prefixes.txt')
|
||||
|
||||
#ifdef Win32
|
||||
open(11,file=appdir(:iz)//'/decoded.txt',status='unknown', &
|
||||
|
13
pfxdump.f
Normal file
13
pfxdump.f
Normal file
@ -0,0 +1,13 @@
|
||||
subroutine pfxdump(fname)
|
||||
character*(*) fname
|
||||
include 'pfx.f'
|
||||
|
||||
open(11,file=fname,status='unknown')
|
||||
write(11,1001) pfx
|
||||
1001 format('Supported Add-on Prefixes:'/90('_')/(15(a5,1x)))
|
||||
write(11,1002) sfx
|
||||
1002 format(/'Supported Suffixes:'/44('_')/(11('/',a1,2x)))
|
||||
close(11)
|
||||
|
||||
return
|
||||
end
|
18
wsjt.py
18
wsjt.py
@ -766,6 +766,19 @@ reports may be substituted.)
|
||||
Label(screenf5,text=t,justify=LEFT).pack(padx=20)
|
||||
screenf5.focus_set()
|
||||
|
||||
#------------------------------------------------------ prefixes
|
||||
def prefixes(event=NONE):
|
||||
pfx=Toplevel(root)
|
||||
pfx.geometry(msgpos())
|
||||
if g.Win32: pfx.iconbitmap("wsjt.ico")
|
||||
f=open(appdir+'/prefixes.txt','r')
|
||||
s=f.readlines()
|
||||
t=""
|
||||
for i in range(len(s)):
|
||||
t=t+s[i]
|
||||
Label(pfx,text=t,justify=LEFT).pack(padx=20)
|
||||
pfx.focus_set()
|
||||
|
||||
#------------------------------------------------------ azdist
|
||||
def azdist():
|
||||
if len(HisGrid.get().strip())<4:
|
||||
@ -1607,6 +1620,7 @@ helpbutton['menu'] = helpmenu
|
||||
helpmenu.add('command', label = 'Keyboard shortcuts', command = shortcuts)
|
||||
helpmenu.add('command', label = 'Special mouse commands', command = mouse_commands)
|
||||
helpmenu.add('command', label = 'What message to send?', command = what2send)
|
||||
helpmenu.add('command', label = 'Add-on prefix list', command = prefixes)
|
||||
helpmenu.add('command', label = 'About WSJT', command = about)
|
||||
|
||||
#------------------------------------------------------ Graphics areas
|
||||
@ -1978,7 +1992,9 @@ try:
|
||||
# elif key == 'RxDelay': options.RxDelay.set(value)
|
||||
# elif key == 'TxDelay': options.TxDelay.set(value)
|
||||
elif key == 'IDinterval': options.IDinterval.set(value)
|
||||
elif key == 'ComPort': options.ComPort.set(value)
|
||||
elif key == 'ComPort':
|
||||
options.ComPort.set(value)
|
||||
Audio.gcom2.nport=int(options.ComPort.get())
|
||||
elif key == 'Mileskm': options.mileskm.set(value)
|
||||
elif key == 'MsgStyle': options.ireport.set(value)
|
||||
elif key == 'Region': options.iregion.set(value)
|
||||
|
Loading…
Reference in New Issue
Block a user