w7sst / MorseRunner

Morse Runner Community Edition
Mozilla Public License 2.0
68 stars 12 forks source link

CWOPS CWT nonmember exchange not supported #143

Closed scotthibbs closed 1 year ago

scotthibbs commented 1 year ago

Description

The exchange for CWOPS is Members: First Name and CWOPS member number.
Non-members: First Name, and State/Province or DX Country prefix. Thus, my exchange should be "Scott IN"

Steps To Reproduce

  1. select CWOPS CWT contest
  2. Input in exchange "Scott IN"
  3. See error: "Invalid exchange: 'SCOTT IN' - expecting ' ' (e.g. DAVID 123).

Expected behavior

To practice a CWT without a number as in the real world.

Actual Behavior

I need to fake being a member of CWOPS to play.

Reproduces how often

100%

Version information

Additional context

I haven't received nonmember responses in MR... I see in the CWOPS.LIST file nonmembers but no country prefixes. "DK3WW,Uwe,2523,Kichendorf Germany DK3YD,Hans,,Muenchen Germany" so Uwe would send "Uwe 2523" and Hans would send "Hans DK" right? Does anyone in MR respond with their state if not a member? So does "KA2F,John,NJ,Eatontown NJ" send "John NJ" in MR now?

Also note: this would require the exchange labels for this contest to change from number to "#/state/prefix"

Can you help?

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

w7sst commented 1 year ago

Internally, it looks like CWOPS CWT Contest is a so-called Dual Exchange Contest, where the second exchange is either a number or a location (state/province/dx entity). We recently introduced a new class, TDualExchContest, to serve as a base class for the ARRL DX Contest. It looks like we need to do the same thing for this contest.

I initially looked to see if we could do a quick change the allow Scott to send his state, but the CWT Member number is currently being carried around as a numeric value and we need support for the string. It would be easiest to handle this by deriving from the TDualExchContest class.

w7sst commented 1 year ago

Thinking about this further, I now realize that the exchange value is determined by the user's membership with CWOPS and not determined by a callsign using DXCC information. This implies that Exchange 2 for CWT Contest is either numeric or a string, thus we will need to modify the field definition to be numeric or string. Currently, the member number is stored as a numeric value (I think). We will have to use the ascii Exch2 field to support this exchange value. Also modify the behavior of etCwopsNumber (p/o TExchange2Type).

w7sst commented 1 year ago

I am starting to code this up now. I will convert the CWOPS Number field into a generic field to support either Numeric or Character fields. I am also considering dropping the Settings | CWOps Number and removing /CWOps from Settings | HST/CWOps Operator Menu items. These are no longer needed given the new Exchange Edit field on the main screen.

I'll post a test version when I finish this conversion.

@scott @ct7aup

w7sst commented 1 year ago

Hi @scott and @Ct7aup, I have done the following:

Here is a screen shot... image

Let me know what you think. I'll get a preliminary build out in the next couple of days.

Thanks and 73, Mike.

cc: @K6OK

WR7Q commented 1 year ago

Hi Mike, That looks good so far. Where do I go to test the update? Also, I notice you are not returning the entered call sign to hear on 1.82. 73, Bob WR7Q

w7sst commented 1 year ago

Also, I notice you are not returning the entered call sign to hear on 1.82.

Hi Bob, @WR7Q Can you explain your comment above a little more? I don't understand. Tnx, Mike

w7sst commented 1 year ago

I all, Here is a link to download the changes to support non-member CWT exchanges. This includes a modified CWOPS.LIST file and enhancements to MRCE. Let me know what you think. I will put this code into code review next.

73, Mike

@WR7Q @scotthibbs @ct7aup

WR7Q commented 1 year ago

Hi Mike,

Sorry, I have been in a CW Class.

When you put in the call sign like w1aw, you should get a response of w1aw, I am only getting the 599 and exchange to enter.

It would probably be more effective if we could either chat on the phone or do a zoom mtg.

73, Bob WR7Q CWA Admin 8018796566

On Thu, Jan 26, 2023 at 12:38 PM Mike Brashler @.***> wrote:

Also, I notice you are not returning the entered call sign to hear on 1.82.

Hi Bob, @WR7Q https://github.com/WR7Q Can you explain your comment above a little more? I don't understand. Tnx, Mike

— Reply to this email directly, view it on GitHub https://github.com/w7sst/MorseRunner/issues/143#issuecomment-1405518305, or unsubscribe https://github.com/notifications/unsubscribe-auth/ANIHTM5PHEL5EY265PNVKI3WULHDJANCNFSM6AAAAAASN2PDRY . You are receiving this because you were mentioned.Message ID: @.***>

WR7Q commented 1 year ago

Mike,

183 is still doing the same thing...

73, Bob WR7Q CWA Admin

On Thu, Jan 26, 2023 at 2:21 PM Bob Carter @.***> wrote:

Hi Mike,

Sorry, I have been in a CW Class.

When you put in the call sign like w1aw, you should get a response of w1aw, I am only getting the 599 and exchange to enter.

It would probably be more effective if we could either chat on the phone or do a zoom mtg.

73, Bob WR7Q CWA Admin 8018796566

On Thu, Jan 26, 2023 at 12:38 PM Mike Brashler @.***> wrote:

Also, I notice you are not returning the entered call sign to hear on 1.82.

Hi Bob, @WR7Q https://github.com/WR7Q Can you explain your comment above a little more? I don't understand. Tnx, Mike

— Reply to this email directly, view it on GitHub https://github.com/w7sst/MorseRunner/issues/143#issuecomment-1405518305, or unsubscribe https://github.com/notifications/unsubscribe-auth/ANIHTM5PHEL5EY265PNVKI3WULHDJANCNFSM6AAAAAASN2PDRY . You are receiving this because you were mentioned.Message ID: @.***>

K6OK commented 1 year ago

@WR7Q -- The official exchange in CWT is

CQ CWT W1AW K9DOG K9DOG HIRAM 123 SPOT 456 TU W1AW QRZ

Are you suggesting Spot should send W1AW SPOT 456? Some operators might do that but it's not what the rules ask for.

73 Jim K6OK

WR7Q commented 1 year ago

When I enter a call sign, I should hear it back like it used to and does in 1.68. It was working...now it is not.

73, Bob WR7Q CWA Admin

On Thu, Jan 26, 2023 at 5:31 PM K6OK @.***> wrote:

@WR7Q https://github.com/WR7Q -- The official exchange in CWT is

CQ CWT W1AW K9DOG K9DOG HIRAM 123 SPOT 456 TU W1AW QRZ

Are you suggesting Spot should send W1AW SPOT 456? Some operators might do that but it's not what the rules ask for.

73 Jim K6OK

— Reply to this email directly, view it on GitHub https://github.com/w7sst/MorseRunner/issues/143#issuecomment-1405857702, or unsubscribe https://github.com/notifications/unsubscribe-auth/ANIHTM673WHLEKHJGUMJPRDWUMJOLANCNFSM6AAAAAASN2PDRY . You are receiving this because you were mentioned.Message ID: @.***>

w7sst commented 1 year ago

Bob, Can you include details on which Contest you are running, what you have entered in the "Exchange" field, what mode (Pile-up vs. Single Call) you are running and a text example of what MR sends to you (what you hear) and what you are typing and expecting to type. This would help me understand better and be able to repeat it.

How are you moving between fields? Are you using "Enter" key, or tab or spacebar? Are you using function keys or other special keys (e.g. ';', etc.)?

Thank you for the extra detail. If this is a bug, we will want to create a separate issue for this.

I'll be available for a zoom call tomorrow mid-day (PST).

WR7Q commented 1 year ago

Hi Mike,

I am doing cq wpx, single call. When I enter the call, I expect to hear the call I entered...instead I am getting 599 and a nr.

Let's do a zoom call at 3pm PST? I will send you a link.

73, Bob WR7Q CWA Admin 8018796566

On Thu, Jan 26, 2023 at 7:03 PM Mike Brashler @.***> wrote:

Bob, Can you include details on which Contest you are running, what you have entered in the "Exchange" field, what mode (Pile-up vs. Single Call) you are running and a text example of what MR sends to you (what you hear) and what you are typing and expecting to type. This would help me understand better and be able to repeat it.

How are you moving between fields? Are you using "Enter" key, or tab or spacebar? Are you using function keys or other special keys (e.g. ';', etc.)?

Thank you for the extra detail. If this is a bug, we will want to create a separate issue for this.

I'll be available for a zoom call tomorrow mid-day (PST).

— Reply to this email directly, view it on GitHub https://github.com/w7sst/MorseRunner/issues/143#issuecomment-1405925943, or unsubscribe https://github.com/notifications/unsubscribe-auth/ANIHTM75ZYEDS3WOFJFTQDLWUMUHVANCNFSM6AAAAAASN2PDRY . You are receiving this because you were mentioned.Message ID: @.***>

w7sst commented 1 year ago

Bob, I think I found the problem. I think you have been mixing settings from an old MorseRunner.ini file with the new release.

Can you check your MorseRunner.ini file to see if you happen to have CallsFromKeyer=1 set in the [Station] section? If so, please remove this line or set the value to zero. When I set this value, I can reproduce your behavior. When I set the value to CallsFromKeyer=0, the callsign is sent before the exchange report.

Also, 1pm would work better for me.

WR7Q commented 1 year ago

Yes, that worked. I was being too clever and outsmarted myself.

Good fine. Thanks.

73, Bob WR7Q CWA Admin

On Fri, Jan 27, 2023 at 1:26 AM Mike Brashler @.***> wrote:

Bob, I think I found the problem. I think you have been mixing settings from an old MorseRunner.ini file with the new release.

Can you check your MorseRunner.ini file to see if you happen to have CallsFromKeyer=1 set in the [Station] section? If so, please remove this line or set the value to zero. When I set this value, I can reproduce your behavior. When I set the value to CallsFromKeyer=0, the callsign is sent before the exchange report.

— Reply to this email directly, view it on GitHub https://github.com/w7sst/MorseRunner/issues/143#issuecomment-1406171082, or unsubscribe https://github.com/notifications/unsubscribe-auth/ANIHTM3YSOJRHCYVM32BFSTWUOBC5ANCNFSM6AAAAAASN2PDRY . You are receiving this because you were mentioned.Message ID: @.***>