Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve QSO exchanges for partially correct callsigns #317

Merged

Conversation

w7sst
Copy link
Owner

@w7sst w7sst commented May 31, 2024

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.

1 - User sends partial call only (using F5 function key)

This condition can easily be created by following these steps:

  1. start a simulation in Single Call mode.
  2. Enter the calling callsign, but change the last letter.
  3. Hit F5 to send the partial callsign.
  4. This will now enter the osNeedCallNr state.
  5. The calling station will send a response with the corrected callsign and optional exchange.

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;

2 - User sends partial call and their exchange (using Enter key)

This condition can easily be created by following these steps:

  1. start a simulation in Single Call mode.
  2. Enter the calling callsign, but change the last letter.
  3. Hit Enter to send the partial callsign and exchange
  4. This will now enter the osNeedCall state.
  5. The calling station will send a response with the corrected callsign and exchange.

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;

@w7sst w7sst requested review from f6fvy, scotthibbs, WR7Q, jr8ppg and K6OK May 31, 2024 08:42
@w7sst w7sst self-assigned this May 31, 2024
@f6fvy
Copy link
Collaborator

f6fvy commented May 31, 2024

Does the build mentioned in PR #313 include these mods to be tested ?

@w7sst
Copy link
Owner Author

w7sst commented May 31, 2024 via email

@w7sst
Copy link
Owner Author

w7sst commented May 31, 2024

Hi Laurent,
Here is the link to build v1.85-dev.3 which includes changes from all three Pull Requests (#315, #316, #317).

@f6fvy

Base automatically changed from 314-nil-when-logging-a-partial-callsign to main June 9, 2024 22:01
@w7sst w7sst merged commit 8ee5bd5 into main Jun 9, 2024
@w7sst w7sst linked an issue Jun 9, 2024 that may be closed by this pull request
4 tasks
@w7sst w7sst deleted the 315-improve-qso-exchanges-after-entering-partial-callsign branch June 9, 2024 22:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Improve QSO exchanges after entering partial callsign
2 participants