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.

Discover SSDR's Handle

Member ✭✭
edited October 2017 in SmartSDR API
I am writing a client program program which responds to user inputs to SSDR.  I need to be able to discover SSDR's Handle so my client does not respond to inputs from other clients (such as a logging program).  Using SSDR version 2.
How can my client determine SSDR's Handle?
tnx and 73 - ****, W3OA

Welcome!

It looks like you're new here. Sign in or register to get started.

Answers

  • Member ✭✭
    edited October 2017
    ****,

    You do not say what programming language you are using.  All of my programs are written in VB.Net.  Below is a function that my SDRMonitor program uses to find th eSmartSDR client:

    =============================
        Private Function GetSmartSDRprocess() As Process
            Try
                Dim strProcess As String = Nothing
                Dim strCompare As String = "*SmartSDR.exe"
                Dim s As New ManagementObjectSearcher("SELECT * FROM Win32_Process")
                For Each obj As ManagementObject In s.Get()
                    strProcess = Trim(Replace(obj.Item("CommandLine"), Chr(34), ""))
                    If Not IsNothing(strProcess) Then
                        If strProcess Like strCompare Then
                            Return Process.GetProcessById(obj.Item("ProcessID"))
                        End If
                    End If
                Next
                Return Nothing

            Catch ex As Exception
                Return Nothing
            End Try
        End Function
    =============================

    73, Ray, K9DUR




  • Member ✭✭
    edited October 2017
    HI Ray -
    Looks like I wasn't specific enough in my question.
    For the client I'm using python running on a Raspberry Pi.
    I think your function assumes the client and SSDR are running on the same machine.
    The Handle I'm looking for is the one in the API that is in the prefix to status messages.
    73 - ****, W3OA
  • Member ✭✭
    edited October 2017
    ****,

    Yes, my function is for a program running on the same computer as the client & returns the Windows handle to the SmartSDR client process..

    -- 73, Ray, K9DUR
  • Administrator, FlexRadio Employee admin
    edited October 2017
    Today the only client handle that is exposed via the API is the client handle to your application (handles for other clients like SmartSDR are not shown).  This is currently being looked at as something we could change in a future API change.  Likely, we would offer a command that would result in a reply or status message that would detail all of the connected applications, their handles, and their program name (and perhaps ip/port for debugging).
  • Administrator, FlexRadio Employee admin
    edited October 2017
    I think you guys may be talking past each other.  I believe **** is talking about the client handle assigned to a radio client from the radio.

    This handle is used when sending status messages to indicate which client initiated the change the caused the status message to be sent.

    I think Ray is talking about a Windows handle to a Windows client application.
  • Member ✭✭
    edited October 2017
    Eric, you are exactly right. - 73, Ray, K9DUR

Leave a Comment