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

Add support for SST Contest #172

Closed
16 tasks done
scotthibbs opened this issue Jan 23, 2023 · 13 comments · Fixed by #186 or #198
Closed
16 tasks done

Add support for SST Contest #172

scotthibbs opened this issue Jan 23, 2023 · 13 comments · Fixed by #186 or #198
Assignees
Labels
contest New contest request enhancement New feature or request fixed - ready for validation bug is fixed; ready for validation

Comments

@scotthibbs
Copy link
Collaborator

scotthibbs commented Jan 23, 2023

Per discussions in [email protected] with Bruce, K1BG who is a CW Academy advisor for Beginners, it was requested to add the SST Contest.

Members of the K1USN Radio Club, who are also members of the CW Operators’ Club (CWops), run a one-hour slow speed CW “contest,” called the SST. For those who prefer a more leisurely CW pace or are new CW operators or contesters, this just might be what you're looking for!
Nov. 6th, 2022, US Daylight Savings Time ended
SST UTC times do not change
Fridays 20:00-21:00 UTC: 3-4pm EST, 12-1pm PST
Mondays 00:00-01:00 UTC: 7-8pm EST, 4-5pm Sunday

Unique contest behaviors

Bruce, K1BG started the discussion on our [email protected] here: https://groups.io/g/MorseRunnerCE/topic/96270434#14

Farnsworth:

In this discussion on groups it was mentioned that Farnsworth is used in this contest which is made for beginners.
We have previously discussed Farnsworth in our discussions section of GitHub here:
#114
And basically we decided to not add Farnsworth as this is not a learning Morse program with the sentiment that we maintain the original program's intent to be a contesting simulator.

But since this contest is a training contest for new operators who are learning utilizing Farnsworth timing, it was decided to add this feature for this contest only.

TASKS

  • Initial coding for the SST Contest. (w7sst)
  • Define format for the call history file (w7sst) - Same format as the N1MM file history file mentioned above.
  • Build a suitable call history file from actual logs from the contest. Perhaps Bruce, K1BG, and @K6OK can help put this together.
  • If time permits, add a basic Farnworth support for this contest only. Idea is to maintain Farnsworth speed at 20 wpm whenever user selects MR CW Speeds below 25wpm. Speeds above 25wpm will not use Farnsworth spacing - only when MR CW Speed is below 25wpm will the Farnsworth spacing be applied.
  • provide a pre-release build (w7sst). download v1.83-pr3 here
  • fix any bugs found. (w7sst)
  • create pull request and start code review (w7sst)
  • integrate pull request (w7sst)
  • simplify Exchange and TU reports (reported by Bruce, fixed by w7sst)
  • include user's callsign in final TU in SST contest (reported by Bruce, fixed by w7sst)
  • after validation, close this issue.
  • release notes (@scotthibbs)

Can you help?

Please let us know if you are available to help. (replace '[ ]' with '[x]' to affirm)

  • Yes, I'm available to discuss questions or alternatives regarding the implementation of this contest.
  • Yes, I'd like to review and provide feedback on the proposed solution.
  • Yes, I'm available to help test this contest. Let me know when it is ready for early testing.
  • Also Bruce, K1BG wished to help with testing this contest as well.
@scotthibbs scotthibbs added the contest New contest request label Jan 23, 2023
@scotthibbs scotthibbs added the enhancement New feature or request label Jan 23, 2023
@w7sst
Copy link
Owner

w7sst commented Feb 16, 2023

I have posted a review for the SST Contest. I'm finishing up the Farnsworth support for SST contest only. Once complete, I'll post a pre-release build so we can get some early user-testing on this SST Contest with Farnsworth support only. Please let me know if you are interested in helping with early testing. See Pull Request #186 .

@w7sst w7sst linked a pull request Feb 16, 2023 that will close this issue
w7sst added a commit that referenced this issue Feb 24, 2023
This is the base implementation of the K1USN Slow Speed Contest (SST).
It does not yet have the Farnsworth support (finishing that up now).
Once complete, I'll post a pre-release build of both. We can start with
this code review now.

There are two commits:
1. the base contest support, with tables and contest-specific code.
2. addition of casual conversation/greetings that is common for this SST
Contest.

Please take a look at both and provide your feedback, especially on the
second commit with the casual conversation/greeting support. I'm trying
to include a variety of greetings and closings that will be
representative of the SST Contest. Remember, the target audience for the
SST Contest is the new contester.

The original issue is #172 where Scott provided links to the contest
description.
@w7sst w7sst reopened this Feb 24, 2023
@w7sst
Copy link
Owner

w7sst commented Feb 24, 2023

Reopening this issue so we can give it some testing time.

@w7sst w7sst added the fixed - ready for validation bug is fixed; ready for validation label Feb 24, 2023
@w7sst
Copy link
Owner

w7sst commented Feb 26, 2023

I have posted MR v1.83-pr2 Pre-Release build here. Please give it a spin and give us your feedback.

@w7sst
Copy link
Owner

w7sst commented Mar 9, 2023

Feedback from Bruce @K1BG-Bruce received via email dated 3/8...

Mike,

Attached is the audio recording of what I am talking about. 7 minutes of MorseRunner, and the ONLY callsign identification is when the station calls CQ.

I hope this doesn’t sound negative. You are doing great with what you are doing, and I don’t want to come across that way.

I’m not sure why you are sending a pleasantry in SST at the end of the QSO – it’s a contest. Here is the description of a typical contact from the K1USN SST page:

Pi, K1RV sends: CQ SST K1RV
Rick, N1DC replies with: N1DC
Pi, K1RV replies with: N1DC Pi MA
Rick, N1DC replies with: GE Pi Rick MA
Pi, K1RV: replies with: GL Rick TU K1RV SST

None of the 73 or “dit dit” at the end. Typically, TU and Callsign is the ending. Here is the link to their webpage. http://www.k1usn.com/sst

I might even argue that there is no need for the “GE Pi” pleasantry (I have never done this is SST or any contest). But since it’s the sponsor’s recommendation, I’ll accept it.

One thing to keep in mind. The FCC does say that you should identify at the end of every transmission. Contesters sometimes stretch this a little. But the way the software is now, there is only an identification when calling CQ.

I want to check the minimum Farsnworth setting as well, but I am up to my neck in work, ... (removed rest of line).

But on a positive note, I’m very excited and appreciative about what YOU are doing. What you have done so far is so much better than what we had before. This is really exciting and I can’t express my gratitude enough.

Bruce, K1BG

@w7sst
Copy link
Owner

w7sst commented Mar 9, 2023

Hi Bruce,
Thank you for your feedback.

I’m not sure why you are sending a pleasantry in SST at the end of the QSO – it’s a contest...
None of the 73 or “dit dit” at the end. Typically, TU and Callsign is the ending.

  1. I'll remove the pleasantry at the end of the contest. I agree I had implemented more than was needed. I'll add the user's callsign for 10% of the qso endings. The code is now:
    msgTU:  // TU message sent by MyStation
      if Random < 0.9
        then SendText(AStn, 'TU')
        else SendText(AStn, 'TU <my>');

I might even argue that there is no need for the “GE Pi” pleasantry (I have never done this is SST or any contest). But since it’s the sponsor’s recommendation, I’ll accept it.

  1. I reduced the pleasantry sent by the remote DxStn (e.g. "GE Pi") to also 20% of the time. As I was listening to some of the SST Contests, I did not notice these pleasantries during my listening time. The leading 'R ' occurs 10% of the time to match CWT contest. This code is now...
    msgR_NR: // exchange msg sent by remote station in response to my exchange
    begin
        // leading 'R ' 10% of the time
        prefix := '';
        if Random < 0.10 then prefix := 'R ';

        // include a presentry greeting 20% of the time
        if Random < 0.20 then prefix := prefix + '<greeting> ';

        SendText(AStn, prefix + '<#>');
    end;

The last item to review is the response from the remote station in the case where they sometimes send the response two times (repeating their exchange).

  • The leading 'R ' occurs 10% of the time.
  • A pleasantry occurs 20% of the time.
  • The standard exchange ordering occurs 80% of the time and the duplicate ordering occurs 20% of the time.

This code is now:

    msgR_NR2: // sent by calling station (DxStation) as a repeated exchange (they send their exchange twice)
      begin
        // leading 'R ' 10% of the time
        prefix := '';
        if Random < 0.10 then prefix := 'R ';

        // include a presentry greeting 20% of the time
        if Random < 0.20 then prefix := prefix + '<greeting> ';

        // repeat exchange in usual order 80% of the time
        if Random < 0.80
          then SendText(AStn, prefix + '<#> <#>')
          else SendText(AStn, prefix + '<exch1> <exch1> <exch2> <exch2>');
      end;

@K1BG-Bruce, do these changes better represent what you are looking for?

[update 3/10 - fixed the path to this executable] I have updated the pre-release again. The updated down file is here. Version number of the contained executable is now 1.83-pr3.2.

@w7sst w7sst linked a pull request Mar 10, 2023 that will close this issue
@w7sst
Copy link
Owner

w7sst commented Mar 10, 2023

I decided to simplify further by eliminating the <name> <name> <state> <state> variation of the dual exchange. The remaining exchange is now of the form <name> <state> <name> <state> with an optional leading R. I chose this form because this is primarily a training contest and a duplicated exchange is most likely to follow the standard exchange order of <name> <state>.

I did not update the pre-release build with this last change.

@K1BG-Bruce
Copy link

K1BG-Bruce commented Mar 10, 2023 via email

@w7sst
Copy link
Owner

w7sst commented Mar 10, 2023

Hi Bruce,
Sorry, my bad. Here is the corrected link for my change. I keep learning the details of the tools we are using. Sorry for the confusion.

Path to updated 1.83-pr3.2: https://nextcloud.brashlerphoto.com/s/LFgw7zS34zGwna3

When you unzip this file, the folder will still say 1.83-pr3, but the executable will show v1.83-pr3.2 on the splash screen.

-Mike

@w7sst
Copy link
Owner

w7sst commented Mar 11, 2023

Leaving this open for validation.

@w7sst w7sst reopened this Mar 11, 2023
@w7sst w7sst mentioned this issue Mar 12, 2023
25 tasks
@K1BG-Bruce
Copy link

K1BG-Bruce commented Mar 12, 2023 via email

@w7sst
Copy link
Owner

w7sst commented Mar 12, 2023

Hi Bruce,
Thank you for your feedback. I will consider adding the callsign after each TU for this contest.

Have you been able to try the Farnsworth timing behavior with the SST Contest? Is this feature/behavior meeting your expectations for this contest as used by your students? We need help validating and closing out #188 .

Thank you,
Mike

@K1BG-Bruce

@w7sst
Copy link
Owner

w7sst commented Mar 13, 2023

I have changed the TU message to send the callsign: TU <callsign>.

I have upload the change as v1.83-rc2.

Bruce, thank you for the time on the phone today. It helped me understand what you are trying to do and why. I appreciate your input. I'm thrilled that this SST contest will help your CW students become future CW/contesting operators. I wish I had similar tools when I was learning CW 50 years ago.

Thank you and 73,
Mike

@K1BG-Bruce

@w7sst
Copy link
Owner

w7sst commented Mar 19, 2023

Approved by Bruce (see comment in #197)

@w7sst w7sst closed this as completed Mar 19, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
contest New contest request enhancement New feature or request fixed - ready for validation bug is fixed; ready for validation
Projects
None yet
3 participants