File: DXped_pseudo_code.txt

package info (click to toggle)
wsjtx 2.7.0%2Brepack-1
  • links: PTS, VCS
  • area: main
  • in suites: trixie
  • size: 70,440 kB
  • sloc: cpp: 75,379; f90: 46,460; python: 27,241; ansic: 13,367; fortran: 2,382; makefile: 197; sh: 133
file content (71 lines) | stat: -rwxr-xr-x 2,546 bytes parent folder | download | duplicates (9)
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
Auto-Sequencing algorithm for DXpedition station:

Start:
    CQMsg = "CQ KH1DX"   (or "CQ UP KH1DX", "CQ 116 KH1DX", etc.)
    TxMsg = CQMsg
    Ntry = 0
    QCALL = ""                                        # Callsign of current QSO partner
    go to Transmit

Transmit:
    TX                                                # (... takes 13.6 s)
    go to Receive

Receive:
    RX                                                # (... takes ~14 s)
    N = number of decodes                             # RxMsg[i], i=1,N
    if(N == 0)
        go to Transmit
    J = index of a reply from current QCALL           # RxMsg[J] = "KH1DX QCALL R<rpt>"

    if(QCALL == "")                                   # No QSO in progress
        Select new QCALL                              # Op chooses a caller
	if(QCALL == "")
	    TxMsg = CQMsg                             # No callers, we'll CQ again
    else                                              # QSO in progress
        if(J >= 1)                                    # Expected message was received
            log the QSO with QCALL
	    QCALL = ""
	    Select new QCALL                          # Op chooses a new caller
	    if(QCALL != "")
	        TxMsg = "73 NOW QCALL <rpt>"          # Start a new QSO
	    else
                TxMsg = "73 " + CQMsg                 # No callers, we'll CQ again
        else
            Ntry = Ntry + 1                           # Expected msg not received
	    if(Ntry <= NtryMax)
	        go to Transmit                        # Ask for a repeat
	    else
		QCALL = ""                            # Max tries exceeded, abort this QSO
	        Select new QCALL                      # Choose a new caller
	        if(QCALL != "")
	            TxMsg = "NIL NOW QCALL <rpt>"     # Start a new QSO
	        else
                    TxMsg = "NIL " + CQMSG            # No callers, we'll CQ again
    go to Transmit


Auto-Sequencing algorithm for those calling the DXpedition:

Start:
    TxMsg = "KH1DX MyCall"
    InQSO = false

Transmit:
    TX                                                # (... takes 13.6 s)
    go to Receive

Receive:
    RX                                                # (... takes ~14 s)
    if(RxMsg[i] contains "MyCall <rpt>")
        InQSO = true
        TxMsg = "KH1DX MyCall R<rpt>"
	go to Transmit

    if(RxMsg[i] contains "<rpt>")
        TxEnable = false
	go to Receive

    if(RxMsg[i] contains "CQ KH1DX")
        TxEnable = true
	go to Transmit