Welcome to the new FlexRadio Community! Please review the new Community Rules and other important new Community information on the Message Board.
If you are having a problem, please check the Help Center for known solutions.
Need technical support from FlexRadio? It's as simple as Creating a HelpDesk ticket.

CWX erase anomaly

Mario_DL3LSM
Mario_DL3LSM Member ✭✭
edited July 2017 in SmartSDR API
Hi there,

I'm playing with issuing "cwx" commands these days and discovered a behavior I don't understand.

When I issue a send command (like 'C19|cwx send "CQ DE DL3LSM" 1' - spaces as 0x7f) I get the expected return (like 'R19|0|170,1'). This is ok..

Then I issue an erase command while the radio is sending the string for erasing the last character ('C20|cwx erase 1') the radio returns the expected 'R20|0|181,181'..

But then the radio stops immediately like it would when I issue an 'cwx clear' command with a response indicating the a range of erase character which where not already sent..

I would expect that the radio continues transmitting and sends all characters but not the last one ("CQ DE DL3LS")..

What do I miss here??

Thanks and 73
Mario, DL3LSM

Answers

  • Eric-KE5DTO
    Eric-KE5DTO Administrator, FlexRadio Employee admin
    edited July 2017
    I just tried this here and see the same issue.  This looks like a bug.  I've entered this is in our system as #4542.  Thanks for finding this and reporting it.
  • Eric-KE5DTO
    Eric-KE5DTO Administrator, FlexRadio Employee admin
    edited March 2017
    We found the problem here and have addressed it internally.  The fix will be included in the next release.  Thanks again for reporting this.
  • Mario_DL3LSM
    Mario_DL3LSM Member ✭✭
    edited March 2017
    Thanks Eric, I'm looking forward to the fix.. 73, Mario
  • Mario_DL3LSM
    Mario_DL3LSM Member ✭✭
    edited July 2017
    Hi Eric,

    there is another thing I discovered while playing with CWX.. If you send a string and issue "cwx clear" while the radio is in the middle of transmitting a character the transmit stops immediately which is what it is supposed to do.. BUT the radio has already informed the client that this character was sent (via "cwx sent=<character_index>").. Which is a incorrect information as the character was not transmitted completely.. Is there a reason that the status message about the sent character is sent at the beginning of the transmission and not at the end??

    You can test this best if you transmit really slow (10 WPM or so)..

    Thanks and 73
    Mario, DL3LSM

  • Eric-KE5DTO
    Eric-KE5DTO Administrator, FlexRadio Employee admin
    edited March 2017
    What version are you using?  We changed the order of this so that the char sent message comes immediately following the final element of the character in v1.9.8 (as opposed to right as the character begins being sent).  I can't tell if this is what you mean or if you're talking about the clear in particular.

    If you mean the clear, consider that we must prepare the next character while the current character is still sending to do appropriate timing calculations.  I suspect that depending on the timing, you may get a "sent" message instead of an erase for that character depending on where that character is in the queue when the clear command is executed.
  • Mario_DL3LSM
    Mario_DL3LSM Member ✭✭
    edited March 2017
    Hi Eric,

    I'm using the latest version 1.10.16.

    To make myself more clear here is my test scenario: Setting CW speed really slow and then send a long message using "cwx send"
    This is what I'm getting from the radio (debug output from my app):

    messageQueuedEventHandler: sequence = 0, block index = 1

    This is to expected. Block index was issued by me and the radio starts with sequence/index 0

    Immediately after issuing the send command I issue "cwx clear" while transmitting of the first character has just started but not finished (first dash of a C). This is what I'm getting from the radio:

    eraseSentEventHandler: start index = 1, stop index = 32

    charSentEventHandler: sequence index = 0

    So even if only one dash of the character went out I get the information that the character was sent. A client has no chance to know that this character was actually not sent (completely)..

    Hope this helps.

    Thanks and 73

    Mario, DL3LSM

  • Eric-KE5DTO
    Eric-KE5DTO Administrator, FlexRadio Employee admin
    edited March 2017
    Understood.  This is behaving exactly as I would expect.  The char sent signifies that it was started at all, not that it was completed.
  • Mario_DL3LSM
    Mario_DL3LSM Member ✭✭
    edited March 2017
    Thanks Eric.. I've read in your comment "We changed the order of this so that the char sent message comes immediately following the final element of the character in v1.9.8 (as opposed to right as the character begins being sent)." from above that this was the old behavior but from 1.9.8 you changed it that the sent message comes when the character is transmitted completely..
  • Eric-KE5DTO
    Eric-KE5DTO Administrator, FlexRadio Employee admin
    edited March 2017
    Ahh.  I see the confusion now.  This is true EXCEPT when the character in process is aborted/cleared.
  • Mario_DL3LSM
    Mario_DL3LSM Member ✭✭
    edited March 2017
    Hi Eric,

    ok, I see.. To check some timing I now waited until the first character was sent completely (at very slow speed) and issued the clear in the pause between characters.. Same sequence: the erase message comes first and then the sent message for the first character.. I would have expected a swapped sequence: the character sent message first (as the character was completed) and then the erase message caused by the clear command.. So I see no real way for a cwx client to detect the not (completely) sent characters..

    73, Mario DL3LSM
  • Eric-KE5DTO
    Eric-KE5DTO Administrator, FlexRadio Employee admin
    edited March 2017
    I think it is accurate to say that with the current design, when a cwx clear is sent, a client cannot know how much of the last character that was reported as sent actually went out over the air.
  • Mario_DL3LSM
    Mario_DL3LSM Member ✭✭
    edited March 2017
    Ok, so I'll leave that topic now.. :-)

    Thanks for your help and 73
    Mario, DL3LSM

  • Eric-KE5DTO
    Eric-KE5DTO Administrator, FlexRadio Employee admin
    edited March 2017
    No problem and sorry it took that long for us to get on the same page.

Leave a Comment

Rich Text Editor. To edit a paragraph's style, hit tab to get to the paragraph menu. From there you will be able to pick one style. Nothing defaults to paragraph. An inline formatting menu will show up when you select text. Hit tab to get into that menu. Some elements, such as rich link embeds, images, loading indicators, and error messages may get inserted into the editor. You may navigate to these using the arrow keys inside of the editor and delete them with the delete or backspace key.