Open w7sst opened 4 months ago
The comment below is copied from the Pull Request/Review...
When running a simulation, sometimes a callsign is copied incorrectly and entered into the Callsign exchange entry field. After hitting Enter, the partial callsign is sent. The calling station will respond with a corrected callsign and optionally the exchange information.
There are two scenarios.
This condition can easily be created by following these steps:
F5
to send the partial callsign.osNeedCallNr
state.osNeedCallNr
The following messages are sent after receiving a partially-correct callsign from the user without an exchange. The first column shows the original messages and the second column shows the revised messages.
Original | Freq | Revised (v1.85) | Freq |
---|---|---|---|
DE <call> |
50% | DE <call> |
16.7% (1/6) |
DE <call> <call> |
50% | DE <call> <call> |
16.7% (1/6) |
. | . | <call> <call> |
16.7% (1/6) |
. | . | <call> <call> <exch> |
16.7% (1/6) |
. | . | <call> <exch> |
33.3% (1/3) |
The following is the new code showing the responses for this case (osNeedCallNr
).
// osNeedCallNr - They have sent an almost-correct callsign.
osNeedCallNr:
if (RunMode = rmHst) then
Result := msgDeMyCall1
else
case Trunc(R2*6) of
0: Result := msgDeMyCall1; // DE <my>
1: Result := msgDeMyCall2; // DE <my> <my>
2: Result := msgMyCall2; // <my> <my>
3: Result := msgMyCallNr2; // <my> <my> <exch>
4,5: Result := msgMyCallNr1; // <my> <exch>
end;
This condition can easily be created by following these steps:
Enter
to send the partial callsign and exchangeosNeedCall
state.osNeedCall
The following messages are sent after receiving a partially-correct callsign and exchange information from the user. The first column shows the original messages and the second column shows the revised messages. Notice the revised messages are now always sending the exchange. I suppose I should leave out the exchange on one of these.
Original | Freq | Revised (v1.85) | Freq |
---|---|---|---|
DE <call> <exch> |
50% | DE <call> <exch> |
16.7% (1/6) |
DE <call> <call> <exch> |
25% | DE <call> <call> <exch> |
16.7% (1/6) |
<call> <call> <exch> |
25% | <call> <call> <exch> |
33.3% (1/3) |
. | . | <call> <exch> |
33.3% (1/3) |
The following is the new code showing the responses for this case (osNeedCall
).
// osNeedCall - I have their Exch (NR), but need user to correct my call.
osNeedCall:
if (RunMode = rmHst) then
Result := msgDeMyCallNr1
else
case Trunc(R2*6) of
0: Result := msgDeMyCallNr1; // DE <my> <exch>
1: Result := msgDeMyCallNr2; // DE <my> <my> <exch>
2,3: Result := msgMyCallNr2; // <my> <my> <exch>
4,5: Result := msgMyCallNr1; // <my> <exch>
end;
Summary
When the user has copied only part of the simulated callsign, the station will respond by repeating its callsign and sometimes its exchange. When doing so, there are currently limited messages being returned. Actual contests use different and shorter messages as compared to the MRCE simulation. This change is related to Issue #314.
Motivation
Improved realism. One of the goals of MRCE is to create a realistic contest simulation. This change will improve the realism of the contest exchange when partial callsigns are entered.
Detailed Description
After the user enters a partially-correct callsign, the existing simulation will return the following messages:
Seasoned contesters will minimize the length of messages being sent by eliminating the
DE
and sending both corrected call and exchange information. To that end, we will add the following (shorter) messages:Both sets of response messages should be sent in a random manner with priority given to the shorter messages.
Additional context
I found this paper, Do's and Don'ts of CW Contesting and More Do’s and Don’ts in CW Contesting, written by Rob Brownstein, K6RB. It discusses recommended practices for CW Contesting. It was posted by the K1USN group who sponsor the weekly CWOPS SST Contest. I thought it was a good read.
On page 2 of the second article in the above link, it mentioned:
Based on the above, we should keep the exchange after the corrected callsign and increase the frequency of responses of this type. We also want to shorten the responses as mentioned in the article.
Tasks