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 refer to the product documentation or check the Help Center for known solutions.
Need technical support from FlexRadio? It's as simple as Creating a HelpDesk ticket.

CWX TCP/IP API Details

Steve-N5AC
Steve-N5AC Community Manager admin
edited June 2020 in New Ideas
I've been asked for this a few times so here it is in the CWX TCP/IP API details:

Note that if you want to send a space "cwx send  " will not work -- you should send the ASCII character 0x7F in lieu of a space and it will be properly translated. 

Command Interface
  • cwx send <string> [<block>] appends the string to the buffer, optional block for client reference
    • response will be either character_index or character_index,block if a block is provided
  • cwx clear clears the buffer contents
    • response is the range of characters removed from the buffer
  • cwx wpm <speed> changes the speed of the CW for CWX
  • cwx delay <ms>
  • cwx erase <#chars> remove #chars from end of buffer
    • response is the range of characters removed from the buffer
  • cwx macro save <macro #> "<text>" save a macro with the text provided
  • cwx macro send <macro #> [<block>] send the macro previously saved
    • response will be either character_index or character_index,block if a block is provided
Status interface

S<handle>|cwx sent=<character_index> character_index indicates which character from the previously referenced character indexes have been just sent
S<handle>|cwx wpm=<wpm> break_in_delay=<ms> sent anytime wpm or delay are changed
S<handle>|cwx macro<macro#>="text" provide contents of macros at startup
S<handle>|cwx erase_start=<start> erase_stop=<stop> indicates erasure of indexes start to stop in the buffer (will not be sent)

Note: You must sub cwx all in order to get these status messages

Prosigns
  • To insert Prosign BT use =
  • To insert Prosign AR use +
  • To insert Prosign KN use (
  • To insert Prosign BK use &
  • To insert Prosign SK use $
1 votes

Open for Comments · Last Updated

Comments

  • Bob N7ZO
    Bob N7ZO Member ✭✭
    edited February 2017
    Steve,

    This looks like a very nice interface with clearing and speed changes.  The main thing I see missing is an escape sequence to allow the user to build their own prosigns.

    Does the .NET API support this functionality?

  • Steve-N5AC
    Steve-N5AC Community Manager admin
    edited February 2017
    Yes the same functionality is available in the .NET API (FlexLib).  We wanted to do a "SK" type of escape to build your own prosigns, but this didn't make it in v1.3.
  • Al_NN4ZZ
    Al_NN4ZZ Member ✭✭✭
    edited March 2017
    Steve,
    I believe currently the only CWX CAT command is KY for sending text.  Will there be any additional CAT commands such as:

    - Set the CWX speed
    - Send one of the saved macros (i.e. the text saved as an  Fkey )

    Or is this level of control only going to be available from the API?

    Regards, Al / NN4ZZ  
    al (at) nn4zz (dot) com 
  • Steve-N5AC
    Steve-N5AC Community Manager admin
    edited December 2016
    Only if they are supported in a larger community (they are common on many other radios).  We want folks to move away from CAT because it is such a poor excuse for an interface.
  • Al_NN4ZZ
    Al_NN4ZZ Member ✭✭✭
    edited December 2016
    Steve,
    Ok thanks, got it,  I can see where there might be some interest in users being able to trigger one of the saved macros from something like DDUtil.  If a few of the logging programs add support the API that would be a better move all the way around.   

    On a related note, I'm hoping Ed will support Log4OM in the SDR-BRIDGE.  It looks like a good program with a better chance of API support than some of the other general purpose loggers.

    Regards, Al / NN4ZZ  
    al (at) nn4zz (dot) com

  • Bob N7ZO
    Bob N7ZO Member ✭✭
    edited December 2016
    I am reminded of the old adage "If wishes were horses...".  :-)   CAT may be a poor interface, but it is ubiquitous.

    With the current CAT interface, I will still need my external K1EL Winkeyer to get the needed functionality with N1MM or N1MM+ for contesting.  Is N1MM likely to add support for the FlexLib interface in the near future?

    Adding a bit of extra functionality to the CAT interface (expecially where it emulates the K1EL Winkeyer) would allow them to use CWX now (or at least very quickly).
  • Ned K1NJ
    Ned K1NJ Member ✭✭
    edited February 2017

       Right now-  are there loggers that will key the 6000 directly from their text buffers without
    using external hardware (K1EL) or software interfaces (N4PY) or using the N1MM keying
    macros, CAT1ASC, etc.?
       While the N1MM macros work with at least two loggers, (N1MM, MIXW), they may not work with loggers that use simple text buffers.  E. g., N3FJP worked with PSDR.   PSDR had a CWX
    facility.  It used CAT to send text to a cw keying port defined by PowerSDR.  Most loggers use
    CAT, and pick up band, frequency, and mode, just not necessarily the Flex-keying compatible
    CAT.

        Yes, I know PSDR did the CW and that the CW engine is internal within the 6000.  I'm
    just providing some background.

         Is this the end of the line for logger-keying compatibility or just a temporary resting point in
    development?

    Ned,  K1NJ




  • Tim - W4TME
    Tim - W4TME Administrator, FlexRadio Employee admin
    edited March 2017
    SmartSDR has CWX and the KY CAT command for a logger to send text to the radio to be sent as CW as of v1.3.0
  • Ned K1NJ
    Ned K1NJ Member ✭✭
    edited June 2020

             Right.  I can't figure out how to make that work with a logger that doesn't support the
    N1MM command "CAT1ASC" as in CAT1ASC KY W4TME.

    Ned,  K1NJ

  • Tim - W4TME
    Tim - W4TME Administrator, FlexRadio Employee admin
    edited December 2016
    Does the logger have support for the KY command?  The CAT command syntax would be: KY0CQ CQ CQ DE W4TME;

    And the transmit slice needs to be in CW mode.
  • Ned K1NJ
    Ned K1NJ Member ✭✭
    edited December 2016

         Good, Tim.  I have a note off to the N3FJP team asking that question.

    Thanks,
    Ned,  K1NJ

  • Ned K1NJ
    Ned K1NJ Member ✭✭
    edited December 2016
                Well, no, N3FJP does not support KY.  The most common logger
    keying interface I found while searching for KY support was Winkey.  Most
    require simple hardware or software to work with the 6000.  Not much
    of an obstacle if a logger interface is desired.  I think I recall Al, NN4ZZ
    suggested a hardware device and Carl, N4PY has a software solution.

    Thanks for your info,

    Ned,  K1NJ

  • Steve-N5AC
    Steve-N5AC Community Manager admin
    edited December 2016
    We (FlexRadio) ran a contest with N3FJP a couple of weeks ago and we used a hardware WinKey USB connected to the PC and to the key input of the FLEX-6000.  It worked just fine.  Longer term, we are considering implementing an interface on the PC that looks like a WinKey interface, but is all software and relays commands through the CWX command in the SmartSDR API.
  • Ned K1NJ
    Ned K1NJ Member ✭✭
    edited December 2016
         Sounds good, Steve.  Come to think of it, this would be a good way to do it
    once remote LAN operation is in place.  A hardware keying device at the 6000
    site, away from the remote PC could be awkward.  Perhaps we should start a
    "Winkey Interface"  subject in order to gather support for your idea.

    Ned,  K1NJ
  • Ken - NM9P
    Ken - NM9P Member ✭✭✭
    edited December 2016
    You can give us simple access to CW from legacy logging programs like N3FJP by implementing direct keying through a virtual serial port (by toggling the RTS or DTR lines) like the dedicated PTT port does. That would make keying weight, speed and timing issues dependent upon the individual routine in the logger, (not optimal) but it would be functional until the writers change their programs to allow sending the KY command strings. Since N3FJP has been my main logging program for about 15 years, I would like to see this. I am starting to move to N1MM plus for contesting, but for normal operations and W1AW hunting, I still use N3FJP's ACLog.
  • Ned K1NJ
    Ned K1NJ Member ✭✭
    edited December 2016
      Ken,
            After looking into a few loggers, it doesn't seem likely that the authors
    are about to accommodate "KY".  On the other hand, most offer a Winkey
    interface and Steve is saying that Flex is considering that method.  We should
    support that effort.  It seems to do the most good for most the loggers.  I've
    been in touch with the N3FJP folks and they maintain that the only way they
    know to interface the 6000 with their product is a hardware interface. They
    gave no indication of any desire to change the software.
         However, a  COMX-COM1X[key dtr] SmartCAT port would do it for me too.

    Ned,  K1NJ
  • Ken - NM9P
    Ken - NM9P Member ✭✭✭
    edited December 2016
    I have also suggested, prodded, etc, a simple "key DTR/RTS" port since before the early release of the 6000's.  PowerSDR has it and I used it on my Flex 1500 until I got all the buffers/latency/timing sorted out to the point I could get good keying with the 1500.   

    But I would welcome a simple Winkey emulator port, as a potentially superior alternative if that will work.  It should send better CW than the DTR/RTS keying method, because it would not be limited to the timing routines in the logging program.  

    Either way, I hope that one or other option is forthcoming.

    N3FJP has his hands full keeping his excellent logging and contesting up to date in other arenas.  Since it is a husband and wife operation done in their spare time, I understand his time priorities.  He simply doesn't have the time to rewrite a whole new code routine into the line to allow KY functions, API interfacing, and virtual sound card access for voice keyers.  All of which I would dearly love to see in his software.  But any changes he makes would need to be reprogrammed into every single one of his many stand-alone contest logging programs.  This would take forever for a spare-time operation!


  • Stan VA7NF
    Stan VA7NF Member ✭✭✭
    edited December 2016

    Remote CW has been my nag since the initial public release and I recognize the exposure for bad character formation with DTR/RTS keying.

    So, if WinKeyer protocol can be supported by Flex and the loggers (N1MM in my case) then I'm in as well.  **always a but** But I'm not a keyboard CW fancier.

    Does this solution handle a remote key/bug/paddle connection?  A V2 of the FlexControl with keying support has been previously suggested.  Or a paddle to USB cable with key/paddle inline switch and sidetone generator?

    Stan

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.