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.

Spots API

John G3WGV
John G3WGV Member ✭✭
edited May 2020 in SmartSDR API
The new spots capability in V2.3.7 is brilliant and the API is ridiculously easy to implement. Within 2 minutes of seeing the FlexLib code I was happily sending pretend spots to Smart SDR using my API tester. Now to implement in my logging program!

Great job, all you dev guys. Attaboys all round I'd say.

73, John, G3WGV

Comments

  • Gary L. Robinson
    Gary L. Robinson Member ✭✭
    edited November 2018
    So where can I find the Spots API code??  Is the FlexLib info on the Wiki updated for it?  I see nothing about Spots API on the Wiki.

    ---Gary WB8ROL
  • John G3WGV
    John G3WGV Member ✭✭
    edited June 2018
    Yep, get the new FlexLib code at http://www.flexradio.com/downloads/flexlib_api_v2-3-7-zip/ Specifically, look at the RequestSpot function in Radio.cs and all the code in Spot.cs. Eric says the Wiki will be updated in due course but, as always, the FlexLib code is the documentation of record.


  • EA4GLI
    EA4GLI Member ✭✭✭
    edited November 2018
    A "simple" program to Telnet into Cluster server and feed SmartSDR with Spots would be great.
  • John G3WGV
    John G3WGV Member ✭✭
    edited July 2018
    That's an interesting idea, Salvador and yes, it would be quite easy to do.

    More usually the logging program makes the cluster/RBN connection and would be the place to put the spot feeder code, especially as the logger would also need to talk to the radio for frequency/mode control.

    Even so, I can see the value of your proposed program. Maybe I'll look into this a little later in the year when I have a bit more time. I already have most of the code fragments.
  • Dave AA6YQ
    Dave AA6YQ Member ✭✭
    edited November 2018
    I typically update the API documentation as Eric KE5DTO answers my questions, but since the Spot function was under the alpha test cone of silence, I didn't do that this time.

    Since DXLab's Commander maintains a table of active DX stations with metadata for each (from where spotted, grid square, eQSL and LoTW participation, etc) is was as John G3WGV said very easy to display callsigns on SmartSDR using the API Spot command. However, if you're working from a raw spot feed, there's a bit more work to do; you don't want the same callsign to appear 4 times, each separated by a few hundred hertz....
  • K1DBO
    K1DBO Member ✭✭✭
    edited June 2018
    I guess some might argue, but Slice Master is pretty simple and makes telnet connections to cluster servers and sends the spots to the radio.  Of course it does a bit more too, but it's not all that hard to ignore the extra features.
  • John G3WGV
    John G3WGV Member ✭✭
    edited June 2018
    Hi Dave,

    Yes, absolutely with you on that. I do the same thing on my logging program and you're right, any spot feeder program would have to do the same thing. Of course both of us do already have that code...
  • Jeff | VA2SS
    Jeff | VA2SS Member
    edited August 2019
    It shoulD be great to have the telnet feature embedded into smartsdr.... especially the maestro. ÙùI don’t use a PC.... I don’t want to install a PC in the shack to only have spots on the Maesto display. 73 de Jeff | VA2SS
  • k3Tim
    k3Tim Member ✭✭✭
    edited May 2020
    For a Maestro or M modrl user could one program a Raspberry pi to telnet then feed the Spots? In looking at the code, as suggested, it would appear a Pi could take a short-wave schedule and "spot" SW stations. One could highlight in a certain color those in languages the user understands. The question is can the Pi call the API and not be bound to Windows? k3Tim/b
  • Dave AA6YQ
    Dave AA6YQ Member ✭✭
    edited June 2018
    Yes.

    SmartSDR will process properly-formed API calls it receives via TCP, no matter what hardware or software was used to generate those calls.
  • Dave AA6YQ
    Dave AA6YQ Member ✭✭
    edited July 2018
    SmartSDR 2.3.7 is only a few days old, but I'd like to suggest that the Spot API be extended in a future version to allow the optional specification of a background color for each callsign. This would make it possible to depict each callsign's known QSLing behavior: via eQSL, via LoTW, both, or neither.
  • k3Tim
    k3Tim Member ✭✭✭
    edited June 2018
    Very cool. Thanks Dave..
  • IW7DMH, Enzo
    IW7DMH, Enzo Member ✭✭
    edited June 2019
    A "simple" program to Telnet into Cluster server and feed SmartSDR with Spots would be great.

    I just did it while I was waiting for 2.3. I am not in any Alfa/Beta testing group so I started from the end: I gave a look at N1MM docs and got the spot xml definition.
    My small program, I jokingly called H-Spot, simply can connect to multiple telnet clusters and send each spot to the Flex UDP port and to a TCP (aggregator) port. It worked fine from the beginning. Now I am having some troubles with the duplicate-spot issue (see another thread) but I am going to solve it.

    https://www.dropbox.com/s/tyx2nbk42cv5exq/H-Spot.exe?dl=0

    Having said this, I consider SliceMaster the best option. I just would suggest Donald to start the development of its own (embedded) skimmer. Each time I make a band change, Windows remember me CWSkimmer is a bit out of date: I get a nice "Violation Error" and I can't understand why CW skimmer need to be restarted each time (this don't happen if you use SDR-Bridge). This is very annoying expecially during contest operations.
    Anyway so far so good, let's see what will happen in July Iota contest. 
    73' Enzoiw7dmh
     
  • K1DBO
    K1DBO Member ✭✭✭
    edited July 2018
    Hi Enzo,

    I'm not sure about the "violation error", but CW Skimmer does have trouble sometimes.  You might have a zombie CW Skimmer hanging around that is causing you trouble.   Try a reboot to see if it clears up.

    The CW Skimmer restart is by product of a Slice Master feature and a quirk of the Flex API.  Slice Master binds each CW Skimmer instance to particular slice.  If the slice is removed, Slice Master will stop the associated CW Skimmer.  If the slice is newly created, Slice Master will start a CW Skimmer for it.  Most of this time, this is a good thing.

    But, depending on how you change bands, Flex might first destroy the slice then create a new one.  This often happens if you use the "Band" button on the panafall (left pop-out) menu.  If, instead, you change bands by typing the frequency into the slice flag in SSDR, the slice will not be destroyed/created and CW Skimmer wont need to be restarted.

    --Don
  • EA4GLI
    EA4GLI Member ✭✭✭
    edited June 2018
    Grazie mille Enzo!
  • Tim - W4TME
    Tim - W4TME Administrator, FlexRadio Employee admin
    edited June 2018
    Dave, there is already a color attribute for spots.  Reach out to Eric or Abed about it.
  • K1DBO
    K1DBO Member ✭✭✭
    edited June 2018
    Tim,

    Dave is asking about background color, not text color.  This request was made and rejected a few times on the Alpha list.

    --Don

  • Tim - W4TME
    Tim - W4TME Administrator, FlexRadio Employee admin
    edited June 2018
    Added as feature request #6451
  • Bill -VA3WTB
    Bill -VA3WTB Member ✭✭✭
    edited June 2018
    I wonder if SSDR thin client would work with embedded telnet?
  • Dave AA6YQ
    Dave AA6YQ Member ✭✭
    edited July 2018
    Another Spot API extension: when the user clicks on a callsign in SmartSDR, send a TCP message reporting the details. This would enable client applications to perform callbook lookups, check award need, rotate antennas, and populate logging windows.
  • K1DBO
    K1DBO Member ✭✭✭
    edited July 2018
    Dave,

    The API currently sends a "triggered" status message when the user clicks a spot in SSDR.

    --Don

  • Dave AA6YQ
    Dave AA6YQ Member ✭✭
    edited July 2018
    Thanks, Don!
  • Dave AA6YQ
    Dave AA6YQ Member ✭✭
    edited July 2018
    The API currently only sends a triggered status message when the user clicks a callsign in SmartSDR if the (undocumented) 

    sub spot all

    command has been issued.

    Thanks to Eric KE5DTO...

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.