diff --git a/Darwin/ReadMe.txt b/Darwin/ReadMe.txt index 78c092ca4..7bb73d262 100644 --- a/Darwin/ReadMe.txt +++ b/Darwin/ReadMe.txt @@ -21,7 +21,7 @@ There are two system variables that must be set manually since the M1 Macs do no automatic parameter settings by means of the sysctl.conf file present in the download. Type these commands - you will be asked for your password which will not be echoed: - sudo sysctl -w kern.sysv.shmmax=104857600 + sudo sysctl -w kern.sysv.shmmax=52428800 sudo sysctl -w kern.sysv.shmall=25600 It is important to note that these parameter settings will not survive a reboot. If you @@ -46,7 +46,7 @@ change has been made by typing: sysctl -a | grep sysv.shm -If shmmax is not shown as 104857600 then contact me since WSJT-X will fail to load with +If shmmax is not shown as 52428800 then contact me since WSJT-X will fail to load with an error message: "Unable to create shared memory segment". You can now close the Terminal window. It will not be necessary to repeat this procedure @@ -105,10 +105,23 @@ would probably be corrupted.) It is possible to run two instances of WSJT-X simultaneously. See "Section 16.2 Frequently asked Questions" in the User Guide. If you wish to run more than two instances -simultaneously, the sysctl.conf file needs to be modified. Please email me with your -requirements and I will provide a replacement sysctl.conf to suit. +simultaneously, the shmall parameter in the sysctl.conf file needs to be modified as follows. + +The shmall parameter determines the amount of shared memory which is allocated in 4096 byte pages +with 50MB (52428800) required for each instance. The shmall parameter is calculated as: +(n * 52428800)/4096 where 'n' is the number of instances required to run simultaneously. If +you are using an Intel Mac, modify the shmall parameter in the sysctl.conf file using a Mac editor +and then install in the /etc directory using the installation procedure described above for an +Intel Mac. Remember to reboot your Mac afterwards. + +If you are using an M1 Mac, then simply issue the sudo sysctl -w kern.sysv.shmall=xxx command where +xxx is the new value of shmall that is required. + +Note that the shmmax parameter remains unchanged. This is the maximum amount of shared memory that +any one instance is allowed to request from the total shared memory allocation and should not +be changed. If two instances of WSJT-X are running, it is likely that you might need additional audio devices, from two rigs for example. Visit Audio MIDI Setup and create an Aggregate Device -which will allow you to specific more than one interface. I recommend you consult Apple's guide +which will allow you to specify more than one interface. I recommend you consult Apple's guide on combining multiple audio interfaces which is at https://support.apple.com/en-us/HT202000. diff --git a/Darwin/sysctl.conf b/Darwin/sysctl.conf index 4d6cf69e0..09ab36540 100644 --- a/Darwin/sysctl.conf +++ b/Darwin/sysctl.conf @@ -1,4 +1,4 @@ -kern.sysv.shmmax=104857600 +kern.sysv.shmmax=52428800 kern.sysv.shmmin=1 kern.sysv.shmmni=128 kern.sysv.shmseg=32 diff --git a/lib/qra/q65/q65sim.f90 b/lib/qra/q65/q65sim.f90 index 5c7efb1a4..61b36b0d8 100644 --- a/lib/qra/q65/q65sim.f90 +++ b/lib/qra/q65/q65sim.f90 @@ -9,10 +9,13 @@ program q65sim integer*2 iwave(NMAX) !Generated waveform integer itone(85) !Channel symbols (values 0-65) integer y(63) !Codeword + integer istart !averaging compatible start seconds + integer imins !minutes for 15s period timestamp + integer isecs !seconds for 15s period timestamp real*4 xnoise(NMAX) !Generated random noise real*4 dat(NMAX) !Generated real data complex cdat(NMAX) !Generated complex waveform - complex cspread(0:NMAX-1) !Complex amplitude for Rayleigh fading + complex cspread(0:NMAX-1) !Complex amplitude for Rayleigh fading complex z real*8 f0,dt,twopi,phi,dphi,baud,fsample,freq character msg*37,fname*17,csubmode*1,arg*12 @@ -26,6 +29,7 @@ program q65sim print*,' f1 = Drift or Doppler rate (Hz/min)' print*,' Stp = Step size (Hz)' print*,' Stp = 0 implies no Doppler tracking' + print*,' Creates filenames which increment to permit averaging in first period' go to 999 endif call getarg(1,msg) @@ -94,14 +98,17 @@ program q65sim h=default_header(12000,npts) write(*,1004) -1004 format('File TR Freq Mode S/N Dop DT f1 Stp Message'/70('-')) +1004 format('File TR Freq Mode S/N Dop DT f1 Stp Message'/70('-')) - do ifile=1,nfiles !Loop over requested number of files - if(ntrperiod.lt.60) then - write(fname,1005) ifile !Output filename -1005 format('000000_',i6.6,'.wav') + do ifile=1,nfiles !Loop over requested number of files + istart = (ifile*ntrperiod*2) - (ntrperiod*2) + if(ntrperiod.lt.30) then !wdg was 60 + imins=istart/60 + isecs=istart-(60*imins) + write(fname,1005) imins,isecs !Construction of output filename for 15s periods with averaging +1005 format('000000_',i4.4, i2.2,'.wav') else - write(fname,1106) ifile + write(fname,1106) istart/60 !Output filename to be compatible with averaging 30-300s periods 1106 format('000000_',i4.4,'.wav') endif @@ -118,7 +125,7 @@ program q65sim sig=sqrt(2*bandwidth_ratio)*10.0**(0.05*snrdb) if(snrdb.gt.90.0) sig=1.0 write(*,1020) ifile,ntrperiod,f0,csubmode,snrdb,fspread,xdt,f1,nstp,trim(msgsent) -1020 format(i4,i6,f7.1,2x,a1,2x,f5.1,f6.2,2f6.1,i4,2x,a) +1020 format(i4,i6,f7.1,2x,a1,2x,f5.1,1x,f6.2,2f6.1,i4,2x,a) phi=0.d0 dphi=0.d0 k=(xdt+0.5)*12000 !Start audio at t=xdt+0.5 s (TR=15 and 30 s) diff --git a/widgets/SplashScreen.cpp b/widgets/SplashScreen.cpp index 42f828774..561733ccc 100644 --- a/widgets/SplashScreen.cpp +++ b/widgets/SplashScreen.cpp @@ -33,7 +33,7 @@ SplashScreen::SplashScreen () revision ()}.simplified () + "" "V2.0 has many new features.

" "The release notes have more details.

" - "Send issue reports to wsjtgroup@yahoogroups.com, and be sure to save .wav
" + "Send issue reports to https://wsjtx.groups.io, and be sure to save .wav
" "files where appropriate.

" "Open the Help menu and select Release Notes for more details.
" ""