-- v1.1 Dupes taken into account in the S&P mode -- v1.0 Initial version -- Send functions function sendCq() wtQso:ResetExchangeSent(); wtApp:SendFKey("F1"); -- Always use the function key end; function sendExchangeRun() if (wtQso:IsModePhone()) then wtApp:SendFKey("F2"); else wtKeyer:Play("$INSERT"); end; wtQso:SetExchangeSent(); end; function sendExchangeAgain() if (wtQso:IsModePhone()) then wtApp:SendFKey("F2"); else wtKeyer:Play("$F5 $F7"); -- $LOGGED ? end; end; function sendTu() if (wtQso:IsModePhone()) then wtApp:SendFKey("PLUS"); else wtKeyer:Play("$PLUS"); end; wtQso:ClearStatus(); end; function sendQuestionMark() wtQso:ResetExchangeSent(); if (wtQso:IsModePhone()) then wtApp:SendFKey("F7"); -- Again ? else wtKeyer:Play("$F7"); end; end; function sendMyCall() if (wtQso:IsModePhone()) then wtApp:SendFKey("F4"); -- My call else wtKeyer:Play("$F4"); end; end; function sendExchangeSAndP() if (wtQso:IsModePhone()) then wtApp:SendFKey("F2"); else wtKeyer:Play("$F2"); end; wtQso:SetExchangeSent(); end; -- ESM core code -- Return 0 (or return nothing) if we want the CR -- to be processed also by WT (ie log QSO) and -1 if not. if (wtQso:IsOperatingModeRun()) then -- Run if (wtContest:IsExchangeRequired()) then -- Usual contests if (wtQso:IsExchangeEmpty() or not wtQso:IsQsoApproved()) then if (wtQso:IsCallsignEmpty()) then sendCq(); else if (wtQso:IsCallsignRepeated()) then sendExchangeAgain(); else sendExchangeRun(); end; end; else if (wtQso:IsExchangeSent()) then sendTu() else sendExchangeRun(); end; end; else -- DXPed etc. if (not wtQso:IsQsoApproved()) then if (wtQso:IsCallsignEmpty()) then sendCq(); else if (wtQso:IsCallsignRepeated()) then sendExchangeAgain(); else sendExchangeRun(); end; end; else if (wtQso:IsExchangeSent()) then sendTu(); else sendExchangeRun(); end; end; end; else -- S&P : The automatic exchange fill (if enabled) is disabled by WT if ( (wtQso:IsExchangeEmpty() and wtContest:IsExchangeRequired()) or not wtQso:IsQsoApproved() ) then if (wtQso:IsCallsignEmpty()) then sendQuestionMark(); else if (not wtQso:IsDupe()) then -- Call only if not dupe sendMyCall(); end; end; else if (wtQso:IsExchangeSent()) then wtQso:ClearStatus(); return 1 -- Log it silently _Caution_ : embedded script returns 0 else if (not wtQso:IsDupe()) then -- Sent exchange only if not dupe sendExchangeSAndP(); end; end; end; end; return -1; -- This script overrides the Win-Test CR process