File: splitmsgcq.f90

package info (click to toggle)
jtdx 2.2.159%2Bimproved-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 75,336 kB
  • sloc: cpp: 38,503; f90: 31,141; python: 27,061; ansic: 11,772; sh: 409; fortran: 353; makefile: 232
file content (41 lines) | stat: -rw-r--r-- 1,145 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
subroutine splitmsgcq(decoded,dtx)
  
  use jt65_mod8 !  dynhint(300), dynhintcq(150), rxfreq(20), rxfchg(1), ninterval, freq
  
  character decoded*22,direction*2,callsign*6,grid*4

  direction=''; callsign=''; grid=''; 
  i1=index(decoded,' '); i2=index(decoded(i1+1:),' ')

  if(i2.eq.3) then
    direction=decoded(4:5)
    i2=i2+i1; i3=index(decoded(i2+1:),' '); i3=i3+i2
    if(len_trim(decoded(i2+1:i3-1)).gt.6) return
    callsign=decoded(i2+1:i3-1); grid=decoded(i3+1:i3+4)
    go to 2
  endif

  if(i2.gt.3) then
    direction='01' ! non-directional CQ message
    i2=i2+i1
    callsign=decoded(i1+1:i2-1); grid=decoded(i2+1:i2+4)
    go to 2
  endif

2 do i=1,300
    if(dynhintcq(i)%ninterval.lt.0) then
      dynhintcq(i)%ninterval=ninterval; dynhintcq(i)%direction=direction; dynhintcq(i)%callsign=callsign
      dynhintcq(i)%grid=grid; dynhintcq(i)%freq=freq; dynhintcq(i)%dt=dtx
      exit
    endif
  enddo

!do i=1,30
!print *, dynhintcq(i)%ninterval
!print *, dynhintcq(i)%direction
!print *, dynhintcq(i)%callsign
!print *, dynhintcq(i)%grid
!enddo

  return
end subroutine splitmsgcq