diff --git a/DxOper.pas b/DxOper.pas index 2899b5f..2f9c647 100644 --- a/DxOper.pas +++ b/DxOper.pas @@ -251,8 +251,21 @@ procedure TDxOperator.DecPatience; Parameter AValue is an optional Patience value. If AValue > 0, Patience is set to this value; + else if Patience=FULL_PATIENCE, no changes; else if RunMode = rmSingle, Patience is set to 4; otherwise Patience is incremented by 2 (up to maximum of 4). + + Note: When MorePatience was introduced in May 2024, a bug (Issue #370) was + introduced causing the DxStation to not send an 'R' after the user corrected + a callsign. The case involved the user sending a corrected callsign using + the Enter key while leaving the exchange fields blank (user sends + ' ?'. In this case, the DxOperator.MsgReceived function + would call MorePatience for the '?' and the Patience value was set to 4. + This caused DxOperator.GetReply() to send the wrong response: + DxOperator.GetReply(osNeedEnd, Patience=5) --> 'R ' + DxOperator.GetReply(osNeedEnd, Patience=4) --> '' + To fix this problem, MorePatience will maintain an existing Patience value + of 5 (FULL_PATIENCE) and not set it to 4. Resolved in October 2024. } procedure TDxOperator.MorePatience(AValue: integer); begin @@ -260,10 +273,13 @@ procedure TDxOperator.MorePatience(AValue: integer); if AValue > 0 then Patience := Min(AValue, FULL_PATIENCE) - else if RunMode = rmSingle then - Patience := 4 - else - Patience := Min(Patience + 2, 4); + else if Patience < FULL_PATIENCE then + begin + if RunMode = rmSingle then + Patience := 4 + else + Patience := Min(Patience + 2, 4); + end; end; @@ -419,7 +435,7 @@ procedure TDxOperator.MsgReceived(AMsg: TStationMessages); osNeedNr, osNeedCall, osNeedCallNr, osNeedEnd: State := osFailed; end; Exit; - end; + end; if msgHisCall in AMsg then case IsMyCall(Tst.Me.HisCall, True) of diff --git a/Readme.txt b/Readme.txt index 0649557..eeec9bc 100644 --- a/Readme.txt +++ b/Readme.txt @@ -2,7 +2,7 @@ Contest Simulator freeware - Version 1.85 - ARRL Sweepstakes Contest + Version 1.85.1 - ARRL Sweepstakes Contest The sixth release of the Morse Runner Community Edition Copyright (C) 2004-2016 Alex Shovkoplyas, VE3NEA @@ -314,6 +314,9 @@ SUBMITTING YOUR SCORE VERSION HISTORY +Version 1.85.1 (October 2024) + - DxStation now sends 'R' after callsign correction (W7SST) + Version 1.85 (September 2024) - Add ARRL Sweepstakes Contest (W7SST)